Ключевые слова и синтаксис языка
Основные элементы программирования
Большинство программ предназначено для решения прикладных задач. В программах это выполняется путем обработки информации. Для решения задачи программа должна выполнить следующие действия:
- ввести информацию в программу;
- запомнить введенную информацию;
- задать команды для обработки информации;
- передать информацию из программы пользователю,
Команды в программе должны быть организованы таким образом, чтобы:
- некоторые из них выполнялись только при истинном значении заданного условия (или набора условий);
- другие команды выполнялись многократно;
- отдельные команды разделены на части, и выполняемые из разных участков программы.
Итак, из выше описанных действий можно выделить семь основных элементов программирования: ввод, типы данных, операции, вывод, условное выполнение, циклы и подпрограммы ( функции для языка Си).
В большинстве языков программирования имеются все указанные элементы. Во многих языках, включая Си, имеются и другие средства. Однако, наиболее быстрый способ изучения нового языка основан на понимании того, как в данном языке реализованы перечисленные основные элементы программирования.
Синтаксис языка C
Есть шесть классов лексем: идентификаторы, ключевые слова, константы, строки, операторы и разделители.
Идентификаторы: последовательность букв и цифр произвольной длины. Первый символ-буква, например, NAME1, name 1, Name 1, name_1…
Ключевые слова: Они зарезервированы для языка и не могут использоваться другим образом. Список ключевых слов языка представлен в табл.1.1
Таблица 1.1
Ключевые слова языка
Типы данных | Операторы | |||||
Eng | Рус | Eng | Рус | |||
Сhar | Символ | Asm | ||||
Class | Класс | Break | Прерывание | |||
Double | Двойной | Case | Выбор | |||
Enum | Перечень | Continue | Продолжение | |||
Float | Плавающий | Default | По молчанию | |||
Продолжение табл. 1.1 | ||||||
Int | Целый | Delete | Удалять | |||
Long | Длинное целое | Do | Делать | |||
Short | Короткое целое | Else | Иначе | |||
Struct | Структура | For | Для | |||
Union | Объединение | Go to | Идти (переход) | |||
Unsigned | Беззнаковый | If | Если | |||
Void | Пустой | New | Новый | |||
Return | Возврат | Switch | Прерывать | |||
Extern | Внешняя | Inline | В линию | |||
Register | Регистр | Const | Постоянный | |||
Overload | Переопределение | Typedef | Тип переменной | |||
Auto | Автоматически | While | Пока | |||
Static | Статический | Public | Открытый | |||
Константы: целые, символьные, с плавающей точкой, строки.
Целая – последовательность цифр. Константа - восьмеричная, если начинается с 0, в противном случае – десятичная. Цифры 8 и 9 не являются восьмеричными цифрами. Последовательность цифр 0X или 0x воспринимается как шестнадцатеричное целое число. В шестнадцатеричные цифры входят буквы от A до F(f), имеющие значения 10 – 15.
Примеры: 0x53=83; 0xF=15; 0xA = 10.
Константа, значение которой превышает наибольшее машинное целое со знаком, считается длинной (long), в остальных случаях константы считаются целыми (int).
Длинные константы: десятичная, восьмеричная или шестнадцатеричная константа, за которой непосредственно стоит буква L (l), считается длинной константой.
Примеры: 12l - десятичная,
0123L - восьмеричная,
0xaaaal - шестнадцатеричная.
Перевод чисел из одной системы счисления в другую приведен в табл. 1.2.
Для представления шестнадцатеричного числа в двоичном коде надо заменить двоичной записью каждую цифру этого числа. Например, числа 0xAB01 и 0x53, представленные в двоичном виде, переводятся в десятичные по известной формуле перевода [1].
Таблица 1.2
Таблица перевода чисел
Десятичное число | Шестнадцате-ричное число | Двоичная запись числа | Восьмерич-ная запись числа | Шестнадцате-рич-ная запись числа |
0x0 | ||||
0x1 | ||||
0x2 | ||||
0x3 | ||||
0x4 | ||||
0x5 | ||||
0x6 | ||||
0x7 | ||||
0x8 | ||||
0x9 | ||||
A | 0xA | |||
B | 0xB | |||
C | 0xC | |||
D | 0xD | |||
E | 0xE | |||
F | 0xF |
A B 0 1
1010 1011 0000 0001 –> 1010101100000001=
1 * 215 + 0 * 214 + 1 * 213 + 0 * 212 + 1 * 211 + 0 * 210 + 1 * 29+ 1 * 28 + … 1 * 20 = 43777;
0x53 = 01010011 = 0 * 27 + 1 * 26 + 0 * 25 + 1 * 24 + 0 * 23 + 0 * 22 + 1* 21 + 1 * 20 = 83;
Символьная константа состоит из символа, заключенного в апострофы (например, ‘x’). Значением символьной константы считается численное значение константы в машинном наборе (алфавите). Символьные константы считаются данными типа char. Использование неграфических символов, однозначная кавычка ‘ и обратная косая \ производится в соответствии с табл.1.3
Таблица 1.3
Использование специальных символов
Название | Обозначение |
Символ новой строки | \n |
Горизонтальная табуляция | \t |
Вертикальная табуляция | \v |
Возврат на шаг | \b |
Возврат каретки | \v |
Продолжение табл. 1.3 | |
Название | Обозначение |
Перевод формата | \f |
Обратная кавычка | \\ |
Апостроф | \’ |
Набор битов 0ddd | \ddd |
Набор битов 0xddd | \xddd |
Пустой символ | \0 |
Последовательность \ddd состоит из обратной косой, за которой следуют 1, 2, 3 - восьмеричные цифры, задающие значение требуемого символа. \xddd та же последовательность, где 1, 2, 3 – шестнадцатеричные цифры.
Константы с плавающей точкой (с Е) используются для представления больших чисел в компактной форме.
Примеры: 345. = 345
3.14159
2.1Е5 = 210000
.123Е3 = 123
4037е-5 = .04037
Строки. Строка – это последовательность символов, заключенная в двойные кавычки “…”. Строка имеет тип char, а класс памяти static. Она инициализируется заданными символами. Все строки, даже если они занесены одинаково, различны. Компилятор располагает в конце каждой строки нулевой (пустой) байт \O с тем, чтобы сканирующая строку программа могла найти ее конец. В строке перед символом двойной кавычки должна стоять обязательно \. Кроме того, могут использоваться те же обозначения, что были описаны для символьных констант.
Примеры:
“Это строковая константа”
“A”
“Это одна \*\
строка”
Имена и типы. Имя обозначает объект, функцию, тип, значение или метку. Имя может использоваться только внутри части текста программы, называемой его областью видимости. Имя имеет тип, определяющий его использование.
Объект – это область памяти. Объект имеет класс памяти, определяющий время его жизни.
Область видимости. Существует четыре ее вида: локальная, файл, программа и класс.
Локальная область- имя, описанное в блоке, локально в этом блоке и может использоваться только в нем. Исключения составляют метки, которые могут использоваться в любом месте функции, в которой они описаны.
Файл – имя, описанное вне любого блока. Программа – имя, описанное в файле, может использоваться в любом другом файле.
Класс - имя члена класса, локально для его класса и может использоваться только в функции-члене этого класса.