
- •«Алгоритмические языки и программирование»
- •Часть 1
- •Часть 1. «Язык программирования с» (опорний конспект лекций).
- •Содержание
- •6. Понятие о препроцессоре языка Си 25
- •7. Операторы языка Си и приемы программирования 26
- •1.Правила записи программы на языке Си
- •2.Идентификаторы языка Си
- •3.Понятие о типах данных.
- •3.1.Основные типы данных языка Си
- •3.2.Правила записи констант различных типов
- •3.3.Беззнаковый тип для целых данных
- •3.4.Символьные строки
- •4.Понятие функции
- •4.1.Стандартная функция printf
- •4.2.Стандартная функция scanf
- •5.Операции и выражения
- •5.1.Простейшие арифметические операции
- •5.2.Операция присваивания
- •5.3.Оператор присваивания
- •5.4.Использование в выражениях операндов разных типов
- •5.5.Операции преобразования типов
- •5.6.Стандартные математические функции
- •5.7.Простейшие функции, определяемые программистом
- •5.8.Дополнительные арифметические операции
- •5.9.Дополнительные операции присваивания
- •5.10.Операции отношения
- •5.11.Логические операции
- •5.12.Операция определения размера данных
- •5.13.Приоритеты операций
- •6.Понятие о препроцессоре языка Си
- •7.Операторы языка Си и приемы программирования
- •7.1.Оператор цикла while
- •7.2.Условный оператор и условная операция
- •7.3.Некоторые приемы программирования
- •7.4.Оператор прерывания цикла
- •7.5.Оператор продолжения цикла
- •7.6.Пример организации простейшего меню
- •7.7.Множественный выбор. Оператор переключения
- •7.8.Оператор цикла do-while.
- •7.9.Перечисления
- •7.10.Пример организации светового меню
- •8.Массивы. Адресная арифметика языка Си
- •8.1.Описание массива
- •8.2.Ввод-вывод массива
- •8.3.Инициализация массива
- •8.4.Программа вычисления длины строки символов
- •8.5.Двумерные массивы (массивы массивов)
- •8.6.Адресная арифметика языка Си
- •8.7.Указатели и одномерные массивы
- •8.8.Указатели и двумерные массивы
- •8.9.Указатели и функции
- •8.10.Оператор typedef
- •9.Дополнительные сведения о функциях
- •9.1.Области видимости и глобальные данные
- •9.2.Время жизни переменных и классы памяти языка Си
- •9.3.Передача аргументов в функцию
- •9.4.Возврат значений из функций
- •10.Работа с динамической памятью
- •10.1.Стандартные функции управления динамической памятью
- •10.2.Пример использования динамической памяти
- •10.3.Особенности работы с двумерными массивами
- •10.3.1.Пересчет индексов вручную
- •10.3.2.Массивы с постоянной длиной строки
- •10.3.3.Общий случай двумерного массива
- •10.4.Особенности работы с массивами большого размера
- •11.Модульное программирование в системе Turbo c
- •11.1.Обеспечение корректной стыковки модулей
- •11.2.Создание библиотек функций
- •12.Некоторые библиотечные функции языка Си
- •12.1.Функции консольного ввода/вывода (уникальны для tc)
- •12.2.Функции обработки строк.
- •12.3.Функции распознавания вида символа
- •12.4.Функции преобразования данных
МІНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
ГОСУДАРСТВЕННОЕ ВЫСШЕЕ УЧЕБНОЕ ЗАВЕДЕНИЕ
ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«Алгоритмические языки и программирование»
Часть 1
ОПОРНИЙ КОНСПЕКТ ЛЕКЦИЙ
Рассмотрен на заседании кафедри
«Автоматика и телекомуникации»
протокол № 4 від 27 марта 2014р.
Донецк, ДонНТУ
2014
Долгих И.П.
Алгоритмические языки и программирование.
Часть 1. «Язык программирования с» (опорний конспект лекций).
Учебная литература. - Донецк. - ДонНТУ. - 2014. - 90с.
Для студентов дневной и заочной форм обучения направления подготовки 6.050201 «Системная инженерия», специализация «Системи управленияя и автоматика»
Содержание
1. Правила записи программы на языке Си 6
2. Идентификаторы языка Си 8
3. Понятие о типах данных. 9
3.1. Основные типы данных языка Си 9
3.2. Правила записи констант различных типов 10
3.3. Беззнаковый тип для целых данных 11
3.4. Символьные строки 12
4. Понятие функции 13
4.1. Стандартная функция printf 13
4.2. Стандартная функция scanf 15
5. Операции и выражения 16
5.1. Простейшие арифметические операции 16
5.2. Операция присваивания 16
5.3. Оператор присваивания 17
5.4. Использование в выражениях операндов разных типов 17
5.5. Операции преобразования типов 18
5.6. Стандартные математические функции 18
5.7. Простейшие функции, определяемые программистом 19
5.8. Дополнительные арифметические операции 20
5.9. Дополнительные операции присваивания 21
5.10. Операции отношения 22
5.11. Логические операции 23
5.12. Операция определения размера данных 23
5.13. Приоритеты операций 24
6. Понятие о препроцессоре языка Си 25
7. Операторы языка Си и приемы программирования 26
7.1. Оператор цикла while 26
7.2. Условный оператор и условная операция 27
7.3. Некоторые приемы программирования 30
7.4. Оператор прерывания цикла 32
7.5. Оператор продолжения цикла 33
7.6. Пример организации простейшего меню 33
7.7. Множественный выбор. Оператор переключения 34
7.8. Оператор цикла do-while. 36
7.9. Перечисления 37
7.10. Пример организации светового меню 37
8. Массивы. Адресная арифметика языка Си 40
8.1. Описание массива 41
8.2. Ввод-вывод массива 41
8.3. Инициализация массива 43
8.4. Программа вычисления длины строки символов 44
8.5. Двумерные массивы (массивы массивов) 45
8.6. Адресная арифметика языка Си 47
8.7. Указатели и одномерные массивы 51
8.8. Указатели и двумерные массивы 53
8.9. Указатели и функции 56
8.10. Оператор typedef 57
9. Дополнительные сведения о функциях 58
9.1. Области видимости и глобальные данные 58
9.2. Время жизни переменных и классы памяти языка Си 61
9.3. Передача аргументов в функцию 63
9.4. Возврат значений из функций 64
10. Работа с динамической памятью 66
10.1. Стандартные функции управления динамической памятью 66
10.2. Пример использования динамической памяти 69
10.3. Особенности работы с двумерными массивами 70
10.3.1. Пересчет индексов вручную 70
10.3.2. Массивы с постоянной длиной строки 72
10.3.3. Общий случай двумерного массива 73
10.4. Особенности работы с массивами большого размера 77
11. Модульное программирование в системе Turbo C 79
11.1. Обеспечение корректной стыковки модулей 80
11.2. Создание библиотек функций 81
12. Некоторые библиотечные функции языка Си 82
12.1. Функции консольного ввода/вывода (уникальны для TC) 82
12.2. Функции обработки строк. 85
12.3. Функции распознавания вида символа 87
12.4. Функции преобразования данных 88
Язык Си создан в начале 70х годов Дэнисом Ритчи в Bell Telephone Laboratories для ОС UNIX. Предшественником Си является язык Би, созданный Кэном Томпсоном, который в свою очередь имеет корни в языке Мартина Ричардсона BCPL.
В 1978 г. Брайн Керниган и Денис Ритчи написали книгу "Язык программирования Си", которую можно рассматривать как некоторый стандарт языка "K & R". Ее называют белой книгой.
В 1983г. ANSI сформировал технический комитет X3J11 для создания стандарта языка Си. Этот стандарт усовершенствуется до сих пор и поддерживается большинством фирм разработчиков компиляторов.