- •Синтаксис языка c. Структура программы. Характеристика функции main.
- •Директивы препроцессора (основные).
- •Базовые типы данных.
- •Декларация объектов программы на языке c, атрибуты: тип, класс памяти и область действия.
- •Константы в программах на языке c.
- •Функции вывода информации. Использование модификаторов и управляющих последовательностей.
- •Функции ввода информации.
- •Ввод/вывод потоками (cin, cout).
- •Синтаксис операторов языка c, операторы-выражения, управляющие операторы в языке с.
- •Арифметические операции, преобразование типов операндов арифметических операций. Средство "typedef".
- •Сокращенная запись операции присваивания
- •X##; - постфиксную.
- •Операции отношений (сравнения) и логические операции. Операции сравнения
- •Логические операции
- •Побитовые логические операции, операции над битами
- •Операторы передачи управления goto, continue, break, return.
- •Ветвящийся алгоритм. Условный оператор if, условная операция «? :».
- •If (условие ) оператор1;
- •If (условие1) оператор1;
- •Оператор выбора альтернатив (переключатель) switch.
- •Операция ",".
- •Циклический алгоритм. Оператор с предусловием while.
- •Оператор цикла с постусловием do - while.
- •Оператор цикла с предусловием и коррекцией for.
- •Функции в с. Способы описания функции, операция вызова функции.
- •Указатели как тип данных. Операции * и &. Операции над указателями.
- •Одномерные массивы и связь с указателями.
- •Cтроковые данные в с. Библиотечные функции для их обработки.
- •Указатель на указатель, многомерные массивы.
- •Динамическая память, функции и операции работы с памятью.
- •Указатели на функцию
- •Тип данных «структура», общая характеристика.
- •Файлы в с. Типы файлов, понятие файловой переменной и увязка ее с физическим файлом.
- •Текстовые файлы.
- •Основные режимы работы с бинарными файлами, последовательный и прямой доступ.
Базовые типы данных.
В языке C применяются данные двух категорий: простые (скалярные) и сложные (составные) типы данных. К основным (базовым) типам данных относятся целый, вещественный и символьный типы. В свою очередь, данные целого типа могут быть короткими (short), длинными (long) и беззнаковыми (unsigned). Приведем размеры и возможные диапазоны базовых типов данных (таблица 1):
Таблица 1
Наименование типа |
Тип данных |
Объем памяти, байт |
Диапазон значений |
Символьный |
char |
1 |
-128…127 |
Целый |
int |
2 |
-32768…32767 |
Короткий |
Short |
2(1) |
-32768…32767(-128…127) |
Длинный |
Long |
4 |
-2147483648…2147483647 |
Беззнаковый целый |
Unsigned int |
2 |
0…65535 |
Беззнаковый длинный |
Unsigned long |
4 |
0…424967295 |
Вещественный |
Float |
4 |
3,14*10-38…3,14*1038 |
Вещественный с двойной точностью |
Double |
8 |
1,7 *10-308 1,7 *10308 |
Декларация объектов программы на языке c, атрибуты: тип, класс памяти и область действия.
Все объекты (переменные, массивы и т.д.), с которыми работает программа в С, необходимо декларировать. При декларировании объекты можно инициализировать (задать начальные значения).
Например: int j=10, m=3, n;
float c=-1.3, l=-10.23, n;
При декларировании объектов в языке С используются их идентификаторы, которые могут включать цифры (0...9), латинские прописные (A...Z) и строчные (a...z) буквы, символ подчеркивания (_). Первый символ идентификатора не может быть цифрой. В языке С буквы нижнего регистра (a….z) отличаются от букв верхнего регистра (A ….Z), т.е. PI, Pi и pi – различные идентификаторы. Принято использовать в идентификаторах переменных строчные буквы, а в именованных константах – прописные.
Например: const float PI=3.1415926;
float pi=3.14;
Длина идентификатора определяется реализацией транслятора C и редактора связей (компоновщика). Современная тенденция - снятие ограничений длины идентификатора.
Разделители идентификаторов объектов:
- пробелы;
- символы табуляции, перевода строки и страницы;
- комментарии (играют роль пробелов).
Комментарий - любая последовательность символов, начинающаяся парой символов /* и заканчивающаяся парой символов */ или начинающаяся // и до конца текущей строки.
Константы в программах на языке c.
Константы - объекты, не подлежащие использованию о лесой части оператора присваивания, т к константа - неадресуемая величина. В языке Си константами являются:
самоопределенные арифметические константы целого и вещественного типов, символьные и строковые данные;
идентификаторы массивов и функций;
элементы перечислений.
Целочисленные константы
Общий формат:
± п (+ обычно не ставится).
десятичные константы - последовательность цифр 0...9. первая из которых не должна быть 0 Например. 22 и 273 - обычные целые константы, если нужно ввести длинную целую константу, то указывается признак L(l) - 273L (273l). Для такой константы будет отведено - 4 байта. Обычная целая константа, которая слишком длинна для типа int. рассматривается как long.Существует система обозначений для восьмеричных и шестнадцатеричных констант.
Восьмеричные константы - последовательность цифр от 0 до 7, первая из которых должна быть 0, например:
020 = 16 //десятичное.
Шестнадцатеричные константы - последовательность цифр от 0 до 9 и букв от А до F (a..f), начинающаяся символами 0X (0х), например 0X1F (0x1f) = 31 -десятичное.
Восьмеричные и шестнадцатеричные константы могут также заканчиваться буквой L(l) - long. например. 020L или 0X20L.
Константы вещественного типа
Данные константы размещаются в памяти по формату double, а во внешнем представлении могут иметь две формы: 1)с фиксированной десятичной точкой, формат записи: ±n.m,
где n,т - целая и дробная части числа;
2) с плавающей десятичной точкой (экспоненциальная форма): ±п.тЕ±р,
где п, т - целая и дробная части числа, р - порядок; ±0.хххЕ±р - нормализованный вид,
например, 1,25-10-8 = 0.125Е-8.
Символьные константы
Символьная константа - это символ, заключенный в одинарные кавычки: 'А', 'х' (тип char --> целое int).
Также используются специальные последовательности символов - управляющие {escape) последовательности, основные их них:
\п - новая строка;
\t - горизонтальная табуляция;
\0 - нулевой символ (пусто).
При присваивании символьной переменной они должны быть заключены в апострофы. Константа '\0' изображающая символ 0 (пусто), часто записывается вместо целой константы 0, чтобы подчеркнуть символьную природу некоторого выражения.
Текстовые символы непосредственно вводятся с клавиатуры, а специальные и управляющие - представляются в исходном тексте парами символов, например:
\\ -обратный слеш;
\' -апостроф;
\" -кавычки.
Примеры символьных констант: 'А', '9' , '$', '\n', '\72'.
Строковые константы
Строковая константа представляет собой последовательность символов кода ASCII, заключенную в кавычки " ". Во внутреннем представлении к строковым константам добавляется нулевой символ '\0' называемый нуль-терминатор, отмечающий конец строки. Кавычки не являются частью строки, а служат только для ее ограничения. Строка в языке Си представляет собой массив, состоящий из символов. Внутреннее представление константы "01234\0ABCDEF": '0' '1' '2' '3' '4' '\' '0' 'A' 'В' 'С' 'D' 'Е' 'F' '\0'
Примеры строковых констант:
"Система", "\n\t Аргумент \n", "Состояние \"WAIT\""
В конец строковой константы компилятор автоматически помещает нуль-символ, который не является цифрой 0, на печать не выводится, в таблице кодов ASCII имеет код = 0.
Например, строка "" - пустая строка (нуль-строка).
