Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Язки программирования.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.15 Mб
Скачать

Яз – языки программирования или информатика.

  1. Основные элементы языка С: азбука языка, комментарии, лексемы. Приведите примеры.

Под элементами языка понимаются его базовые конструкции, используемые при написании программ.

  • 26 строчных и 26 прописных букв латинского алфавита;

  • 10 цифр от 0 до 9;

  • специальные символы (знаки):

    • точка, запятая, точка с запятой, двоеточие,

    • апостроф, кавычки, вопросительный и восклицательный знаки,

    • знаки арифметических операций, операций отношения и так далее,

    • а также скобки: фигурные, прямые, круглые.

  • служебные (управляющие) символы:

    • звуковой сигнал, возврат курсора на 1 шаг;

    • горизонтальная табуляция, перевод курсора на новую строку;

    • перемещение курсора в начало строки и так далее.

1.3. Элементы языка с: Это Основные символы, Ключевые слова, Идентификаторы, Константы, Лексемы, Комментарии

Основные символы

Множество символов, используемых в языке C, можно разделить на пять групп:

  • символы, используемые для записи ключевых слов и идентификаторов, к которым относятся прописные и строчные буквы английского алфавита и символ подчеркивание ( _ ). Следует отметить, что одинаковые прописные и строчные буквы считаются различными символами, так как имеют различные коды (A, a – разные символы). Компиляторы языков C и C++ распознают прописные и строчные буквы;

  • арабские цифры 0, …, 9;

  • разделители: , . ; : ? ' " ! | / \ ~ * () {} [] <> + − & # % = _ ., использующиеся, с одной стороны, для организации процесса вычислений, а с другой – для передачи компилятору определенного набора инструкций;

  • пробельные символы (пробел, символы табуляции, перевода строки, конца файла), отделяющие друг от друга объекты, определяемые пользователем (константы, идентификаторы). Последовательность пробельных символов рассматривается компилятором как один символ (последовательность пробелов);

  • ESC-символы (escape-символы, escape-последовательности или управляющие последовательности), т. е. последовательность символов, начинающаяся с символа \ (обратной наклонной черты), используемая для представления в программе кода одного символа, как печатаемого, так и непечатаемого (управляющего).

\a – звуковой сигнал

\b – возврат на шаг

\f – перевод страницы

\n  новая строка

\r – возврат каретки

\t – гориз. табуляция

\v – верт. табуляция

\\ – наклонная черта

\" – двойная кавычка

\' – одиночная кавычка

\ooo – 8-ричный код

\xhh – 16-ричный код.

Так, например, escape-последовательность'\252' представляет собой символ '№', а '\x1b' – соответствует нажатию клавиши ESC.

Ключевые слова

Зарезервированные языком C служебные слова, имеющие определенный смысл для компилятора, приведены в табл. 1.1.

Таблица 1.1

Auto

do

For

Return

switch

const

break

double

Goto

Short

typedef

restrict

case

else

If

Signed

union

volatile

char

enum

Int

Sizeof

unsigned

_Bool

continue

extern

Long

Static

void

_Complex

default

float

Register

Struct

while

_Imaginary

В качестве ключевых слов в C++ появились дополнительно:asm, catch, class, delete, friend, inline, new, operator, overload, private, protected, public,template, this, throw, try, virtual.

Идентификаторы

Идентификатором называется имя какого-либо объекта в программе (переменной, функции и т. д.).

Для образования идентификаторов могут быть использованы строчные или прописные буквы латинского алфавита, цифры и символ подчеркивание '_'. Первым символом в идентификаторе должна быть буква. Допускается использование в качестве первого символа знака подчеркивания '_'.

Важной особенностью является то, что компилятор допускает любое количество символов в идентификаторе. Идентификатор создается на этапе объявления переменной, функции, структуры и т. п. После этого его можно использовать в последующих инструкциях разрабатываемой программы.

Отметим ряд ограничений при выборе идентификатора.

Во-первых, идентификатор не должен совпадать с ключевыми и зарезервированными словами, именами библиотечных функций.

Во-вторых, следует обратить особое внимание на использование символа подчеркивание в качестве первого символа идентификатора. Идентификаторы, построенные таким образом, с одной стороны, могут совпадать с именами системных функций / переменных, а с другой стороны, при использовании таких идентификаторов программы могут оказаться непереносимыми, т. е. их нельзя будет использовать на компьютерах других типов, поэтому целесообразно начинать идентификатор со строчной буквы, например,x1, a_prim и т. д.

Константы

Константами называются неизменяемые в программе величины.

В языке C определены следующие типы констант:

  • целые;

  • с плавающей точкой;

  • символьные;

  • строковые (литералы).

Целая константа – целое положительное число, представленное в десятичной, восьмеричной или шестнадцатеричной системах счисления.

Десятичная константа состоит из одной или нескольких десятичных цифр, причем первая цифра не должна быть нулем (в противном случае число будет воспринято как восьмеричное), например, 385.

Восьмеричная константа состоит из обязательного нуля и одной или нескольких восьмеричных цифр (0,1,2,3,4,5,6,7), например, 017.

Шестнадцатеричная константа начинается с обязательной последовательности 0х или 0Х и содержит одну или несколько шестнадцатеричных цифр(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F), например, 0x6E или 0x6e.

Для формирования отрицательной целой константы используют знак минус перед записью константы, называемый унарным минусом:

–42, –073, –0x5F.

Каждой целой константе присваивается тип, определяющий преобразования, которые должны быть выполнены, если константа используется в выражениях.

Тип константы определяется автоматически в зависимости от значения константы, при этом выбирается самый компактный тип (объемы памяти, занимаемые переменными различных типов, приведены в табл. 2.1).

Для того чтобы любой целой константе был присвоен тип long, достаточно в конце константы поставить букву l или L, например, 5l,6l, 128L,0105L,0X2A1L.

Константа с плавающей точкой представляется в виде десятичного числа в формате с фиксированной точкой ([ цифры ] . [ цифры ]) или с плавающей точкой ([ цифры ]. [ цифры ] [ Е/e [+|–] цифры ]), т. е. в экспоненциальном (полулогарифмическом) виде.

Константы с плавающей точкой состоят из целой и дробной части и (или) экспоненты. Константы с плавающей точкой по умолчанию представляют собой положительные величины удвоенной точности, т. е. имеют тип double. Например, 3.14159; 3E8; 1..2; 3.73e–19.

Если константа заканчивается символом F или f, то она имеет тип float, а если L или l, то long double (42.F; 1.602e –19L).

Символьная константа представляется символом, заключенным в апострофы:'m','7',';' . Значением символьной константы является числовой код символа таблицы ASCII.

Управляющие последовательности, т. е. специальные символьные комбинации, используемые в функциях ввода/вывода информации, рассматриваются как одиночные символы, и их допустимо использовать в символьных константах. Напомним, что управляющая (escape) последовательность использует обратную наклонную черту – слэш (обязательный первый символ) и комбинацию латинских букв и цифр: '\n' – новая строка; '\a' – звонок; '\v' – вертикальная табуляция и т. д.

Символьные константы в языке C и C++ имеют тип char.

Строковая константа (литерал) – это последовательность символов, включающая строчные и прописные буквы русского и латинского алфавитов, цифры и знаки, заключенные в кавычки, например, "C++";"Hello, Mary","2005 год".

В конец каждого строкового литерала компилятором добавляется нулевой символ, представляемый управляющей последовательностью '\0'.

Строковый литерал имеет типstatic char (статический массив символов). Число элементов массива равно числу символов в строке плюс 1, так как компилятор добавляет нулевой символ в конец литерала. Все строковые литералы рассматриваются компилятором как различные объекты. Если в программе используется несколько идентичных строк, то каждая будет помещена в свою область памяти. Однако некоторые компиляторы имеют опцию, позволяющую хранить в памяти только одну из идентичных строковых констант.