Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание программ на С++.doc
Скачиваний:
15
Добавлен:
29.09.2019
Размер:
1.59 Mб
Скачать

Присваивание значения при объявлении

При объявлении переменной часто удобно присваивать ей начальное значение. Чтобы упростить такую процедуру, C++ позволяет присваивать значение во время объявления переменной, как показано ниже:

int age = 32;  float salary = 25000.75;  long distance_to_the_moon = 238857;

Многие программы, представленные в этой книге, присваивают значения переменным при объявлении.

Присваивание значений переменным

При выполнении программы переменные хранят информацию. Для записи значения в переменную программы должны использовать оператор присваивания C++ (знак равно). Следующая строка использует оператор присваивания для записи значения 4 в переменную lesson:

lesson = 4;

Для упрощения этого процесса в C++ можно также присвоить значение переменной при ее объявлении:

int lesson = 4;

Использование значения переменной

После присвоения значения переменной ваши программы могут использовать это значение, просто обращаясь к ее имени. Следующая программа SHOWVARS.CPP присваивает значения трем переменным и затем выводит значение каждой переменной, используя cout:

#include <iostream.h>

void main (void)

{     int age = 32,     float salary = 25000.75;     long distance_to_the_moon = 238857;     cout << "Служащему " << age << " года (лет)" << endl;     cout << "Оклад служащего составляет $" << salary << endl;     cout << "От земли до луны " << distance_to_the_moon << " миль" << endl;  }

Замечание: Последний оператор cout не помещается на одной строке. В этом случае программа просто переносит слова на следующую строку. Вы можете сделать такой перенос, поскольку C++ использует точку с запятой для указания конца оператора. Если вам необходимо перенести строку, постарайтесь не делать этого в середине символьной строки (внутри двойных кавычек), используйте дополнительный отступ для перенесенной части строки, как показано выше.

Когда вы откомпилируете и запустите эту программу, на экране появится следующий вывод:

С:\> SHOWVARS <ENTER>

Служащему 32 года (лет)

Оклад служащего составляет $25000.75

От земли до луны 238857 миль

Как видите, для использования значения переменной вы просто обращаетесь к имени переменной в вашей программе.

Превышение диапазона значений переменной

Как вы уже знаете, тип переменной определяет набор значений, которые переменная может хранить. Например, переменная типа int может хранить значения в диапазоне от -32768 до 32767. Если вы присваиваете переменной значение, которое находится вне этого диапазона, возникает ошибка переполнения. Например, следующая программа OVERFLOW.CPP иллюстрирует, как превышение диапазона значений переменной приводит к ошибке. Как видите, программа присваивает значения, которые находятся вне диапазона для переменной каждого типа:

#include <iostream.h>

void main(void)

{     int positive = 40000;     long big_positive = 4000000000;     char little_positive = 210;     cout << "сейчас positive содержит " << positive << endl;     cout << "сейчас big_positive содержит " << big_positive << endl;     cout << "сейчас little_poaitive содержит " << little_positive << endl; }

Когда вы откомпилируете и запустите эту программу, на вашем экране появится следующий вывод:

сейчас positive содержит -25536

сейчас big_positive содержит -294967296

сейчас little_positive содержит Т

Как видите, программа присваивает переменным типа int, long и char значения, которые находятся вне диапазона хранения каждого типа, поэтому возникает ошибка переполнения. При работе с переменными вам необходимо помнить диапазон значений, которые может хранить переменная каждого типа. Ошибки переполнения плохо уловимы, и поэтому их трудно определить и исправить. Обратите внимание на значение, которое программа выводит для переменной little_positive.Поскольку это переменная типа char, выходной поток cout пытается вывести ее значение в символьном виде. В этом случае выведенное значение соответствует второй половине таблицы ASCII со значением 210.