Опубликован: 25.08.2010 | Доступ: свободный | Студентов: 6099 / 598 | Оценка: 3.91 / 3.44 | Длительность: 11:09:00
Лекция 1:

Основные понятия языка

Лекция 1: 123 || Лекция 2 >

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

Ключевые слова - это зарезервированные идентификаторы, которые имеют специальное значение для компилятора. Их можно использовать только в том смысле, в котором они определены. Далее приведен список ключевых слов С++.

asm do if return typedef
auto double inline short typeid
bool dynamic _ cast int signed typename
break else long sizeof union
case enum mutable static unsigned
catch explicit namespace static_cast using
char export new struct virtual
class extern operator switch void
const false private template volatile
const_cast float protected this wchar_t
continue for public throw while
default friend register true

Знаки операций

Знак операции - это один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются. Символы, составляющие знак операции, могут быть как специальными, например, &&, | и <, так и буквенными, такими как reinterpret_cast или new.

Операции делятся на унарные, бинарные и тернарную по количеству участвующих в них операндов. Большинство стандартных операций может быть переопределено (перегружено).

Константы

Константами называют неизменяемые величины. Есть логические, целые, вещественные, символьные и строковые константы. Компилятор, выделив константу в качестве лексемы, относит ее к одному из типов по ее внешнему виду. Программист может задать тип константы и явным образом.

Форматы констант, соответствующие каждому типу, приведены в таблице 1.1.

Таблица 1.1. Константы языка С++
Константа Формат Примеры
Логическая Обозначается ключевым словом true или false true, false
Целая Десятичный: последовательность десятичных цифр, начинающаяся не с нуля, если это не число нуль 8, 0, 199226
Восьмеричный: нуль, за которым следуют восьмеричные цифры (0, 1, 2, 3, 4, 5, 6, 7) 01, 020, 07155
Шестнадцатеричный: 0х или 0Х, за которым следуют шестнадцатеричные цифры (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) 0xA, 0x1B8, 0X00FF, 0X00ff
Вещественная Десятичный: [цифры].[цифры] 5.7, 0.001, 35
Экспоненциальный: [цифры][.][цифры]{E|e}[+|-][цифры] 0.2E6, .11e-3, 5E10, 1.22E-10
Символьная Один или более символов, заключенных в апострофы 'A', 'ю', '*', 'db', 'A', '\n', '\012', '\x07\x07'
Строковая Последовательность символов, заключенная в кавычки "Здесь был Vasia", "\tСумма =\xF5\n"

Допустимые диапазоны значений целых и вещественных констант приведены в таблице 1.2.

Таблица 1.2. Диапазоны значений основных типов данных для IBM PC
Тип Диапазон значений Размер (байт)
bool true и false 1
signed char -128 … 127 1
unsigned char 0 … 255 1
signed short int -32 768 … 32 767 2
unsigned short int 0 … 65 535 2
signed int -2 147 483 648 … 2 147 483 647 4
unsigned int 0 … 4 294 967 295 4
signed long int -2 147 483 648 … 2 147 483 647 4
unsigned long int 0 … 4 294 967 295 4
float 3.4e-38 … 3.4e+38 4
double 1.7e-308 … 1.7e+308 8
long double 3.4e-4932 … 3.4e+4932 10

Если требуется сформировать отрицательную целую или вещественную константу, то перед ней ставится знак унарной операции изменения знака (-), например, -218.

Вещественная константа в экспоненциальном формате представляется в виде мантиссы и порядка. Значение константы определяется как произведение мантиссы и возведенного в указанную в порядке степень числа 10 (например, 1.3e12 это 1,3 * 1012). При записи вещественного числа могут быть опущены либо целая часть, либо дробная, но, конечно, не обе сразу. Пробелы внутри числа не допускаются.

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

Если перед символьным литералом указан символ L, то литерал называется широким.Если L отсутствует, литерал называется обычным, или узким. Обычный символьный литерал имеет тип char, широкий - тип wchar_t (о типах - далее в этой лекции).

Некоторые символы набора реализации являются непечатаемыми.Они предназначены для управления процессом отображения печатаемых символов на экране или принтере. Для представления в программе непечатаемых символов используется управляющая последовательность ( escape sequence ) -последовательность символов, начинающаяся с обратной косой черты \ ( backslash ). Кроме того, символы ' (апостроф), " (кавычки), ? (вопрос) и сама обратная косая черта являются специальными символами и также представляются в виде управляющих последовательностей.

В общем виде управляющая последовательность может быть задана в двух формах:

\000

\xhhh

Здесь 000 представляет собой последовательность от одной до трех восьмеричных цифр, а hhh - последовательность от одной до трех шестнадцатеричных цифр, которая задает код символа. При выводе кода символа на принтер или экран вместо кода изображается печатаемый символ или выполняется определяемое кодом действие (например, перевод курсора на следующую строку).

Допустимые значения кодов ooo ( hhh ) определяются реализацией. Коды обычных символов и широких символов различаются. Нулевой символ '\0' (L'\0' для широких) является обязательным в составе набора символов реализации, поскольку играет особую роль в представлении строковых литералов.

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

"Издательский дом \"Питер\""

Тем не менее, апостроф разрешается задавать без обратной косой черты, например:

"Издательский дом 'Питер'"

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

Длинную строковую константу можно разместить на нескольких строках программы, используя в качестве знака переноса обратную косую черту, за которой следует перевод строки. Эти символы игнорируются компилятором, при этом следующая строка программы воспринимается как продолжение предыдущей. Например, строка

"Никто не доволен своей \

внешностью, но каждый доволен \

своим умом"

эквивалентна строке

"Никто не доволен своей внешностью, но каждый доволен своим умом"

Кавычки пишутся только в начале и в конце многострочного литерала.

Строковые литералы так же, как и символьные, подразделяются на обычные (узкие) и широкие.

Директивы препроцессора и комментарии

Директивы препроцессора предназначены для обработки исходного текста программы перед компиляцией. Любая директива должна начинаться с символа #. На каждой строке может располагаться только одна директива. Например, по директиве

#include "myfile"

в текст программы будет вставлено содержимое так называемого заголовочного файла с именем myfile. Заголовочные файлы содержат различную информацию, необходимую для успешной компиляции программы.

Комментарии предназначены для записи пояснений к программе. В С++ есть два вида комментариев: однострочные и многострочные. Первый вид начинается с двух символов // ("прямая косая черта") и занимает одну строку. Второй вид комментариев начинается с двух символов /* и завершается двумя символами */.

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

Лекция 1: 123 || Лекция 2 >
Dana Kanatkyzi
Dana Kanatkyzi
Здравствуйте.Помогите решить задачу минимум 4 чисел.Условие такое:"Напишите функцию int min (int a, int b, int c, int d) (C/C++)"находящую наименьшее из четырех данных чисел."Заранее спасибо!
Юрий Семевский
Юрий Семевский
Россия, Санкт-Петербург
Александр Богдашов
Александр Богдашов
Россия