Главная

Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Int i; // объявление целочисленной переменной


Double as, ptr; // одновременное объявление двух переменных типа double,

// обратите внимание где ставятся запятая и точка с

// запятой

После объявления переменной её значение ещё не определено. В программе допускается одновременно с объявлением переменной задать её значение или инициализировать:

int j, k=0, ini=1; // j – не определено, k равно 0, ini равно 1

В C++ определена операция присваивания =, а не оператор присваивания, как в некоторых языках. Таким образом, присваивание может встречаться в неожиданном контексте:

x=sqrt(a=3*x); // сначала выполняются действия внутри скобок

a=b=c; // присваивание переменной b, затем переменной a значения c.

 

Наряду с переменными в программе используются константы.

v Константа – это число записываемое явным образом.

Так, 211 – целочисленная, а 5.123 – вещественная константа. Зачастую в программе нужно использовать постоянное повторяющееся число, например число p. Удобно объявить его константой, определить значение и использовать многократно. По правилам С++ значение константы следует задавать одновременно с описанием:

const double pi=3.14159; // приближенное определение p. Тип и

// значение обязательны!

double r=2,s;

s=2*pi*r; // вычисляем длину окружности.

þ Запомните, что в ходе выполнения программы значение константы piизменять нельзя, впрочем, сделать этого вам не позволит компилятор, выдав сообщение об ошибке.

Другие примеры:

const int months=12;

const double alf=1878.12

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

Десятичная константа

X42 // шестнадцатеричная константа, начинается с 0х

Восьмеричная константа, начинается с 0

 

Арифметические операции.

К любой комбинации основных типов переменных могут применяться арифметические операции: сложения, вычитания, умножения и деления, которые выполняются с помощью операторов: +, -, *, / (как и в других языках). Кроме того, над целыми числами и целочисленными переменными может выполняться операция % ‑ получения остатка:

k = 7%2 // результат равен 1

В языке С++ используется традиционные правила приоритета операций. Достойным отдельного упоминания являются инкремент и декремент ++ и --. Пример:

i++; //i увеличивается на 1. Равносильно i=i+1; j--; //j уменьшается на 1. Можно написать и --j;

Между вариантами d++ и ++d есть некоторая разница. Сравните:

int d=1, e; e=d++; //После этого оператора d=2, e=1

и

int d=1, e;e=++d; //После этого оператора d=2, e=2

В первом случае сначала переменной e присваивается значение d, а затем d увеличивается на единицу, во втором случае наоборот, сначала увеличивается d, а затем выполняется оператор присваивания. То есть, действует правило: если оператор инкремента (декремента) расположен справа от переменной (префикс), то сначала выполняется присваивание, а затем увеличение (уменьшение) на единицу. А если оператор расположен слева (постфикс), то сначала выполняется оператор инкремента (декремента), а затем присваивание. Кроме операций инкремента и декремента в С++ используются и другие постфиксные и префиксные операции. Например, возможны такие выражения:

sum += i; // Равносильно sum=sum+i;prod *= k; // Равносильно prod = prod*k; Разумеется, такая форма записи возможна для всех арифметических операторов.

þ На начальном этапе изучения С++ рекомендую не очень “зацикливаться” на этих операциях. Писать эффективные программы можно и без их использования, впрочем, более подробно их описание приводится в Приложении 1.

Как писал Бьёрн Страуструп, при присваивании и арифметических операциях C++ выполняет все осмысленные преобразования между основными типами, чтобы их можно было сочетать без ограничений:

double d = 1;

int i = 1;

d = d + i;

i = d + i;

þ Очевидно, что последнее преобразование чревато ошибкой, так как длина целочисленной переменной iменьше длинывещественной переменной d !

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

d = d + double(i);

Явное преобразование типов, выполненное к переменной типа char, позволяет получить ее номер в таблице символов ASCII. И наоборот, явно преобразуя целочисленную переменную к типу char, получаем соответствующий её номеру символ в ASCII – таблице:

#include <iostream.h>

Void main()

{

int i;

cout<<”input integer number < 128 ”; // приглашение ввести целое число,

// меньшее 128

cin>>i; // ввод числа с клавиатуры

cout<<char (i)<<endl; // явное преобразование, вывод символа

}

В приведенном примере используется потоковый ввод значения переменной со стандартного устройства ввода (клавиатуры) при помощи cin. Строка текста, которая предшествует объекту cin не обязательна, но очень полезна, т.к. поясняет пользователю программы, что от него требуется. Обратите внимание на специальное «слово» - endl. Оно предписывает после вывода символа char(i) перевести курсор на новую строку.

Контрольные вопросы. А



Последнее изменение этой страницы: 2016-07-22

headinsider.info. Все права принадлежат авторам данных материалов.