- •Структура программы на языке Си. Этапы выполнения программы
 - •1.1. Алфавит языка Си
 - •1.3. Идентификаторы и ключевые слова
 - •1.4. Знаки операций
 - •2. Переменные и константы. Типы данных
 - •2.1. Основные типы данных
 - •2.2. Декларация (объявление) объектов
 - •2.4. Целочисленные константы
 - •2.5. Константы вещественного типа
 - •2.6. Символьные константы
 - •2.7. Строковые константы
 - •3. Обзор операций
 - •3.2. Арифметические операции
 - •3.3. Операции сравнения
 - •3.4. Логические операции
 - •4.1. Операция присваивания
 - •Примеры недопустимых выражений:
 - •4.2. Сокращенная запись операции присваивания
 - •4.3. Преобразование типов операндов бинарных операций
 - •4.4. Преобразование типов при присваивании.
 - •4.5. Операция явного приведения типа
 - •4.6. Операция «,» (запятая)
 - •5.3. Консольные функции вывода данных на экран
 - •5.4. Консольные функции ввода информации
 - •6. Операторы языка с.
 - •7.1. Условные операторы
 - •If (выражение) оператор;
 - •If (выражение) оператор 1 ;
 - •If (выражение 1) оператор 1;
 - •If (выражение 2) оператор 2;
 - •If (выражение 3) оператор 3;
 - •7.2. Оператор выбора альтернатив (переключатель)
 - •7.3. Условная операция «? :»
 - •8. Составление циклических алгоритмов
 - •8.1. Оператор с предусловием while
 - •8.2. Оператор цикла с постусловием do – while
 - •8.3. Оператор цикла с предусловием и коррекцией for
 - •9. Операторы передачи управления.
 - •9.1. Оператор безусловного перехода goto
 - •9.2. Операторы continue, break и return
 - •10. Массивы
 - •10.1. Одномерные массивы
 - •10.2. Примеры алгоритмов, использующих одномерные массивы.
 - •10.3. Многомерные массивы
 - •11.5. Операция sizeof
 - •11.6. Побитовые логические операции. Операции над битами
 - •12.1. Строки как нуль-терминированные массивы char.
 - •12.4. Преобразования строковых типов.
 - •13. Функции пользователя и классы памяти.
 - •13.1. Сущность и предназначение функций.
 - •13.2. Определение и вызов функции.
 - •13.3. Прототип функции.
 - •13.4. Область видимости.
 - •13.5. Классы памяти объектов в языке Cи.
 - •13.6. Разбиение программы на модули.
 - •14. Структуры и объединения
 - •14.1. Понятие структуры
 - •14.2. Декларация структурного типа данных
 - •14.3. Объявление структурных переменных
 - •14.4. Обращение к полям структуры
 - •14.5. Операции со структурой как единым целым
 - •14.6. Вложенные структуры
 - •14.7. Массивы структур
 - •14.8. Размещение структурных переменных в памяти
 - •14.10. Объединения
 - •16. Файлы в языке с
 - •16.1. Типы файлов.
 - •16.2. Открытие файла
 - •16.3. Закрытие файла
 - •16.4. Запись - чтение информации
 - •А) Посимвольный ввод-вывод
 - •Б) Построчный и форматированный ввод-вывод
 - •В) Блоковый ввод-вывод
 - •Int fflush(file *stream);
 - •16.5. Текстовые файлы
 - •16.6. Перенаправление стандартного ввода-вывода
 - •16.7. Бинарные файлы
 - •16.8. Дополнительные полезные функции
 - •16.9. Простейший пример создания собственной базы данных
 - •17. Указатели
 - •17.1. Определение указателей
 - •17.2. Связь указателей и массивов.
 - •17.3. Операции над указателями (косвенная адресация)
 - •17.4. Операции над указателями (косвенная адресация)
 - •17.5. Массивы указателей.
 - •17.6. Указатели на указатели.
 - •17.7 . Указатели как параметры функций.
 - •Void f1(int, const double *);
 - •17.8 . Указатели на структуры
 - •17.10. Указатели на функции
 - •Id_функции(список аргументов);
 - •18.1. Динамическое выделение и освобождение памяти.
 
Структура программы на языке Си. Этапы выполнения программы
1.1. Алфавит языка Си
Алфавит языка Си включает:
- прописные и строчные буквы латинского алфавита, а также знак подчеркивания (код ASCII 95);
- арабские цифры от 0 до 9;
- специальные символы:
+(плюс) –(минус) *(звездочка) /(дробная черта) =(равно) >(больше) <(меньше) ;(точка с запятой) &(амперсант) [ ](квадратные скобки) { }(фигурные скобки) ()(круглые скобки) _(знак подчеркивания) .(точка) ,(запятая) :(двоеточие) #("решетка") %(процент) ~(поразрядное отрицание) ?(знак вопроса) !(восклицательный знак) \(обратный слеш).
- пробельные (разделительные) символы: пробел, символы табуляции, перевода строки, возврата каретки.
1.3. Идентификаторы и ключевые слова
Идентификатор (в дальнейшем, для краткости - ID) – это имя программного объекта (константы, переменной, метки, типа, функции, модуля, поля в структуре). В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания; первым символом ID может быть буква или знак подчеркивания, но не цифра; пробелы внутри ID не допускаются.
Длина идентификатора определяется реализацией (версией) транслятора Cи и редактора связей (компоновщика). Современная тенденция - снятие ограничений длины идентификатора.
При именовании объектов следует придерживаться общепринятых соглашений:
- ID переменной обычно пишется строчными буквами, например index (для сравнения: Index – это ID типа или функции, а INDEX – константа);
- идентификатор должен нести какой-либо смысл, поясняя назначение объекта в программе, например birth_date (день рождения) или sum (сумма);
- если ID состоит из нескольких слов, как, например birth_date, то принято либо разделять слова символом подчеркивания (birth_date), либо писать каждое следующее слово с большой буквы (birthDate).
Разделители идентификаторов объектов:
- пробелы;
- символы табуляции, перевода строки и страницы;
- комментарии (играют роль пробелов).
Наличие разделителей не влияет на работу программы.
В Си прописные и строчные буквы – различные символы. Идентификаторы Name, NAME, name – различные объекты.
Ключевые (зарезервированные) слова не могут быть использованы в качестве идентификаторов.
Основные ключевые слова Си:
auto  | 
		break  | 
		case  | 
		char  | 
	
const  | 
		continue  | 
		default  | 
		do  | 
	
double  | 
		else  | 
		enum  | 
		extern  | 
	
float  | 
		for  | 
		goto  | 
		if  | 
	
int  | 
		long  | 
		register  | 
		return  | 
	
short  | 
		signed  | 
		sizeof  | 
		static  | 
	
struct  | 
		switch  | 
		typedef  | 
		union  | 
	
unsigned  | 
		void  | 
		volatile  | 
		while  | 
	
1.4. Знаки операций
Знак операции – это один или более символов, определяющих действие над операндами (например, ">=", означающий условие "больше или равно). Внутри знака операции пробелы не допускаются. Операции делятся на унарные, бинарные и тернарные операции, по количеству участвующих в них операндов (1, 2 или 3).
