Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций -=Вычислительная техника и прог...docx
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
1.84 Mб
Скачать

3.2.6. Комментарии

Комментарии — последовательность символов, игнорируемая компилятором.

Начинается комментарий либо с двух символов «косая черта» (//) и заканчивается символом перехода на новую строку, либо заключается между символами /* */ .

Замечание. Вложенные комментарии не допускаются.

Пример,

3.3. Лекция 6. Типы данных и их объявление

3.3.1. Основные типы данных

В языке С/С++ все переменные, используемые в программе, необходимо объявлять. Тоже самое касается констант. Объявление связано с необходимостью выделить под переменную или константу область памяти, размер которой определяется задаваемым типом данных.

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

Целочисленные типы:

Типы с плавающей запятой:

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

Таблица 3.6 — Диапазоны значений простых типов данных

Тип

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

Размер,

байт

bool

true и false

1

signed char

–128 … 127

1

unsigned char

0 … 255

1

signed short int

–32 768 … 32 767

2

unsigned short int

0 … 65 535

2

signed long int

–2 147 483 648 … 2 147 483 647

4

unsigned long int

0 … 4 294 967 295

4

float

3.4e–38 … 3.4e+38

4

double

1.7e–308 … 1.7e+308

8

long double

3.4e–4932 … 3.4e+4932

10

Примечания:

1. Размер типа int определяется при объявлении типом процессора (ЦПУ). Для 16-разрядного ЦПУ — 2 байта (16 бит) и для 32-разрядного — 4 байта (32 бита).

2. Выбор типа short int указывает компилятору, что под переменную требуется 2 байта независимо от ЦПУ.

Выбор типа long int — указывает, что требуется 4 байта независимо от ЦПУ.

3. Типы констант могут быть обозначены суффиксами:

L , l long int ; long double ;

U , u — unsigned int ;

F , f — float .

Например: 32L — тип long int;

32ul — тип unsigned long int;

2E+6L — тип long double;

1.82f — тип float.

4. Для различных ПК и ОС нельзя делать предположение о размерах памяти, занимаемых различными типами переменных. Необходимо определять эту величину операцией sizeof.

Например:

a=sizeof(int) ;

Результатом операции будет число 2 (в байтах) для MS-DOS, и

4 для Windows или OS/2.

5. Целые типы short int, long int,

signed int и unsigned int

можно сокращать до

short, long,

signed и unsigned.

6. Минимальные и максимальные допустимые значения приводятся в заголовочных файлах float.h (для вещественных) и limits.h (для целых переменных).

3.3.2. Объявление типов данных

Объявления С/С++ в имеют следующий формат записи (квадратные скобки показывают, что элемент может отсутствовать):

[спецификатор_класса_памяти] [const] [спецификатор_типа] [тип] описатель [инициатор] [, описатель [инициатор] ] … ;

Здесь:

— [спецификатор_класса_памяти] — определяется одним из 4 классов и определяет, каким образом будет распределяться память под переменную и область видимости переменной:

auto — автоматические переменные; являются локальными для каждого вызова блока и исчезают при выходе из этого блока; не используется для глобальных переменных, для локальных устанавливается по умолчанию;

extern — внешние переменные; существуют и сохраняют свои значения в течение выполнения всей программы и могут использоваться для связи между функциями, в том числе и между независимо скомпилированными функциями;

static — статические переменные; являются локальными, но могут быть и глобальными; сохраняют свои значения после того, как управление передаётся за пределы блока;

register — регистровые переменные; хранятся (если это возможно) в быстрых регистрах процессора; являются локальными для каждого блока и исчезают при выходе из этого блока; если в регистры нет возможности поместить переменную, то она обрабатывается как auto.

— [const] — модификатор, указывающий на то, что значение переменной изменять нельзя, т.е. переменная является именованной константой;

— [спецификатор_типа] — уточняет внутреннее представление и диапазон значений типов:

short — короткий;

long — длинный;

signed — знаковый;

unsigned — беззнаковый;

— [тип] — указывает на тип переменной;

bool — целый тип;

char — символьный тип;

int — целый тип;

float — вещественный тип;

double — вещественный тип с двойной точностью;

— описатель — (имя переменной) идентификатор простой переменной, либо более сложная конструкция (с квадратными скобками, круглыми скобками, одной или несколькими звёздочками);

— [инициатор] — присвоение переменной начального значения при инициализации; существуют две формы записи:

=значение — присвоение значения с использованием знака равенства;

(значение) — присвоение значения с использованием круглых скобкок.

В одном операторе можно описать несколько переменных одного типа, разделяя их запятыми.

Примеры:

1)

short int a=1 ; // короткая целая a=1

int b (7) ; // целая b=7

float c=0.22 , //переменная с плавающей запятой c=0,22

x (3) , // переменная с плавающей запятой x=3

s ; // переменная с плавающей запятой

2)

int a ; // глобальная переменная

main ()

{

int b ; // локальная переменная b

extern int x ; // x определена в другом месте

static int y ; // статическая переменная y

a=1 ; // присвоение локальной переменной а

b=2 ; // присвоение локальной переменной b

:: a=3 ; //присвоение глобальной переменной

return 0 ;

}

int x=4 ; // присвоение и инициализация переменной х