- •3. Правила формального описания синтаксиса языка программирования
- •5. Идентификаторы языка Си
- •6. Понятие функции. Стандартная функция printf.
- •7. Стандартная функция scanf
- •8. Простейшие арифметические операции.
- •9. Операция присваивания. Оператор - выражение.
- •10. Использование в выражениях операндов разных типов. Операция преобразования типов.
- •11. Стандартные математические функции.
- •12. Простейшие функции, определяемые программистом.
- •13. Дополнительные арифметические операции. Дополнительные операции присваивания.
- •14. Побитовые операции.
- •15. Операции отношения. Операция определения размера данных.
- •16. Приоритеты операций.
- •17. Понятие о препроцессоре языка Си: директива «include», директива «define».
- •18. Основные положения структурного программирования. Понятие оператора (statement). Пустой и составной операторы.
- •19. Условный оператор и условная операция.
- •20. Оператор цикла «while». Оператор прерывания цикла. Оператор продолжения цикла. Множественный выбор. Оператор переключения.
- •21. Оператор цикла «do-while».
- •22.Перечисления. Работа с клавиатурой ibm pc
- •23. Массивы. Описание массива.
- •24. Ввод-вывод массива
- •25. Инициализация массива
- •26. Программа вычисления длины строки символов
- •32. Двумерные массивы (массивы массивов)
- •32. Адресная арифметика языка Си
- •33. Указатели и одномерные массивы
- •34. Указатели и двумерные массивы
- •35. Указатели и функции
- •36. Оператор typedef
- •39. Области видимости и глобальные данные
- •40. Время жизни переменных и классы памяти языка Си
- •41. Передача аргументов в функцию
- •42. Возврат значений из функций
- •47. Общий случай двумерного массива.
- •48. Особенности работы с массивами большого размера
- •49. Описание структуры.
- •50. Трактовка имени структуры.
- •51. Доступ к элементу структуры.
- •52. Инициализация структур.
- •53. Структуры и функции.
- •54. Поля бит в структурах.
- •55. Объединения.
- •56. Динамические данные.
- •57. Линейные списки.
- •58. Организация данных в виде стека.
- •59. Организация данных в виде очереди.
- •60. Организация данных в виде деревьев.
13. Дополнительные арифметические операции. Дополнительные операции присваивания.
Для дополнительных операций выделяют постфиксную а++ и префексную ++а запись. Постфиксная – выражение после вычисления дает значение до увеличения, а префексная уже увеличена. а=а++; или а=а+1; Дополнительные операции присваивания: +=, -=,*=, /=, %=
а=а+n => a+=n
14. Побитовые операции.
В Си имеются следующие битовые операции:
~битовое отрицание
&побитовое "и"
^побитовое "исключающие или"
|побитовое "или"
Все битовые операции выполняются слева направо.
15. Операции отношения. Операция определения размера данных.
В языке Си имеются шесть операций отношения:
> больше,
< меньше,
>= больше или равно,
<= меньше или равно,
== равно,
!= не равно.
Действие операций отношения заключается в сравнении первого и второго операнда. Если операнды не удовлетворяют условию отношения, то результат операции равен нулю, т.е. условие ложно. Если операнды удовлетворяют условию отношения, то результат отношения не равен нулю, т.е. условие истинно. Для определения размера данных используют операцию sizeof.
БНФ: операц_опред_разм_данных = (" sizeof ("тип" ) ")|(" sizeof ("значение" ) ")
16. Приоритеты операций.
Операции одного приоритета |
! ~ ++ -- (тип) sizeof |
* / % |
+ - |
<< >> побитовый сдвиг |
< <= > >= |
== != |
& |
^ |
| |
&& |
|| |
= *= /= %= += -= <<= >>= &= ^= |= |
17. Понятие о препроцессоре языка Си: директива «include», директива «define».
Препроцессором называется составная часть компилятора, которая производит обработку исходного текста программы перед ее трансляцией. Управление работой препроцессора осуществляется с помощью специальных директив. Все директивы препроцессора начинаются со знака #. Любой файл начинается с директив #include, вставляющих в текст программтак называемые заголовочные файлы, которые содержат описания функций, использ в этом файле. Директива #define используется для назначения символических имен различным строкам текста.
18. Основные положения структурного программирования. Понятие оператора (statement). Пустой и составной операторы.
В 70х был сформулирован принцип структурного программирования. Одним из ярчайших проявлений является отказ от переходов GOTO. В структурном алгоритме доказано что алгоритм любой сложности может быть организован с помощью 3-х организ.:
1) Следование
2) Ветвление(Выбор)
3)Повторение
При условии 4*) Вызов функции
Без оператора GOTO
Оператор (statement - предложение) - блок, используемый при создании программы.
Оператор - часть программы, которая можеть быть отдельно выполнена. В языке Си выделяют несколько видов операторов:
1) пустой ;
2) Простой - выражение с ; на конце. ( a=5;) Его ещё называют оператором выражения
3) Составной - {...} это 0...n операторов, взятых в фигурные скобки.
4) Структурные операторы. Служит для организации управляющих структур и начинаются с зарезервинованных слов. Зарезервированные слова - это такие имена, которые определены, для обозначения структурных операторов, типов данных, и их запрещено переопределять пользователю.