Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции С раздача.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
423 Кб
Скачать
☆

Символьный тип char

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

Обычно 1 байт.

Тип char может быть со знаком и без знака.

Представление типа char можно использовать для хранения целых чисел:

signed char : от -128 до +127.

unsigned char: от 0 до 255.

Типы с плавающей точкой

Число представляется в виде x=mdp , где

  • m – мантисса,

  • d - основание системы счисления,

  • p – порядок.

знак

порядок

мантисса

Типы с плавающей точкой бывают:

  • float - вещественное одинарной точности.

  • double -вещественное удвоенной точности.

  • long double - вещественное максимальной точности.

Константы с плавающей точкой имеют тип double по умолчанию. При помощи суффиксов F,f и L,l можно явно указать тип константы.

2E+6L – long double

1.82f – float

Диапазон значений простых типов.

Тип

Диапазон

Размер

от

до

signed char

insigned char

signed short int

unsigned short int

signed long int

insigned long int

float

double

long double

- 128

0-

- 32768

0

- 2 147 483 848

0

3.4е-38

1.7e-308

3.4e-4932

+127

255

32767

65535

2 147 483 848

4 294 967 295

3.4е+38

1.7e+308

1.1e+4932

1

1

2

2

4

4

4

8

10

Размер типа int зависит от платформы. Получить размер можно при помощи функции sizeof :

для MsDos sizeof(int) = 2.

для Windows sizeof(int) = 4.

Информацию о диапазонах значений простых типов можно найти в специальных заголовочных файлах:

<limits.h> (<climits>)-значения целых типов.

<float.h> (<cfloat>)-значения вещественных типов.

Тип Void

Множество значений этого типа пусто.

Используется для определения функций, которые не возвращают значения для указания пустого списка аргументов.

Операторы

Операторы бывают исполняемые и неисполняемые. Исполняемые операторы зада­ют действия над данными. Неисполняемые операторы служат для описания дан­ных, поэтому их часто называют операторами описания или просто описаниями.

Для описания сложного действия требуется последовательность операторов. Операторы могут быть объединены в составной оператор, или блок. В этом слу­чае они рассматриваются как один оператор .

Каждый элемент языка определяется синтаксисом и семантикой. Синтаксиче­ские определения устанавливают правила построения элементов языка, а семан­тика определяет их смысл и правила использования.

Переменные

Переменная - это поименованная область памяти, в которой хранятся данные определенного типа.

У переменной есть имя и значение.

Имя служит для обращения к области памяти, в которой хранится значение.

Значение переменной можно изменять.

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

Переменные бывают глобальные и локальные.

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

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

Любая переменная должна быть описана перед ее использованием

Оператор описания переменной:

[< класс памяти>] [const]< тип > <имя> [<инициализатор>];

Например:

int a;

Инициализатор – позволяет присвоить переменной начальное значение при ее описании.

Имеет вид: = <значение> или (<значение>).

Например:

int x = 7;

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

Например:

const int h = 100;

Класс памяти - необязательный параметр, который может принимать значения auto, extern, static и register.

Класс памяти определяет время жизни и область видимости программного объекта.

Время жизни может быть

- постоянным – в течение выполнения программы;

- временным – в течение выполнения блока.

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

auto – автоматическая переменная.

Для глобальных - не используется.

Для локальных - задается по умолчанию.

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

Освобождение памяти при выходе из блока, содержащего ее определение.

extern - внешняя переменная, т.е. она определяется в другом месте программы (в другом файле или в другом месте программы).

static - статическая переменная.

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

Могут быть локальные и глобальные.

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

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

Например:

float x1,y1,x2,y2;