Объявление переменных в программе.
Переменная представляет собой имя ячейки памяти, которая может хранить конкретное значение. В зависимости от типа хранимого значения, например, целое число, символ, число с плавающей запятой, тип переменной может быть разным. Прежде чем использовать переменную, ее необходимо объявить. Объявление переменной считается оператором, поэтому после объявления ставится точка с запятой. Имя переменной или идентификатор должно нести смысловую нагрузку, которая описывает использование переменной. Переменные одного и того же типа можно перечислить через запятую. Переменную можно объявить в любом месте программы. Если переменная объявлена вне всяких функций, в том числе main, она является глобальной и может использоваться в любом месте программы. Переменная, объявленная внутри блока, в том числе внутри функции (например, main), является локальной и может использоваться только внутри блока. Переменную можно объявить в выражении, например,
float f = x + y ;
В программе можно использовать константы. В отличие от переменной, константа не меняет свое значение в программе. Описание константы начинается со слова const.При объявлении переменной можно указать ее тип, иначе он будет определен автоматически. Т.к. в программировании важную роль играют 8 и 16 системы счисления, можно использовать 8 и 16-ричные константы. Восьмеричная константа начинается с цифры 0, шестнадцатеричная: 0х. например, 016, 01677 ― 8-ичные константы, 0х16, 0хА3В, 0xFFFF ― 16-ичные константы.
Общий вид объявления переменной:
<тип_переменой> <имя_переменной>
Основные типы переменных
Тип | Диапазон значений | Размер в байтах |
char(символ) | -128 . . . 128 Обычно используется для хранения букв | |
int(целый) | -32768 … 32767 | |
unsigned(целый без знака) | 0 … 65535 | |
long(длинный целый) | -2147483648 … 2147483647 | |
float(вещественный) | -3. 4E-38 … 3. 4E38 | |
Double(двойной вещественный) | 1.7E-308 … 1. 7E308 |
E означает 10 в степени
Пример.
int x, y, sum;
float radius;
Присваивание значений переменным
Оператор присваивания = знак «равно»
age =17; a=2; a=a*a; i=i+1 ;
При объявлении переменной ей можно присваивать начальное значение (инициализировать)
int age=17;
float distance =238857;
В отличие от других языков здесь оператор присваивания может использоваться в выражениях, которые также включают в себя операторы сравнения или логические операторы, например,
If (( f = x―y) > 0) cout << ²число х больше, чем у ²;
Еще одна особенность использования оператора присваивания:
a = b = c = x*y
Этот оператор выполняется справа налево.
Также имеются дополнительные операции присваивания: += - = /= *= % =
n = n + 5 аналогично n +=5
Здесь += аддитивная операция присваивания, в результате выполнения которой величина, стоящая справа прибавляется к значению переменной, стоящей слева
m -=20 m=m-20
m *=20 m=m*20
m /=20 m=m/20
m %=20 m=m%20
Операция х +=5 выполняется быстрее, чем х =х+5
Ввод с клавиатуры.
Для чтения ввода с клавиатуры используется входной поток cin, который является объектом класса istream (входной поток). При использовании cin необходимо указать переменную, в которую cin поместит данные. В cin используется оператор извлечения >> , который извлекает данные из входного потока.
Пример.
#include <iostream. h>
void main(void)
{
int a, b;
char simvol;
cout << ²введите два числа и нажмите enter: ² ;
cin >> a >> b;
cout << ²были введены числа: ² << a << b << endl;
cout << ²введите любой символ и нажмите enter: ²;
cin >> simvol;
cout << ² был введен символ ² << simvol << endl;
}
В текст программы необходимо включать комментарии. Комментарий в С++ начинается с / /. Когда компилятор встречает двойной слэш, он игнорирует весь текст в текущей строке, который следует за / / . Также можно заключать комментарий в символы /* */, такой комментарий может охватить несколько строк. Можно использовать пустые строки для разделения операторов. Пустые строки компилятор пропускает.
Основные операции
Математические: Сложение + вычитание -
умножение * деление / % остаток от целочисленного деления
Операция увеличения на 1 : + + (инкремент)
Операция уменьшения на 1 - - (декремент)
Операция увеличения можно записать::
а = а + 1, или а++, или a+=1
Существует префиксная(до) и постфиксная(после) операции увеличения
Пример:
а = b++; или a = b;
b = b + 1; постфиксная
a = ++b; или b = b + 1;
a = b; префиксная
Существуют аналогичные операции уменьшения.
Префиксные операции сначала производят увеличение или уменьшение значения переменной, а затем используют это значение.
Постфиксные операции сначала используют значение переменной, а затем увеличивают или уменьшают его.
Операции используются для записи выражений. Выражение―это некоторая допустимая комбинация переменных, констант, операций. Если операнды при записи операции имеют один и тот же тип, то и результат имеет тот же тип. Поэтому при выполнении например, операции деления над целыми числами остаток отбрасывается, т.е.
11 / 3 = 3 1 / 2 = 0
Для того, чтобы получить вещественное число, следует в записи числа использовать десятичную точку: 1. / 2. = 0.5
=> pow (x+y , 1. / 4.) или pow (x + y, 0.25)
Другие операции С++ и порядок их выполнения
Операция | имя | пример |
[ ] | индексация | a [ i ] |
( ) | вызов функции | sin(x), main(void) |
sizeof | размер типа | sizeof(int) |
++ | приращение после | a++ |
++ | приращение до | ++a |
-- | уменьшение после | a-- |
-- | уменьшение до | --a |
& | адрес объекта | &a |
* | разыменование | *a |
~ | Дополнение, инвертирует биты значений | ~a |
! | логическое НЕ | !a |
* | умножение | a * b |
/ | деление | a / b |
% | остаток от целочисленного деления | a % b |
+ | сложение | a + b |
― | вычитание | a - b |
<< | сдвиг влево; сдвигает биты значения влево на указанное количество разрядов | a<<1 |
>> | сдвиг разрядов вправо | a>>1 |
& | побитовое И | a&b |
| | побитовое ИЛИ | a | b |
^ | побитовое исключающее ИЛИ | a ^ b |
&& | логическое И | a&& b |
| | | логическое ИЛИ | a | | b |
< | меньше, чем | a<b |
> | больше, чем | a>b |
= = | равно | a= = b |
! = | не равно | a !=b |
Операции, находящиеся в верхней части имеют более высокий приоритет. Операции внутри каждой части имеют одинаковый приоритет. Управлять порядком выполнения арифметических операций можно с помощью круглых скобок.