- •Предисловие
- •Знакомство с языком C
- •Структура программы
- •Пример простой программы
- •Более сложный пример
- •Контрольные вопросы
- •Основные понятия, объявление переменных, типы данных
- •Объявление переменных
- •Примеры описаний переменных:
- •Основные типы данных
- •Производные типы.
- •Контрольные вопросы
- •Ввод/вывод с помощью функций printf() и scanf().
- •Модификаторы спецификаций преобразования используемые в функции printf()
- •Применение функции scanf()
- •Контрольные вопросы
- •Операции
- •Простейшие арифметические операции
- •Операция присваивания
- •Использование в выражениях операндов разных типов
- •Операции преобразования типов
- •Дополнительные арифметические операции
- •Дополнительные операции присваивания
- •Операции отношения
- •Логические операции
- •Приоритеты операций
- •Таблица 3. Таблица приоритетов рассмотренных выше операций
- •Контрольные вопросы
- •Операторы
- •Оператор-выражение
- •Ветвление
- •Условный оператор
- •Оператор switch
- •Оператор break
- •Циклы
- •Цикл while
- •Цикл do…while
- •Цикл for
- •Другие операторы
- •Оператор continue
- •Оператор goto
- •Оператор вызова функции
- •Контрольные вопросы
- •Обработка числовых последовательностей
- •Последовательная обработка
- •Обработка числовых последовательностей
- •Примеры
- •Контрольные вопросы
- •Последовательная обработка символьных данных
- •Символьные данные
- •Последовательная обработка символов
- •Функции getchar( ) и putchar( )
- •Контрольные вопросы
- •Обработка массивов
- •Массивы
- •Объявление массива
- •Использование и обработка массивов
- •Примеры
- •Контрольные вопросы
- •Указатели и динамические массивы
- •Указатели
- •Динамическое выделение памяти
- •Статические и динамические массивы
- •Контрольные вопросы
- •Подпрограммы
- •Описание подпрограмм
- •Параметры подпрограмм
- •Область действия переменных
- •Примеры
- •Контрольные вопросы
- •Рекурсивные функции
- •Понятие рекурсивной функции
- •Контрольные вопросы
- •Символьные строки и функции обработки строк
- •Посимвольная обработка строк
- •Пример программы
- •Контрольные вопросы
- •Структуры
- •Тип данных структура
- •Контрольные вопросы
- •Работа с файлами
- •Примеры
- •Контрольные вопросы
- •Массивы и функции как параметры
- •Указатели на функции
- •Массивы и указатели
- •Указатели и двумерные массивы
- •Пример
- •Технологии программирования
- •Структурное программирование
- •Модульное программирование
- •Объектно-ориентированное программирование
- •Компонентное программирование
- •Структурная декомпозиция задачи и разработка алгоритмов и программ методами сверху вниз и снизу вверх
- •Контрольные вопросы
- •Модульное программирование
- •Работа с графикой на языке C и модуль graphics.h
- •Типы видео мониторов и их режимы
- •Инициализация графики
- •Система координат
- •Основные графические функции
- •Функции рисования
- •Функции изменения параметров рисования
- •Шаблоны линий
- •Шаблоны закраски
- •Задание на расчетно-графическую работу
- •Порядок выполнения работы
- •Задание
- •Задание для вариантов 1-11
- •Задание для вариантов 12-20
- •Задание для вариантов 21-40
- •Пример исходных данных для вариантов 12-16
- •Задание для вариантов 41-60
- •Варианты индивидуальных заданий
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •Вариант 17
- •Вариант 18
- •Вариант 19
- •Вариант 20
- •Вариант 21
- •Вариант 22
- •Вариант 23
- •Вариант 24
- •Вариант 25
- •Вариант 26
- •Вариант 27
- •Вариант 28
- •Вариант 29
- •Вариант 30
- •Вариант 31
- •Вариант 32
- •Вариант33
- •Вариант 34
- •Вариант 35
- •Вариант 36
- •Вариант 37
- •Вариант 38
- •Вариант 39
- •Вариант 40
- •Вариант 41
- •Вариант 42
- •Вариант 43
- •Вариант 44
- •Вариант 45
- •Вариант 46
- •Вариант 47
- •Вариант 48
- •Вариант 49
- •Вариант 50
- •Вариант 51
- •Вариант 52
- •Вариант 53
- •Вариант 54
- •Вариант 55
- •Вариант 56
- •Вариант 57
- •Вариант 58
- •Вариант 59
- •Вариант 60
- •Задания на курсовую работу
- •Требования к курсовой работе
- •Этапы разработки программ
- •Содержание отчета по курсовой работе
- •Задания к курсовой работе
- •Литература
- •Функции консольного ввода/вывода
- •Функции обработки строк
- •Функции преобразования данных
Основные понятия, объявление переменных, типы данных
Алфавит - определяется реализацией языка СИ. На ПЭВМ в качестве алфавита Си используется набор знаков ASCII
Индетификаторы являются именами переменных и функций. Имена могут состоять из любого числа знаков (букв, цифр, знака подчёркивания), но начинаться должны с буквы. В языке Си знаки верхнего и нижнего регистров считаются разными. Идентификаторы могут быть произвольной длины, хотя многие компиляторы различают идентификатор только по ограниченному количеству первых знаков.
Некоторые идентификаторы являются зарезервированными или
ключевыми: |
|
|
|
|
auto |
break |
case |
char |
continue |
default |
do |
double |
else |
entry |
enum |
extern |
float |
for |
goto |
if |
int |
long |
register |
return |
short |
sizeof |
static |
struct |
switch |
typedef |
union |
void |
while |
unsigned |
Константы (литералы) -это явное представление значения. Могут быть различных типов целые, длинные целые, знаковые, вещественные, строки и др.
Константы целого типа могут быть записаны в 10-й, 8-ичной и 16-й системах счисления. При записи в 8-ичной системе константы начинаются с
0, а 16-й 0X , так
014(8-ичн.)=12(10-ичн.), 0XC(16-ичн)=12(10-ичн.).
Если величина константы превышает диапазон применения чисел типа int, то они считаются принадлежащими к типу long int.
Константы типа long int задаются указанием в конце буквы L(l) 12l , 150l , 014l=12l, 0XCl
16
Константы типа char 'A', 'a', '5', '$'
Некоторые управляющие константы обозначаются с помощью escapeпоследовательности, т.е.
•Переход на следующую строку (newline)
•Горизонтальная табуляция (horizontal tab)
•Вертикальная табуляция (vertical bar)
•Шаг назад (backspace)
•Возврат каретки (carriage return)
•Смещение формы (form flead)
•Обратная дробная черта (backslash)
•Одиночная кавычка (single quote)
Эти знаки также могут быть заданы как \dold, где dold -обозначено 8- ичное число, состоящее из 1-й, 2-х или 3-х цифр и указывающее порядковый номер знака в таблице кодов ASCII. Например, вместо \n можно написать \012, \101-обозначает букву A.
Примеры: 'a' - символ а
'\n' -знак перехода на следующую строку (newline) '\\' - знак обратной дробной черты '\'' -знак одиночной кавычки(апостроф)
'\101' - буква А
Замечание. Символ нуля '0' имеет численное значение = 48 в ASCII, а символьная константа '\0' задаёт символ с нулевым значением.
Строковая константа последовательности символов заключается в двойные кавычки:
"" - пустая строковая константа, "URA", ...
Кавычка в строку не входит. В конце каждой строки транслятор автоматически помещает нулевой символ \0, так, что программе удобно искать конец строки. Поэтому размер строки на единицу больше числа
17