Большинство программ предназначено для решения прикладных задач. В программах это выполняется путем обработки информации. Для решения задачи программа должна выполнить следующие действия:
- ввести информацию в программу;
- запомнить введенную информацию;
- задать команды для обработки информации;
- передать информацию из программы пользователю,
Команды в программе должны быть организованы таким образом, чтобы:
- некоторые из них выполнялись только при истинном значении заданного условия (или набора условий);
- другие команды выполнялись многократно;
- отдельные команды разделены на части, и выполняемые из разных участков программы.
Итак, из выше описанных действий можно выделить семь основных элементов программирования: ввод, типы данных, операции, вывод, условное выполнение, циклы и подпрограммы ( функции для языка Си).
В большинстве языков программирования имеются все указанные элементы. Во многих языках, включая Си, имеются и другие средства. Однако, наиболее быстрый способ изучения нового языка основан на понимании того, как в данном языке реализованы перечисленные основные элементы программирования.
Есть шесть классов лексем: идентификаторы, ключевые слова, константы, строки, операторы и разделители.
Идентификаторы: последовательность букв и цифр произвольной длины. Первый символ-буква, например, 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].
Символьная константа состоит из символа, заключенного в апострофы (например, ‘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”
“Это одна \*\
строка”
Имена и типы. Имя обозначает объект, функцию, тип, значение или метку. Имя может использоваться только внутри части текста программы, называемой его областью видимости. Имя имеет тип, определяющий его использование.
Объект – это область памяти. Объект имеет класс памяти, определяющий время его жизни.
Область видимости. Существует четыре ее вида: локальная, файл, программа и класс.
Локальная область- имя, описанное в блоке, локально в этом блоке и может использоваться только в нем. Исключения составляют метки, которые могут использоваться в любом месте функции, в которой они описаны.
Файл – имя, описанное вне любого блока. Программа – имя, описанное в файле, может использоваться в любом другом файле.
Класс - имя члена класса, локально для его класса и может использоваться только в функции-члене этого класса.