- •1. Среда программирования. Трансляция, компоновка и отладка программ
- •2. Виды и характеристики языков программирования
- •3. Виды программных ошибок.
- •4. Описание языка Си (используемые символы, константы, идентификаторы, ключевые слова, комментарии). Используемые символы
- •Константы
- •Ключевые слова
- •Использование комментариев в тексте программы
- •5. Идентификаторы и ключевые слова языка Си. Идентификаторы и ключевые слова
- •6. Структура программы на языке Си.
- •7. Категории типов данных (символьные, целые, с плавающей точкой).
- •Целый тип данных
- •Данные плавающего типа
- •8. Символьные и целые типы данных. Данные целого типа (integer)
- •Данные символьного типа (char)
- •9. Вещественные типы данных (с плавающей точкой). Данные вещественного типа (float, double)
- •10. Преобразование типов (явное и неявное).
- •11. Использование модификаторов при декларации типов данных.
- •12. Кодовая таблица ascii. Системы счисления. Классификация и преобразование символов. Классификация и преобразование символов
- •13. Константы. Целые константы. Константы с плавающей точкой. Символьные константы. Строки. Null.
- •1 Целые Константы
- •2 Константы с Плавающей Точкой
- •3 Символьные Константы
- •4 Строки
- •14. Условный оператор if.
- •15. Тернарная условная операция ?:.
- •16. Оператор выбора альтернатив switch.
- •17. Составление циклических алгоритмов. Операторы цикла с предусловием и с постусловием. Оператор while
- •Оператор do while
- •18. Оператор цикла с предусловием и коррекцией for. Оператор for
- •19. Операторы перехода (break, continue, return, goto). Оператор break
- •Оператор continue
- •Оператор return
- •Оператор goto
- •20. Унарные операции.
- •21. Аддитивные и мультипликативные операции.
- •22. Операции сдвига.
- •23. Поразрядные операции.
- •24. Операции отношения.
- •25. Логические операции.
- •26. Операция присваивания.
- •27. Сокращенная запись операции присваивания.
- •28. Стандартная библиотека языка Си. Математические функции.
- •29. Стандартная библиотека языка Си. Функции работы со строками.
- •Int strcmp(const char *s1, const char *s2);
- •Integer atoi(const char *nptr);
- •30. Стандартная библиотека языка Си. Ввод данных.
- •31. Стандартная библиотека языка Си. Вывод данных.
- •32. Управляющая строка функций ввода/вывода.
- •33. Препроцессор. Директивы #include, #define.
- •Директивы препроцессора и указания компилятору
- •34. Графический режим. Функции черчения и заполнения.
- •35. Графический режим. Функции вывода текста, функции управления цветом. (outtext, outtextxy, setbkcolor, setcolor, settextjustify, settextstyle, textheight, textwidth)
- •Цвет фона и вычерчивания
- •36. Одномерные массивы. Инициализация одномерных массивов. Ввод и инициализация массива символов.
- •37. Многомерные массивы. Инициализация многомерных массивов.
- •38. Структуры
- •Пример 5
- •39. Объединения.
- •Пример 2
- •40. Перечисления.
- •41. Работа с файлами. Типы открытия файлов (текстовый и бинарный). Дескриптор файла ("указатель на файл"). Режимы работы с файлами.
- •42. Работа с файлами. Открытие файла в различных режимах и закрытие файла.
- •Int feof(file *stream);
- •Int fclose(file *stream);
- •Коды, устанавливающие режимы доступа к открываемым файлам
- •Void rewind(file *stream);
- •Int fsetpos(file *stream, const fpos_t *pos);
- •45. Указатели. Указатели и адреса объектов. Указатели и массивы. Указатели.
- •Указатели и адреса объектов
- •Указатели и массивы
- •46. Операции с указателями: присваивание адреса, определение значения по адресу, присваивание указателей
- •1. Присваивание адреса.
- •3. Сравнение указателей.
- •48. Работа с динамической памятью. Динамические массивы.
- •49. Функции. Определение функции, объявление функции и вызов функции. Возвращаемое значение функции.
- •3. Вызов функции
- •50. Функции. Типы передачи параметров функции (по значению, по адресу).
- •Передача переменных
- •Передача векторных параметров
- •51. Функции. Переменные в качестве параметров функций.
- •52. Функции. Массивы в качестве параметров функций.
- •53. Указатели на функции.
- •1. Среда программирования. Трансляция, компоновка и отладка программ
- •2. Виды и характеристики языков программирования
5. Идентификаторы и ключевые слова языка Си. Идентификаторы и ключевые слова
Идентификатор (ID) – это имя программного объекта (константы, переменной, метки, типа, функции и т.д.). В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания; первый символ ID – не цифра; пробелы внутри ID не допускаются.
Длина идентификатора определяется выбранной версией среды программирования. Например, в среде Borland C++ 6.0 идентификаторы могут включать любое число символов, из которых воспринимаются и используются только первые 32 символа. Современная тенденция – снятие ограничений длины идентификатора.
При именовании объектов следует придерживаться общепринятых соглашений:
– ID переменных и функций обычно пишутся строчными (малыми) буквами – index, max();
– ID типов пишутся с большой буквы, например, Spis, Stack;
– ID констант (макросов) – большими буквами – INDEX, MAX_INT;
– идентификатор должен нести смысл, поясняющий назначение объекта в программе, например, birth_date – день рождения, sum – сумма;
– если ID состоит из нескольких слов, как, например, birth_date, то принято либо разделять слова символом подчеркивания, либо писать каждое следующее слово с большой буквы – birthDate.
В Си прописные и строчные буквы – различные символы. Идентификаторы Name, NAME, name – различные объекты.
Ключевые (зарезервированные) слова не могут быть использованы в качестве идентификаторов.
Список ключевых слов, определенных в стандарте ANSI Cи:
auto |
do |
goto |
signed |
unsigned |
break |
double |
if |
sizeof |
void |
case |
else |
int |
static |
volatile |
char |
enum |
long |
struct |
while |
const |
extern |
register |
switch |
|
continue |
float |
return |
typedef |
|
default |
for |
short |
union |
|
6. Структура программы на языке Си.
Исходная программа представляет собой совокупность следующих элементов: директив препроцессора, указаний компилятору, объявлений и определений. Директивы препроцессора специфицируют действия препроцессора по преобразованию текста программы перед компиляцией. Указания компилятору – это специальные конструкции, которым компилятор языка С следует во время компиляции.
Объявление переменной задает имя и атрибуты переменной. Определение переменной, помимо задания ее имени и атрибутов, приводит к выделению для нее памяти. Кроме того, определение задает начальное значение переменной (явно или неявно).
Объявление функции задает ее имя, тип возвращаемого значения и может задавать атрибуты ее формальных параметров.
Определение функции специфицирует тело функции, которое представляет собой составной оператор (блок), содержащий объявления и операторы. Определение функции также задает имя функции, тип возвращаемого значения и атрибуты ее формальных параметров.
Объявление типа позволяет создать собственный тип данных. Оно состоит в присвоении имени некоторому базовому или составному типу. Для типа понятия объявления и определения совпадают.
Исходная программа может содержать произвольное число директив, указаний компилятору, объявлений и определений. Порядок появления этих элементов в программе весьма существенен; в частности, он влияет на возможность использования переменных, функций и типов в различных частях программы.
Чтобы программа на языке С могла быть скомпилирована и выполнена, она должна содержать по крайней мере одно определение – определение функции. Эта функция определяет действия, выполняемые программой. Если программа содержит несколько функций, то среди них выделяется одна главная функция, которая должна иметь имя main. С нее начинается выполнение программы; она определяет действия, выполняемые программой, и вызывает другие функции. Порядок следования определений функций в исходной программе несущественен.
