Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_Раб_1С++ (1).doc
Скачиваний:
5
Добавлен:
16.11.2019
Размер:
419.84 Кб
Скачать

Расположение описаний констант и переменных в исходном тексте

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

Пример 1

#include <iostream.h>

#include<conio.h>

const float PI = 3.1416;

void main() {

float radius = 0;

cout << "Введите радиус окружности.\n";

cin >> radius;

cout << "Длина окружности радиуса " << radius;

cout << " примерно равна " << 2*PI*radius << ".\n";

getch();

}

Символьные константы

Символьная константа состоит из символа, заключенного в одиночные кавычки (апострофы), как, например, 'х'. Значением символьной константы является численное значение символа в машинном наборе символов (алфавите). Символьные константы считаются данными типа int. Некоторые неграфические символы, одиночная кавычка ' и обратная косая \, могут быть представлены в соответствие с таблицей 1.

Таблица 1

Неграфические символы языка С++

символ новой строки

NL(LF)

\n

горизонтальная табуляция

NT

\t

вертикальная табуляция

VT

\v

возврат на шаг

BS

\b

возврат каретки

CR

\r

перевод формата

FF

\f

обратная косая

\

\\

одиночная кавычка (апостроф)

'

\'

набор битов

0ddd

\ddd

набор битов

0xddd

\xddd

Оператор присваивания Краткая форма записи операторов присваивания

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

number = number + 1;

Переменным часто присваиваются значения, вычисленные на основе их старых значений. Поэтому в С++ была введена краткая форма записи для подобных операторов присваивания. Любую из операций "+" (сложение), "-" (вычитание), "*" (умножение), "/" (деление) и "%" (остаток от деления нацело) можно указать в качестве префикса оператора присваивания ("=") (cм. следующую таблицу).

Пример: Эквивалентное выражение:

number += 1;

total -= discount;

bonus *= 2;

time /= rush_factor;

change %= 100;

amount *= count1 + count2;

number = number + 1;

total = total - discount;

bonus = bonus * 2;

time = time / rush_factor;

change = change % 100;

amount = amount * (count1 + count2);

Первый пример допускает еще более краткую запись с помощью оператора инкремента "++":

number++;

Оператор "++" существует и в префиксной форме:

++number;

Постфиксная и префиксная форма записи имеют важное различие, которое необходимо помнить. Префиксный оператор применяется ДО вычисления остальной части выражения, а постфиксный – ПОСЛЕ. Например, после выполнения операторов

x = 4;

y = x++;

переменная "x" получит значение 5, а "y" – значение 4. В случае операторов

x = 4;

y = ++x;

обе переменные получат значение 5. Это объясняется тем, что "++x" выполняется до того, как значение "x" будет использовано в выражении, а "x++" – после. В С++ существует аналогичный оператор декремента "--", уменьшающий значение переменной на 1, и у него тоже есть префиксная и постфиксная форма.

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

(y = ++x) == 5

Это выражение означает следующее: "после присвоения переменной y инкрементированного значения x проверить, не равно ли значение y числу 5".

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]