
- •4.Элементы языка Си. Символы, лексемы, знаки операций.
- •1.Символы языка
- •2.Лексемы
- •5.Элементы языка Си. Константы, идентификаторы, ключевые слова, комментарии.
- •6.Типы данных.
- •7.1,Объявление переменных. Массивы.
- •7.2,Объявление переменных. Массивы.
- •9.1,Операции и выражения. Арифметические операции
- •11. Логические операции и операции отношения. Операции присваивания
- •12.Условное выражение. Операция Sizeof. Операции приведения типов type.
- •13.1,Преобразование типов в выражения. Правила приведения типов.
- •13.2,Преобразование типов в выражения. Правила приведения типов.
- •14.1, Управление вычислительными процессами. Конструкции if-else, else-if.
- •14.2, Управление вычислительными процессами. Конструкции if-else, else-if.
- •15.Переключатель
- •16. Операторы цикла.
- •17.1.Инструкции break, continue. Инструкция goto и метки. Пустой оператор
- •17.2.Инструкции break, continue. Инструкция goto и метки. Пустой оператор
- •Пустой оператор
- •18.1.Классы памяти.
- •18.2.Классы памяти.
- •19.1. Функции. Определение ф-ций.
- •Определение ф-ции
- •19.2. Функции. Определение ф-ций.
- •21. Структура программы на языке Си
- •22. Директивы #define и # undef.
- •24,Директивы препроцессора. Препроцессорные операции.
- •Препроцессорные операции
- •25.1, Указатели.Операции &,*.
- •25.2, Указатели.Операции &,*.
- •26. Указатель на неопределенный тип.
- •27.1,Выражения и операции с указателями. Присваивание указателей
- •Сравнение указателей
- •27.2,Выражения и операции с указателями. Применение арифметических операций к указателям
- •29. Массивы и указатели.
- •30.Операции с указателями на массив. Адресная арифметика.
- •32.Массивы указателей. Указатели на указатели.
- •33.Массивы указателей на строки.
- •34.1,Передача параметров из операционной среды.
- •34.2,Передача параметров из операционной среды.
- •36.1,Динамичное распределение памяти.
- •36.2,Динамичное распределение памяти.
- •37,1,Структуры. Операции над структурами
- •37,2,Структуры. Операции над структурами
- •38.Массив структур. Правило выравнивания структурных переменных в памяти
- •39.1,Переименование типов. Средство typedef.
- •39.2,Переименование типов. Средство typedef.
- •40.Поля битов.
- •41.1,Объединения
- •41.2,Объединения
- •42.Ввод, вывод потока.
- •43.Доступ к файлам через поток ввода/вывода.Открытие потока.Закрытие потока.
- •44.1,Доступ к файлам через поток ввода/вывода.Функция потокового ввода вывода.
- •44.2,Доступ к файлам через поток ввода/вывода.Функция потокового ввода вывода.
- •45,Последовательный и прямой доступ в поток.
4.Элементы языка Си. Символы, лексемы, знаки операций.
1.Символы языка
а)прописные и строчные рус и лат буквы, арабские цифры.
б)спец символы и знаки пунктуации
. , : ; ? ‘ !
/ | \ ~ * + ( ) { } < > [ ]
# % & ^ - = “
в)пробельные символы
Эскейп-последовательности состоят из-за которой следуют буквы или цифры и используются для представления неграфических и пробельных символов, символьных и строковых констант.
\n-новая строка
\r-возврат каретки
\t-табуляция
\f-новая страница
\b-забой
\”-“
\\- \
2.Лексемы
Лексема-это единица текста программы, которая не может быть разбита в дальнейшем и имеет определенный смысл для компилятора: знаки пунктуации, знаки операций, константы , идентификаторы, ключевые слова. Лексемы отделяются друг от друга пробельными символами и другими лексемами. Если лексемы не отделены пробелами, то компилятор выделяя отдельную лексему , объединяет столько символов, сколько возможно ,прежде чем перейти к следующей лексеме.
5.Элементы языка Си. Константы, идентификаторы, ключевые слова, комментарии.
В Си различают 4-е типа констант: целые, с плавающей точкой, символьные, строковые.
Целые: формат 10-чной константы—цифры от 0 до 9, формат 8-чной константы—от 0 до 7, формат 16-чной—от 0 до 9 и от А до F.
Целой константе присваивается тип, который зависит от ее значения .
С плавающей точкой: Десятичное число представляется в виде действительной величины с десятичной точкой или экспонентой.
[цифры] [цифры] [Е\е(+\-)цифры]
Символьные: Это символы заключенные в ‘ ‘. Значением символьной константы является числовой код символа. Т.к. эскейп-последовательность рассматривается как одиночный символ, ее тоже можно использовать в символьной константе.
Строковые: это последовательность символов , заключенная в “ “. Компилятор добавляет в конец строковой константы символ ‘\0’. Фактически стринг - это массив символов, число элементов которого = числу символов стринга + 1.
Идентификатор.
Идентификаторы состоят из букв, цифр, первой из которых явл. буква. Длина идентификатора создается при его объявлении в программе.
Ключевые слова- предопределенные идентификаторы , которые имеют спец назначения для компьютера. Их нельзя использовать в качестве идентификатора.
Комментарий - последовательность символов, рассматриваемая компилятором как отдельный пробельный символ и игнорируется.
6.Типы данных.
Типы данных бывают скалярные и составные. Скалярные типы делятся на указатели и арифметические, к-рые в свою очередь можно разделить на целые и плавающие
Целые тип
Тип |
Размер памяти
|
Диапазон значений |
Char |
1 |
-128 – 127 |
Int |
Зависит от реализ |
--- |
Short |
2 |
-32768—32767 |
Long |
4 |
-2147483648—2147483647 |
Unsigned char |
1 |
0 – 255 |
Unsigned int |
-- |
-- |
Unsigned short |
2 |
0 – 65535 |
Unsigned long |
4 |
0 -- 4294967295 |
Тип char используется для представления символов из множества представляемых символов и по умолчанию интерпретируется как однобайтовая целая величина. Значение объекта типа char явл код символов из набора кода ПЭВМ. Коды 0 – 127 имеют символьный эквивалент. Если значением объекта типа char должны быть русские буквы, то необходимо объявлять переменную как unsigned char .
Переменные типа int и unsigned int не имеют жестко закрепленных размеров и зависят от реализации. Обычно они совпадают или с типом short или с long.
Ключевое слово unsigned указывает на то , что нулевой тип рассматривается как часть числа, а signed , что нулевой бит указывает на знак. Слова unsigned и signed могут использоваться самостоятельно и эквивалентны типу unsigned int.
Плавающие типы:
Float—4 байта (1 бит- знак, 8- экспонента, 23- мантиса)
Double —8 байта (1 бит- знак, 11- экспонента, 52- мантиса)
Long double
Тип long double используется для обозначения чисел повышенной точности. Размер памяти зависит от реализации.