Цель и задачи работы, требования к результатам ее выполнения
Цель работы состоит в овладении навыками разработки программ на языке Си, имеющих линейную структуру, и программ, реализующих разветвляющиеся алгоритмы, т.е. использующих условный оператор и (или) оператор- переключатель. Для достижения цели необходимо выполнить следующие задачи:
- изучить необходимые учебные материалы, посвященные константам и переменным, а также условному оператору и переключателю языка Си [1, 3];
- разработать программы на языке Си для решения заданных вариантов заданий;
- отладить программы;
- выполнить решение контрольного примера с помощью программы и выполнить ручной расчет контрольного примера;
- подготовить отчет по лабораторной работе.
Краткая характеристика объекта изучения
Понятие переменной и типа данных
Одним из основных понятий, используемых в процедурных языках программирования, является понятие переменной. Переменная — поименованная, либо адресуемая иным способом область памяти, адрес которой можно использовать для осуществления доступа к данным. Данные, находящиеся в переменной (то есть по данному адресу памяти), называются значением этой переменной. Переменная принадлежит определённому типу данных.
Тип данных определяет:
– внутреннее представление данных в памяти компьютера;
– множество значений, которые могут принимать величины этого типа;
– операции и функции, которые можно применять к величинам этого тина.
Переменная используется для хранения данных в процессе выполнения программ. Значение переменной можно изменить с помощью операции- присваивания.
Стандартные типы языка Си
В языке Си существуют стандартные типы, которым могут принадлежать переменные.
В Си стандарта ANSI классификация типов имеет следующий вид, также указана размерность переменной типа в оперативной памяти:
• целые:
– беззнаковые:
• unsigned char – переменная типа занимает в памяти 8 бит;
• unsigned short – 16 бит;
• unsigned int - 32 бита (в Win32);
• unsigned long – 32 бита (в Win32);
– знаковые:
• char – 8 бит;
• short – 16 бит;
• int - 32 бита (в Win32);
• long – 32 бита (в Win32);
• вещественные:
• float – 32 бита;
• double – 64 бита;
• long double – 80 бит.
Назначение и диапазоны стандартных типов представлено в таблице 1.
Следует отметить особенность типа char (unsigned char) в языке Си. Язык Си язык со слабой типизацией, поэтому символьный тип используется двояко. С одной стороны он может использоваться для хранения кодов символов в кодировке ASCII, а с другой стороны, для хранения целых чисел в заданном диапазоне.
Дополнительно компанией Microsoft введены, так называемые, платформенно- независимые целые типы, по сути это новые имена для уже существующих типов, но их размерность не будет меняться при переходе к другим платформам (размерность этих типов в битах явным образом присутствует в названии):
__int8 unsigned __int8
__int16 unsigned __int16
__int32 unsigned __int32
__int64 (long long) unsigned __int64 (unsigned long long)
Кроме того в последние версии продуктов Microsoft дополнительно введены следующие типы, имена которых являются ключевыми словами:
bool – 1 байт, возможные значения true (1) и false (0);
wchar_t – 2 байта (соответствует типу unsigned short), обычно используется для хранения кодов символов в кодировке Unicode (1 символ кодируется 2 байтами).
Таблица 1 – Назначение и диапазоны стандартных типов
Тип данных | Размер, бит | Диапазон значений | Назначение типа |
unsigned char | 0...255 | Небольшие целые числа без знака и коды символов | |
char | -128...127 | Небольшие целые числа со знаком и ASCII-коды | |
unsigned short | 0...65535 | Целые числа без знака | |
short | -32768...32767 | Целые числа со знаком | |
unsigned int | 0...4294967295 | Большие целые без знака | |
int | -2147483648... ...2147483647 | Большие целые со знаком | |
unsigned long | 0...4294967295 | Большие целые без знака | |
long | -2147483648... ...2147483647 | Большие целые со знаком | |
float | 3.4Е-38…... 3.4Е+38 | Научные расчеты (7 значащих цифр) | |
double | 1.7Е-308... …..1.7Е+308 | Научные расчеты (15 значащих цифр) | |
long double | 3.4Е-4932... ...1.1Е+4932 | Финансовые расчеты (19 значащих цифр) |