Программа –это последовательность препроцессорных директив, описаний и определений глобальных объектов и функций.
В программе должна быть обязательно определена одна и только одна функция с именем main(), ее называют главной функцией. Функция main()является точкой входа из операционной системы в программу. Кроме этой функции в программе могут быть определены любое количество других функций. . Функция main()является точкой входа из операционной системы в программу и имеет две формы записи:
void main()илиint main()
{...} {...
return 0;}
Во втором случае при успешном завершении программы в ОС передается 0. Всякое иное значение, кроме 0, является ошибка.
В алфавит языка С++ входят:
· прописные и строчные буквы латинского алфавита a…z, A…Z;
· цифры 0,1,2,3,4,5,6,7,8,9;
· специальные знаки “ { } [ ] ( ) | + – / % ; ‘ : ? <
Лексема – это единица текста программы, которая имеет определенный смысл для компилятора и которая не может быть разбита в дальнейшем. Существуют следующие лексемы:
· идентификаторы – последовательность букв латинского алфавита, цифр и символов подчеркивания, начинающаяся не с цифры;
· константы – изображение фиксированного числового, символьного или строкового значения;
· ключевые (служебные) слова – идентификаторы зарезервированные в языке для специального пользования;
· разделители – знаки пунктуации;
· знаки операций.
Пробел не является лексемой.
Знаки операций
С помощью знаков операции записываются вычисляемые выражения. Члены выражений называются операндами. К простейшим операндам относятся константы, идентификаторы и выражения, которые могут быть заключены в круглые скобки.
Знаки операции бывают унарные, которые работают с одним операндом, бинарные – с двумя операндами и одна операция трехарная(условная) – с тремя операндами.
Унарные знаки операции
· & – операция получения адреса; //int a=9; &a®адрес FF0B:001A
· – + – унарный минус (плюс); // –9 +8 –а
· ! – логическое отрицание, применяется к скалярным операндам, результат 1 (истина), если значение операнда 0 (ложь), результат 0 (ложь), если значение операнда не нуль (истина).
Например: !0®1, !(4>5)® 1, !(0<8)® 0,!5 ® 0;
· ++ (––) – инкремент (декремент) увеличение (уменьшение) операнда на единицу. Операнд – переменная.
Например: k1=7; k2=10; ++k1; k2--;получим k1=8 k2=9.
Имеются префиксная операция – увеличение (уменьшение) операнда до его использования, т.е. сначала к переменной прибавляется 1, а потом присваивается новое значение:
А=5; с=++а; получим а=а+1=6 с=а=6.
постпрефиксная – увеличение (уменьшение) операнда после его использования, т.е. сначала присваивается старое значение, а потом к переменной прибавляется 1:
B=5; d=b++; получим d=b=5 b=b+1=6.
· sizeof(…) – операция вычисления размера (в байтах) типа, который имеет операнд, разрешается два формата: sizeof(унарное выражение)иsizeof(тип).
Например: long x; sizeof(x) ® 4; sizeof(double) ® 8.
Бинарные знаки операции
· + – * – сложение, вычитание, умножение операндов;
Например: a+b a-5 a*d;
· / – деление операндов, причем при целочисленных значениях операндов результат будет целочисленным (дробная часть отбрасывается), а при хотя бы одном вещественном операнде – результат вещественный;
Например: 23/5®4, 23/5.0®4.6, 1/10®0, 1.0/10®0.1;
· % – получение остатка от деления только целочисленных операндов (в ВС++ результат будет отрицательным только при отрицательном делимом). Например: 57%2®1 49%10®9 23%5®3 -23%5®-3 23%(-5)®3 (-23)%(-5)®-3.
· операции отношения (сравнения): < –меньше, > –больше, <= –меньше или равно, >= – больше или равно, == – тождественно равно, != – не равно. Операнды – данные арифметического типа, результат целочисленный, 0 (ложь) или 1 (истина). Причем две последние операции имеют самый низкий приоритет.
Например: a>b x!=y d<=20 w==50
3>5==0>1®1 (3>5®0, 0>1®0, 0==0®1);
но (3>5==0)>1®0 (3>5®0, 0==0®1, 1>1®0);
· && ||– логическая конъюнкция (И), логическая дизъюнкция (ИЛИ) арифметических операндов или отношений, результат 0 (ложь) или 1 (истина).
Например: а=2 a>-5&&a<10 ® 1 a<-5||a>10 ® 0
Условная операция
В условной операции имеются три операнда и два символа:
Выражение_1? выражение_2: выражение_3;
Сначала вычисляется выражение_1, если оно истинно (не равно 0), то вычисляется выражение_2 и оно становится результатом, иначе вычисляется выражение_3,которое и будет результатом.
Например:f=-4; (f>5)?(f=5):(f=8); // f=8
Х=-3; x=x<0?–x:x; // х=3
X=3; y=(x>5)?x-10:x+20; // y=23
A=20; С=(A>5)?10:2; // С=10
Int My_value; // это переменная.
Если комментарий занимает более одной строки, то он вставляется в последовательность символов /*……*/. Например:
Моя первая программа на языке
Программирования С++*/.
Комментарии не могут быть вложенными.