Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ по ПОА 2012.doc
Скачиваний:
7
Добавлен:
08.11.2019
Размер:
257.02 Кб
Скачать

Простые типы

К ним относятся:

char short int long float double bool

Первые четыре типа используются для представления целых (в том числе и тип char, так как представление символа – его код), последние два - для представления чисел с плавающей точкой, bool – для представления логических значений (только С++).

Переменная типа char обычно имеет размер 1 байт (1 символ), а переменная типа int имеет размер 2 или 4 байта (в зависимости от компилятора).

Перед типами short, int и long можно поставить прилагательное unsigned, что обозначает беззнаковый.

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

const float pi = 3.14;

const char plus = '+';

Символ, заключенный в одинарные кавычки, является символьной константой.

Константа должна инициализироваться при описании. Для переменных инициализация не обязательна, но настоятельно рекомендуется.

Операции над простыми типами

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

+ (плюс, унарный и бинарный)

- (минус, унарный и бинарный)

* (умножение)

/ (деление)

% (остаток от деления)

Следует заметить, что целое деление дает целый результат: 7/2 есть 3. Над целыми может выполняться операция % получения остатка: 7%2 равно 1.

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

Логические операции:

& (поразрядная операция И), && (логическое И)

| (поразрядная ИЛИ), || (логическое ИЛИ)

^ (исключающее ИЛИ)

<< (логический сдвиг влево)

>> (логический сдвиг вправо)

В языке C логические операции применяются к целым, так как в С нет отдельного логического типа данных. При этом значение 0 интерпретируется как «Ложь», а все значения, отличные от нуля – «Истина». В языке C++ имеется тип данных bool, однако логические операции также могут применяться и к целочисленным типам.

Операции сравнения:

== (два подряд идущих знака равно – сравнение на равенство)

!= (не равно)

< (меньше) > (больше)

<= (меньше или равно) >= (больше или равно)

В C++ есть операция присваивания =, а не оператор присваивания, как в некоторых языках, например, Турбо Паскале. Операция не только присваивает значение справа левому аргументу, но и возвращает это значение. Таким образом, присваивание может встречаться в неожиданном контексте; например, x=3*(a=2*x); Это бывает полезно: a=b=c; означает присвоение c переменной b, а затем переменной a.

Другим свойством операции присваивания является то, что она может совмещаться с большинством бинарных операций, таким образом, появляются операции +=, -=, *=, /=, %= (например, x+=5; то же самое, что x=x+5; ).

Операция ‘,’ (запятая) – операция последовательного вычисления. Вычисляет значение левого и правого операнда, возвращает значение правого операнда. Например: x=2, b=3 – то же самое, что и x=2; b=3;

Унарные операции:

Операция sizeof(объект) – возвращает размер в байтах того объекта, к которому применяется.

Операции -- и ++ - декремент и инкремент – уменьшают или увеличивают значение аргумента на 1. Могут быть записаны как перед операндом (префиксная форма), так и после операнда (постфиксная форма). Если знак операции записан перед операндом, то изменение операнда происходит до его использования в выражении. Например:

x=3; a=++x; //a=4, x=4

Ещё пример:

x=3; a=++x+ ++x; //a=10, x=5

В данном примере x увеличивается на единицу два раза, после чего вычисляется выражение.

В языке C++ имеется одна тернарная операция – условная операция, которая имеет следующий формат:

операнд1 ? операнд2 : операнд3

Если операнд1 не равен 0, то результатом операции будет являться значение операнда 2, иначе – операнда 3.

Операторы-выражения

Оператор-выражение состоит из выражения, за которым следует точка с запятой. Например: a = b*3+c; b*8; x++;

Блоки (составные операторы)

Блок - это список операторов, заключенный в фигурные скобки: { a=b+2; b++; }

Блок позволяет рассматривать несколько операторов как один.

Условные операторы

Оператор if имеет стандартный формат:

if (выражение) оператор [else другой оператор]

Пример:

if(i<j) i++; else j++;

if(i==0) {i++;f(i+j);} else {i--;g(i+j);}

Оператор switch. Предназначен для организации выбора из нескольких вариантов. Например:

int i=2;

switch(i)

{case 1: i+=2;break;

case 2: i*=3;break;

case 0: i/=2;break;

case 4: i-=5;break;

default:;

}

Циклы

Оператор for – наиболее общий способ организации цикла. Имеет следующий формат:

for(выражение1;выражение2;выражение3) тело цикла

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

#include <iostream.h>

main()

{int i,b; //выведем квадраты чисел от 1 до 9

for(i=1;i<10;i++)

{b=i*i; cout <<i<<” “<< b << end;

} return 0;

}

Оператор while - цикл с предусловием.

while (выражение) оператор

аналогичен такому же оператору в Турбо Паскале.

Оператор do while – цикл с постусловием.

do оператор while(выражение);

Тело цикла выполняется хотя бы один раз. Если выражение ложно, выполнение цикла заканчивается, иначе продолжается. Аналогичен циклу repeat в Турбо Паскале, но, в отличие от него, в данном случае после while записывается не условие окончания, а условие продолжения цикла.

Пример:

int i=2;

do i+=2; while(i<10); cout << i;

В теле циклов можно использовать операторы break и continue. break выходит из тела цикла, continue передаёт управление на очередную итерацию цикла.

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