- •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. Организация данных в виде деревьев.
7. Стандартная функция scanf
Функция предназначена для ввода информации со стандартного устройства ввода (stdin), которым обычно является клавиатура.
БНФ:
"scanf" "(" формат { "," аргумент } ")"
Пример: scanf( "%d", &n );
При использовании функции scanf совместно с данными типа int, long, float, double, перед именем переменной всегда должен стоять знак &. При использовании функции для ввода символьной строки знак & не нужен, т.к. имя массива символов и так означает адрес.
Например:
char name[41];
scanf( "%s", name );
В формате должны быть только спецификации преобразования без всяких пробелов и других символов.
8. Простейшие арифметические операции.
+ - / * % применяются к числовым типам данным
% остаток от целочисленного деления
+ - могут быть унарные
/ % * бинарные операции. Примеры: a+b% c;
9. Операция присваивания. Оператор - выражение.
Операция присваивания выполняет действия по занесению результатов выражения, стоящего справа от знака присваивания = в область памяти, определяемую выражением, стоящим слева от знака присваивания.
ab = ( c = d+5 ) * 6
Присваивание имеет самый низкий приоритет из всех операций. Выражение, оканчивающееся точкой с запятой, является оператором, т.е. наименьшей элементарной частью программы.
10. Использование в выражениях операндов разных типов. Операция преобразования типов.
При участии в арифметических операциях операндов разных типов, перед выполнением операции осуществляется преобразование типов так, чтобы не было потери точности. Затем осуществляется сама операция.
int a, c;
float d, e;
e = d*(c+e); /* c будет преобразовано в float */
a = 'A' + 20; /* 'A' будет преобразовано в int */
БНФ:
преобразование_типа = "("имя_типа ")" выражение
имя_типа - название любого типа, в том числе и заданного программистом.
int a, b;
float c;
a = 7; b = 14;
c = a/b;
c = (float)a / (float)b;
11. Стандартные математические функции.
При использовании этих функций в программу необходимо включить файл <math.h>, т.е. необходимо использовать директиву #include <math.h> .
sin(x) - синус (аргумент в радианах);
cos(x) - косинус (аргумент в радианах);
tan(x) - тангенс (аргумент в радианах);
asin(x) - арксинус (результат в радианах);
acos(x) - арккосинус (результат в радианах);
atan(x) - арктангенс (результат в радианах);
sinh(x) - гиперболический синус;
cosh(x) - гиперболический косинус;
tanh(x) - гиперболический тангенс;
log10(x) - десятичный логарифм;
pow10(x) - возведение числа 10 в степень x;
log(x) - натуральный логарифм;
exp(x) - экспонента;
sqrt(x) - квадратный корень;
pow(x,y) - возведение x в степень y;
fabs(x) - абсолютная величина для double;
abs(x) - абсолютная величина для int.
12. Простейшие функции, определяемые программистом.
Описание функции начинается заголовком:
БНФ:
заголовок_функции =
тип имя_функции"("[тип параметр {"," тип параметр}]")"
Формальными параметрами называются переменные описанные в заголовке функции, при ыфзове функции для каждого формального параметра должно быть предоставлено значение фактического параметра.
Вызывом функции является имя(адрес) функции и крцгдые скобки за ним. Описание функции – это совокупность заголовка и тело функции. Тело –это операторы, охваченные фигурными скобками и пишутя после заголовка. Прототип функции – это заголовок с ;