Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_-_1_kurs / Методические указания к лабораторным работам 1-2.pdf
Скачиваний:
114
Добавлен:
09.06.2015
Размер:
521.7 Кб
Скачать

блочные - заключаются между символами /* и */, могут состоять из нескольких строк.

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

// это строчный комментарий /* Это

блочный комментарий */

3.2. Типы данных

Различные данные хранятся и обрабатываются в программе по-разному. В языке С++ данные дифференцируются по их типу. Тип данных определяет:

внутреннее представление данных в памяти компьютера;

множество значений, которые могут принимать величины этого типа;

операции и функции, которые можно применять к данным этого типа.

Вязыке С++ имеется 7 стандартных типов данных (таблица 3). Дополнительно, наряду с типами данных, могут использоваться спецификаторы типов, уточняющие внутреннее представление и диапазон значений для типов данных (long – длинный, short – короткий, signed – знаковый, unsigned – беззнаковый)

3.3. Выражения и операции

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

Выражение состоит из операндов и операций. Операция – это некоторое действие, выполняемое над одним (унарная операция) или двумя (бинарная операция) операндами. Операндом в выражении может являться переменная, константа или другое выражение.

18

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

Таблица 3. Типы данных языка С++

Тип

 

Полное

Размер

Диапазон

Описание

обозначение

данных

(байт)

значений

 

типа данных

 

 

 

 

int

целочис-

int

41

–2 147 483 648 ..

 

ленный

 

 

+2 147 483 647

 

 

signed short int

2

–32768 .. +32767

 

 

short

 

 

 

 

signed long int

4

–2 147 483 648 ..

 

 

long

 

+2 147 483 647

 

 

unsigned short int

2

0 ..+65535

 

 

unsigned short

 

 

 

 

unsigned long int

4

0..+4 294 967 295

 

 

unsigned long

 

 

 

 

long long int

8

-263 .. +263-1

 

 

 

 

 

char

символьный

char

1

–128 .. 127 или

 

 

 

 

0 .. 255 2

 

 

signed char

1

–128 .. 127

 

 

unsigned char

1

0 .. 255

wchar_t

расширенный

w_chart

2

0 ..+65535

 

символьный

 

 

 

bool

булевский

bool

1

true / false

 

(логический)

 

 

 

float

вещественный

float

4

3.4E +/- 38

double

вещественный

double

8

1.7E +/- 308

 

с двойной

long double

 

 

 

точностью

 

 

 

void

«пустой»3

void

1 Размер типа int не определяется стандартом языка С, а зависит от транслятора и компилятора. В типовой 32-битной архитектуре под тип данных int обычно отводится 4 байта, что соответствует диапазону значений –2 147 483 648 .. +2 147 483 647.

2 Зависит от настроек транслятора и выбранной среды разработки

19

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

Арифметические операции выполняются над переменными, константами и выражениями целочисленных и вещественных типов (Таблица 4).

Тип данных значения, полученного в результате выполнения арифметической операции, соответствует типу данных операндов. Если все операнды относятся к целому типу, то и результат будет также целочисленным. Например, выражение 5/2 вернет значение 2, так как оба операнда целочисленные. Если один из операндов является вещественным, то и тип результата выражения также будет вещественным: 5.0/2=2.5

Таблица 4. Арифметические операции

Опе-

Описание

Пример

рация

 

выражения

Унарный

–a

 

минус

–(10*a+b)

+

Унарный

+a

 

плюс

 

*

Умножение

a*10

 

 

10*20

 

 

(3+a)*(4+b)

/

Деление

10/3

 

 

10.0/3

%

Получение

10%3

 

остатка от

 

 

деления

 

+

Сложение

a+b

Вычитание

A–a

Таблица 5. Операции сравнения

Опе-

Описание

Пример

рация

 

выражения

<

Меньше

2<5

 

 

A<(10*b)

<=

Меньше

5<=5

 

или равно

a<=b

>

Больше

a>b

>=

Больше

a>=b

 

или равно

 

==

Равно

a==b

 

 

a==b+c+d

!=

Не равно

a!=b+c+d

3.3.2. Операции сравнения

Операции сравнения (Таблица 5) используются при построении логических выражений. Данные операции выполняются над значениями целочисленных,

3 Тип данных void используется при объявлении функций, не возвращающих значения

20

вещественных и символьных типов данных и возвращают булевские значения: «истина» (true) или «ложь» (false).

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

Таблица 6. Логические операции

 

 

Таблица 7. Результат

Опе-

Описание

Пример

 

 

 

логических операций

рация

 

выражения

 

A

B

 

!A

A&&B

A|

&&

Логическое

A && B

 

 

 

 

 

 

|B

 

«И»

x<=2 &&

 

false

false

 

true

false

false

 

 

y>3

 

false

true

 

true

false

true

| |

Логическое

x<=2 | | y>3

 

 

 

 

false

false

true

 

true

false

 

 

«ИЛИ»

 

 

 

 

 

false

true

true

 

 

 

true

true

 

!

Логическое

!A && B

 

 

 

 

 

 

 

 

«НЕ»

!(x<=2)

 

 

 

 

 

 

 

Логические операции (Таблица 6) выполняются над булевскими операндами и возвращают булевские значения. В таблице 7 показаны результаты выполнения логических операций для различных значений операндов.

3.3.4. Побитовые логические операции

На практике довольно часто для хранения группы логических значений используется одна целочисленная переменная. При этом каждое логическое значение хранится в отдельном бите. Такой способ представления логических данных позволяет сэкономить занимаемую память: 1 байт данных может содержать 8 логических значений, столько же места занимает 1 значение типа данных bool. Для проверки и установки значений отдельных битов данных используются побитовые (или поразрядные) логические операции (Таблица 8).

Побитовые логические операции применяются к целым числам и выполняются над соответствующими битами операндов. Результатом таких операций также являются целые числа. В таблице 9 показаны значения бита результирующего числа для различных значений битов чисел-операндов.

21