- •Оглавление
- •Билет 1: Понятия о структурном программировании
- •Билет 2: Моделирование стандартных управляющих структур
- •Билет 3: структура программы
- •Билет 4: организация (структура) модуля
- •Билет 5: Переменные
- •Билет 6: Система типов языка
- •Билет 7: Арифметические типы языка c
- •Билет 8: Константы
- •Билет 9: КонстантныеобъектывязыкеСи.
- •Билет 10: Константные объекты
- •Билет 11. Переменные, понятие об объекте, lvalue и rvalue выражения.
- •Билет 12. Время жизни переменных.
- •Билет 15. Операторы. Приоритет и ассоциативность операторов.
- •Билет 19: Побочные эффекты в языке Си.
- •Билет 20: Организация функций. Определение функций
- •Билет 25: Инструкция If…else. Программирование разветвлений.
- •Билет 26: Инструкция switch и организация разветвленных алгоритмов.
- •Билет 27: Циклические алгоритмы, классификация, функциональная схема
- •Билет 28: Циклические инструкции.
- •Билет 29: инструкция for и арифметические циклы
- •Билет 30: Инструкция while и do...While, интерационные циклы
- •Билет 31: Циклы с выходом. Бесконечные циклы
- •Билет 32. Организация вложенных циклов
- •Билет 33: Массивы. Определение и инициализация одномерных массивов
- •Билет 34. Массивы. Определение и инициализация двумерных массивов
- •Билет 35. Связь указателей и массивов
- •Билет 40. Указатели. Определение типизированных и нетипизированых указателей. Модель, используемая при работе с указателями. Операции с указателями.
- •Билет 41: Операции с указателями
- •Билет 42. Использование указателей для возврата из функции через параметры
- •Билет 43. Указатели на функцию. Определение. Операции. Использование в параметрах функции
- •Билет 44. Типичные ошибки при работе с массивами
- •Билет 45. Массив указателей, динамическая матрица
- •Билет 46. Понятие некорректного указателя.
- •Билет 47. Организация строк. Общие сведения
- •Билет 48. Ввод/вывод строк
- •Void funk(“Kozin”); - при этом ничего не возвращается. Данная запись используется довольно редко.
- •Билет 52. Организация динамического одномерного массива
- •Билет 53. Структуры. Определение типа структур. Определение переменных в структуре и инициализация. Операции со структурой
- •Билет 54. Обращение к полям структуры. Массивы структур
- •Билет 55. Использование структур при работе с функциями. Указатели на структуры
- •Билет 58: Файловый ввод-вывод. Символьный ввод-вывод в языке Си.
- •Синтаксис преобразования вывода
- •Билет 60: Файловый ввод-вывод. Строковый ввод-вывод в языке Си.
- •Билет 61: Файловый ввод-вывод. Блоковый ввод-вывод в языке Си.
- •Int fseek(file *f, long int колич_байт, int начало_отсчета);
Билет 15. Операторы. Приоритет и ассоциативность операторов.
Инструкция или оператор (англ. statement) — наименьшая автономная часть языка программирования; команда. Программа обычно представляет собой последовательность инструкций.Операторы можно условно разделить на несколько категорий:
Унарные – это операторы, которые предназначены для работы только с одним операндом. Например «x++» или «x--» или «–x».
Бинарные – операторы, которые предназначены для работы с двумя операндами. Например «a+b», «a*b».
Тернарные – Операторы, которые предназначены для работы с тремя операндами. Ярким примером является оператор условия «(a>b)?a:b».
Все операторы языка СИ могут быть условно разделены на следующие категории:
условные операторы,ловия if и оператор выбора switch;
операторыцикла («for», «while», «do while»);
операторыперехода («break», «continue», «return», «goto»);
другие операторы (оператор "выражение", пустой оператор).
Приоритеты операторов.----на таблице-->>
Билет 16. Арифметические операторы.
Арифметические операторы можно разделить на унарные и бинарные. К унарным относятся оператор «++», «--», «%»(вычисление целой части числа). К Бинарным можно отнести операторы «+», «-», «*», «/».
В унарных арифметических операторах нужно разделять префиксную и постфиксную форму записи. Например «x++» - постфиксная, а «++x» - префиксная.
Приведем 2 примера:
Первый пример:
int n=5;
printf("++n=%d\n",++n);
printf("n=%d\n",n);
В этом случае на экране мы увидим:
++n=6
n=6
Второй пример:
int n=5;
printf("n++=%d\n",n++);
printf("n=%d\n",n);
В этом случае на экране мы увидим:
n++=5
n=6
Билет 17: Операторы отношения и логические операторы.
В языке Си организованы операторы отношения и сравнивания чисел.
Операции Матем. Знач. Си Пример
Меньше << a<b
Меньше или равно ? <= a<=b
Больше>> a>b
Больше или равно ? >= a>=b
Равно = = a=b
Не равно ? != a!=b
ВАЖНО!!!
В Языке Си нету стандартного типа boolean. Для использования типа boolean организована специальная библиотека bool.h. Устроена она тоже очень интересно. Нету такого понятия как true и false. Есть понятие =0 (false) и !=0(true).
Билет 18: Логические выражения. Порядок вычисления логических выражений
Логическое выражение в программировании - конструкция языка программирования, результатом вычисления которой является «истина» или «ложь».
В большинстве HYPERLINK "http://ru.wikipedia.org/wiki/Язык_программирования"языков программирования среднего и высокого уровня определён набор встроенных HYPERLINK "http://ru.wikipedia.org/wiki/Операция_(программирование)"операций сравнения позволяющих строить «простые» логические выражения. Самыми распространёнными являются: равенство (==), не равно (!=), больше (>), меньше (<), больше или равно (>=), меньше или равно (<=) и другие.
Например, логическое выражение «5 > 3» истинно, а «6 != 6» ложно.
В свою очередь, над логическими выражениями возможны операции результатом которых так же являются «истина» и «ложь. Логические выражения построенные при помощи этих операций и содержащие несколько операций сравнения называются «сложными». Некоторые такие операции: или (||), и (&&), отрицание (!)
Примеры сложных логических выражений: !А && (B || V), A>3&&B<6
Порядок вычисления выражений в языке «С», как правило, не определён.
Язык ”C” определяет порядок группировки операторов и операндов.
Порядок вычисления выражения A*B+C определяется с помощью приоритетов и ассоциативности.
Наивысший приоритет имеет оператор:
() и []
Низшие A+B, 2*A, 7-B
Пример:
For ( s=0; i=1; i<=n; i++)
Cos(x)*sqrt(x)+exp(x)
Ассоциативность – определяет порядок группировки операторов и операндов в том случае, когда операторы и операнды имеют одинаковый приоритет.
Левая ассоциативность Правая ассоциативность
(Бинарные) (Унарные)
* и / - имеют одинаковый приоритет.