algorytmlanguage_l1_Struktura_programmy
.pdf
Активная часть языка: действия
Оператор (statement) – это законченное действие на языке программирования
Сложные операторы могут включать в себя другие операторы
Примитивные операторы в языке Си завершаются точкой с запятой ;
11
Разновидности операторов
Оператор вычисления выражения, например, a = b + 1;
Пустой оператор: ;
|
Управляющий оператор, например, |
||
|
if(a > b) |
{ min = |
b; } |
12 |
else |
{ min = |
a; } |
|
|
|
|
Разновидности операторов
Составной оператор - два или более операторов, объединенных с помощью фигурных скобок {}, например,
{tmp = a; a = b; b = a;
}
Синтаксически составной оператор воспринимается как единичный оператор и может использоваться в любых конструкциях, где синтаксис требует одного
13 оператора
Пассивная часть языка: данные. Понятие типа данных
Тип данных задает множество возможных значений, которые могут принимать переменные (и другие объекты) этого типа, а также определяет набор разрешенных операций для переменных (объектов) этого типа
Понятие типа применимо к переменным, константам и результатам выражений
Использование операций с неразрешенными типами
данных приведет к ошибке компиляции can not
14 convert ... to ...
Система типов данных в языке Си
|
|
|
Типы данных |
|
|
|
|
|
Простые (скалярные) |
|
Структурированные |
Указатели |
Тип |
|
|
типы данных |
|
типы данных |
void |
|
|
|
|
|
|||
Арифметические |
Арифметические |
Перечис- |
|
Объеди- |
|
|
целочисленные |
типы с плавающей |
Массивы Структуры |
|
|||
лимый тип |
нения |
|
||||
|
типы |
точкой |
|
|
||
|
|
|
|
|
||
Знаковые |
Беззнаковые |
|
|
|
Встроенные типы |
|
|
|
|
данных |
|
||
|
|
|
|
|
|
|
char |
unsigned char |
float |
|
|
|
|
short int |
unsigned short int |
double |
|
|
Типы данных, |
|
int |
unsigned int |
long double |
|
|
определяемые |
|
long int |
unsigned long int |
|
|
|
пользователем |
|
15
Арифметические типы данных
Тип |
Диапазон |
Размер |
|
char |
-128...127 (-27...27-1) |
1 |
байт |
unsigned char |
0...255 (0...28) |
1 |
байт |
short int |
-32768…32767(-215...215-1) |
2 |
байта |
unsigned short int |
0…65535 (0...216) |
2 |
байта |
int |
зависит от операционной системы, |
|
|
|
в Win32 аналогичен long int |
|
|
long int |
-2147483648…2147483647 |
4 |
байта |
|
(-231...231-1) |
||
unsigned long int |
0…4294967295 (0...232) |
4 |
байта |
float |
±3,4*10±38, 7 значащих цифр |
4 |
байта |
double |
±1,7*10±308, 15 значащих цифр |
8 |
байт |
long double |
идентичен double |
|
|
16
Константы
Константами называют неизменяемые величины определенного типа, упоминаемые в тексте программы
Например:
10, 0xA0, 3.14159, 1.45E-4, 'a', "Hello"
17
Целые константы
Тип данных: int
|
|
Формат |
|
Примеры |
Десятичный - последовательность цифр, не |
10, 16, 255 |
|||
начинающаяся с нуля, если это число не |
||||
нуль |
|
|
|
|
Восьмеричный - последовательность цифр |
012, 020, |
|||
, начинающаяся с нуля |
|
0377 |
||
0-7 |
|
|
|
|
Шестнадцатеричный - последовательность |
0xA, 0x10, |
|||
цифр и букв |
A-F |
, начинающаяся с |
0x |
0xFF |
|
|
|
||
18
Представление логических значений: ИСТИНА, ЛОЖЬ
Любое целое значение, отличное от нуля, считается истиной
Целое значение, равное нулю, считается ложью
19
Вещественные константы
Тип данных: double
Формат |
Примеры |
Десятичный: |
5.7, .009, |
[<цифры>].[<цифры>] |
34. |
Экспоненциальный: |
.057E2, 9e-3, |
[<цифры>].[<цифры>]{E|e}[+|-][<цифры>] |
3.4E1 |
Константа 3.4E1 означает 3.4*101. Число 3.4 называют мантиссой, а 1 — порядком.
Чтобы придать целой константе вещественный тип 20 необходимо записать ее как 2f или 2.0
