Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций 1-21.docx
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
434.58 Кб
Скачать

Лекция 7. Переменные и данные. Основные типы данных. Объявление переменных. Инструкции присваивания

Типы данных. К базовым типам данных языка Си относятся:

  • целые;

  • вещественные;

  • перечисляемые.

К структурированным типам данных относятся:

  • массивы,

  • структуры,

  • объединения,

  • типы, определяемые пользователем.

Целые типы. В табл. 5. приведены типы данных языка Си.

Тип char используется для запоминания буквы, цифры или символа из множества представимых символов. Значением объекта типа char является ASCII код, соответствующий данному символу. Так как тип char интерпретируется как однобайтовая целая величина с областью значений от -128 до 127, то только величины от 0 до 127 имеют символьные эквиваленты. Аналогично, тип unsigned char может запоминать величины с областью значений от 0 до 255.

Представление в памяти и область значений для типов int и unsigned int не определены в языке Си. По умолчанию размер int (со знаком и без знака) соответствует реальному размеру целого на данной машине. Например, на 16-разрядной машине тип int всегда 16 разрядов или 2 байта. На 32-разрядной машине тип int всегда 32 разряда или 4 байта. Таким образом, тип int эквивалентен типам short int или long int в зависимости от реализации.

Аналогично, тип unsigned int эквивалентен типам unsigned short или unsigned long. Спецификаторы типов int и unsigned int широко исполь­зуются в программах на Си, поскольку они позволяют наиболее эффек­тивно манипулировать целыми величинами на конкретной машине.

Тип данных

Размер (байт)

Диапазон значений

Эквивалентные названия типа

char

1

-128...+127

signed char

int

2/4

зависит от системы

signed, signed int

unsigned char

1

0…255

нет

unsigned int

2/4

зависит от системы

unsigned

short int

2

-32768…+32767

short, signed short int

unsigned short

2

0…65535

unsigned short int

long int

4

-2147483648…+2147483647

long, signed long int

unsigned long int

4

0…4294967295

unsigned long

float

4

нет

double

8

нет

long double

10

нет

Описание переменных в программах на Си/Си++ имеет вид:

имя_типа список_переменных;

Примеры описаний:

char symbol,cc;

unsigned char code;

int number,row;

unsigned long long_number;

float x,X,cc3;

double e,b4;

long double max_num;

Одновременно с описанием можно задать начальные значения переменных. Такое действие называется инициализацией перемен­ных. Описание с инициализацией производится по следующей схеме:

тип имя_переменной = начальное_значение

Например:

float pi=3.14159,с=1.23;

unsigned int year=2000;

Операция присваивания. Присваивание в Си является операцией, а не оператором. Знак операции присваивания =. Следствием отме­ченного факта является то, что присваивание, как любой другой знак операции, может несколько раз входить в выражение. На­пример:

а=b=с=х+у;

Присваивание имеет самый низкий приоритет (ниже только у операции «запятая»). Кроме того, операция присваивания — правоассоциативная. Это значит, что несколько подряд расположен­ных присваиваний выполняются справа налево. Поэтому в приве­денном выше выражении первой выполнится операция сложе­ния, затем переменной с присвоится значение суммы, затем это значение присвоится переменной b ив конце — переменной а.

В языке Си имеются дополнительные операции присваивания, совмещающие присваивание с выполнением других операций. Среди них: +=, -=, /=, *=, %=. Приоритет у них такой же, как и у простого присваивания. Примеры использования этих операций:

а+=2 эквивалентно а=а+2,

х-=а+b эквивалентно х=х-(а+b),

р/=10 эквивалентно р=р/10,

m*=n эквивалентно m=m*n,

r %=5 эквивалентно r=r% 5.

Вместо выражения а=а+2 предпочтительнее пи­сать в программе а+=2, поскольку второе выражение будет вы­числяться быстрее.