Типы данных в языке Си. Переименование типов. Объявление переменных. Идентификаторы. Комментарии. Примеры.
Тип данных определяет:
внутреннее представление данных в памяти компьютера;
множество значений, которые могут принимать величины этого типа;
операции и функции, которые можно применять к данным этого типа.
В зависимости от требований задания программист выбирает тип для объектов программы. Типы Си++ можно разделить на простые и составные. К простым типам относят типы, которые характеризуются одним значением. В Си++ определено 6 простых типов данных:
int (целый)
char (символьный)
целочисленные
wchar_t (расширенный символьный)
bool (логический)
с плавающей точкой
(число=мантисса х 10к )
float(вещественный)
double (вещественный с двойной точностью)
Существует 4 спецификатора типа, уточняющих внутреннее представление и диапазон стандартных типов
short (короткий)
long (длинный)
signed (знаковый)
unsigned (беззнаковый)
Язык Си с помощью оператора typedef позволяет задавать новое имя уже существующим переменным. При этом не создается новый тип данных.
Каждая переменная перед её использованием в программе на языке С++ должна быть объявлена, т. к. для неё должна быть выделена память, размер которой и её содержимое зависят от типа, указанного в объявлении. Так, переменной типа char выделяется 1 байт, int – 4 байта, float – 4 байта , double – 8 байтов, bool – 1 байт. Объявление переменной состоит из названия её типа и имени:
int x; // объявление переменной x типа int
double f; // объявление переменной f типа double
|
|
В объявлении можно указать несколько переменных, разделив их запятыми:
int i, j, k; // объявление целых переменных i, j и k
Переменная (объявление, инициализация, использование). Время жизни и область видимости переменных. Виды переменных: глобальные, локальные, статические, автоматические, регистровые, внешние. Отличия в инициализации автоматических и статических переменных. Операции простого и сложного присваивания. Примеры.
Переменная в СИ++ - именованная область памяти, в которой хранятся данные определенного типа. У переменной есть имя и значение. Имя служит для обращения к области памяти, в которой хранится значение. Перед использованием любая переменная должна быть описана. Примеры:
int a; float x;
При описании можно присвоить переменной начальное значение (инициализация).
Область видимости определяет, где можно использовать переменную. Время жизни (продолжительность) определяет, где она создается и уничтожается. Эти две концепции связаны между собой.
Существуют два вида локальных переменных: автоматические и статические. Автоматические переменные возникают только в момент обращения к функции и исчезают при завершении ее работы.
Существуют два вида локальных переменных: автоматические и статические. Автоматические переменные возникают только в момент обращения к функции и исчезают при завершении ее работы.
|
|
Если необходимо сохранить значения локальных переменных внутри функции, их следует объявить статическими с использованием ключевого словаstatic.
Объявление register сообщает компилятору, что данная переменная будет интенсивно использоваться. Идея состоит в том, чтобы переменные, объявленные register , разместить на регистрах машины, благодаря чему программа, возможно, станет более короткой и быстрой. Однако компилятор имеет право проигнорировать это указание.
Внешняя переменная — это переменная, значение которой известно во всех функциях, объявленных после нее, в том числе и в самой функцииmain()
Выражение. Правила вычисления выражений. Операнд. Операция. Знаки операций. Постфиксный и префиксный инкремент и декремент. Унарные, бинарные и тернарная операции. Операция приведения типа. Примеры.
Под порядком вычисления (order of evaluation) понимается порядок, в котором вычисляются значения отдельных членов выражения. В языке Си имеется небольшое количество операторов, для которых определен порядок вычисления операндов. К числу таких операторов относятся:
|
|
● логическое И (&&),
● логическое ИЛИ (||), М
● тернарный оператор (?:),
● оператор запятая (,).
х+у-10 , где х у 10 - операнды
Знаки операций обеспечивают формирование и последующее вычисление выражений. Выражение есть правило для получения значения. Один и тот же знак операции может употребляться в различных выражениях и по-разному интерпретироваться в зависимости от контекста. Для изображения операций в большинстве случаев используется несколько символов.
Тернарная условная операция имеет 3 аргумента и возвращает свой второй или третий операнд в зависимости от значения логического выражения, заданного первым операндом. Синтаксис тернарной операции в языке Си
условие ? выражение1 : выражение2;
Если выполняется условие, то тернарная операция возвращает выражение1, в противном случае - выражение2.
При вычислении выражений тип каждого операнда может быть преобразован к другому типу.
Для выполнения преобразования необходимо перед объектом записать в скобках нужный тип:
(имя-типа) операнд
int i=5, j=2;
float x=0;
x = (float)i + 2; // x = 7
x = i / j; // x = 2
x = (float)i / j; // x = 2.5
В этом примере целая переменная i с помощью операции приведения типов приводится к плавающему типу, а затем уже участвует в вычислении выражения.
|
|
Выражению с приведением типа не может быть присвоено другое значение.
Преобразование одного типа в другой называется неявным, если оно должно выполняться компилятором автоматически. Во многих языках программирования неявное преобразование типов ограничено ситуациями, где в принципе не происходит потери информации (например, целое число может быть преобразовано в действительное, но не наоборот).
Преобразование называется явным, если для его задания программист должен специально что-то написать.
18. Арифметические операции: +, -, *, /, %, ++, --. Преобразование типов при выполнении операций. Операция явного приведения типа. Примеры
+ cложение
-вычитание
% остаток от деления
/ целая часть от деления
++ инкримент
- декремент
Дата добавления: 2021-01-21; просмотров: 213; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!