
- •Лекция 1. Понятие алгоритма. Свойства алгоритма
- •Лекция 2. Способы описания алгоритмов
- •Лекция 3. Типовые алгоритмы программ
- •Лекция 4. Принципы разработки схем алгоритмов программ
- •Лекция 5. Эволюция языков программирования Классификация языков программирования. Понятие системы программирования.
- •Лекция 6.
- •Структура программы. Назначение функции main. Объявление функции main. Назначение заголовочных файлов
- •Лекция 7. Переменные и данные. Основные типы данных. Объявление переменных. Инструкции присваивания
- •Лекция 8. Функции ввода-вывода Форматированный вывод на экран
- •Лекция 9. Стандартные математические функции
- •Лекция 10. Алгоритм и программы линейной структуры
- •Лекция 11.
- •Лекция 12. Ветвления
- •If (выражение) оператор;
- •Лекция 13. Оператор выбора (переключатель).
- •Циклы Лекция 14.
- •Лекция 15.
- •Массивы Лекция 16.
- •Лекция 17. Сортировка массивов.
- •Лекция 18. Многомерные массив.
- •Лекция 19. Указатели и ссылки.
- •Лекция 20. Указатели и массивы.
- •Лекция 21. Символы и символьные строки
- •Лекция 22. Графика
- •Лекция 23. Использование функций графических примитивов, работы с текстом в графическом режиме.
- •Функции Лекция 24.
- •Лекция 25. Прототип функции.
- •Лекция 26. Передача значений через глобальные переменные.
- •Лекция 29. Объединение.
- •Лекция 30 Файлы
- •Лекция 31. Работа с файлами на диске.
Лекция 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, поскольку второе выражение будет вычисляться быстрее.