Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Microsoft_Visual_C++..doc
Скачиваний:
18
Добавлен:
29.10.2018
Размер:
691.2 Кб
Скачать

2 Простые типы данных

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

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

Простые базовые типы:

  • Целочисленные типы – char (символьный), int (числовой)

  • Вещественные типы – float (числовой), double (числовой)

Таблица 3 – Базовые типы данных в С/С++ для 32-разрядной среды

Базовые целочисленные типы

Базовые вещественные типы

Тип

Размер памяти в байтах

Диапазон

значений

Тип

Размер памяти в байтах

Диапазон

значений

char

(символьный)

1

от -128 до 127

float

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

4

±(3.4Е-38...3.4Е38)

int

(целый)

4

от -2 147 483 648 до 2 147 483 647

double

(вещественный с двойной точностью)

8

±(1.7Е-308...1.7Е308) 

Диапазон значений вещественных типов данных представлен в формате числа с плавающей точкой. После буквы Е указывается направление сдвига относительно десятичной точки: вправо, если после Е плюс, и влево, если минус.

Пример 2 Формат числа с плавающей точкой

2.437Е+02=2.437*102=243.7

Для образования типов, производных от простых, имеются модификаторы типа, которые (для числовых типов) бывают двух видов:

  • модификаторы знака – signed (знаковый), usingned (безнаковый);

  • модификаторы размера – short (короткий), long (длинный);

Это важно

  • модификатор записывается перед названием типа;

  • если не указан модификатор знаков, то по умолчанию подразумевается signed;

  • с базовым типом float модификаторы не употребляются;

  • модификатор short применим только к базовому типу int.

Некоторые синтаксически допустимые комбинации типов и модификаторов:

  • целые типы с модификаторами

unsigned сhar (1 бит, oт 0 до 255)

unsigned int (4 бита, от 0 до 4 294 967 295)

short int (2 бита, от -32 768 до 32 767)

unsigned short int (2 бита, от 0 до 65 535)

  • вещественные типы

long double (10 бит, ±(3.4Е-4932...1.1Е+4932))

Задание 2

Расположите целые (long, int, char, shot) и вещественные (long double, float) типы по старшинству типов по следующему принципу: старший тип включает в себя все значения младшего типа как подмножество.

3 Операции над числовыми данными

Над числовыми данными определены следующие группы операций (рисунок 1).

Рисунок 1 – Операции над числовыми данными

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

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

Арифметические операции над данными целочисленных типов

Арифметические операции над данными вещественных типов

+ (сумма)

- (разность)

* (произведение)

/ (целочисленное деление)

% (взятие остатка)

++ (инкремент)

-- (декремент)

+(сумма)

- (разность)

*(произведение)

/ (деление)

% (взятие остатка)

++ (инкремент)

-- (декремент)

Операции ++ и -- применяются только к переменным и, соответственно, увеличивают или уменьшают значение переменной на 1.

Примечание

Наличие в С/С++ операций ++ и -- связано с тем, что в системе команд микропроцессора имеются специальные операции для увеличения и уменьшения значения (обычно в регистре) именно на 1. Поэтому запись а++; предпочтительнее записи а=а+1; поскольку в большинстве случаев операции инкремента выполняются быстрее.

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

Пример 3 Операция ++ в постфиксной и префексной формах

1) int a=3, b=2;

c=a++*b++;

В результате получим с=6, а=4, b=3

2) int a=3, b=2;

c=++a*++b;

В результате получим с=12, а=4, b=3

Задание 3

Определите значение переменной d:

int a=5, b=1, c=4, d;

d=++a*b++-++c;

Над данными целочисленных типов определены также битовые (поразрядные) операции, которые применяются только к двоичному представлению числа. Это

>> (сдвиг влево)

<< (сдвиг вправо)

1.2 Операция присваивания = – это операция, вырабатывающая значение, которое может использоваться в выражениях. Например, a=a+b; или a+=b;

Множественное присваивание – присваивание одного и того же значения нескольким переменным. Например, a=b=c=1; или a=1; b=1; c=1;

Выражения – это переменные, функции и константы объединенные знаками операций. Переменные, функции и константы в записи выражения называются операндами. Например, в записи y=cos(x)+x выражением является cos(x)+x, где функция cos(x) – первый операнд, переменная x – второй операнд.

1.3 Операции отношения будут рассмотрены в лабораторной работе №2.

1.4 Логические операции будут рассмотрены в лабораторной работе №2.

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

По количеству операндов, участвующих в операции, операции подразделяются на унарные, бинарные и тернарные.

Унарные операции (один операнд) выполняются справа налево.

Некоторые унарные операции приведены в таблице 5.

Таблица 5 – Унарные операции

Знак операции

Операция

-

арифметическое отрицание

~

побитовое логическое отрицание

!

логическое отрицание

+

унарный плюс

++

увеличение (инкремент)

--

уменьшение (декремент)

В отличие от унарных, бинарные операции (два операнда), список которых приведен в таблице 6, выполняются слева направо.

Таблица 6 – Бинарные операции

Знак операции

Операция

Группа операций

*

Умножение

Арифметические

мультипликативные

/

Деление

%

Остаток от деления

+

Сложение

Арифметические

аддитивные

-

Вычитание

<<

Сдвиг влево

Операции сдвига

>>

Сдвиг вправо

<

Меньше

Операции отношения

<=

Меньше или равно

>=

Больше или равно

= =

Равно

!=

Не равно

&

Битовая операция И

Битовые (поразрядные) операции

|

Поразрядное ИЛИ

^

Поразрядное исключающее ИЛИ

&&

Логическое И

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

||

Логическое ИЛИ

,

Последовательное вычисление

Последовательного вычисления

=

Присваивание

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

*=

Умножение с присваиванием

/=

Деление с присваиванием

%=

Остаток от деления с присваиванием

-=

Вычитание с присваиванием

+=

Сложение с присваиванием

<<=

Сдвиг влево с присваиванием

>>=

Сдвиг вправо присваиванием

&=

Поразрядное И с присваиванием

|=

Поразрядное ИЛИ с присваиванием

^=

Поразрядное исключающее ИЛИ с присваиванием

Тернарной операцией (три операнда) является операция «условие ?», которая реализует алгоритмическую структуру ветвления (не рассматривается в рамках лабораторного практикума).

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