- •1. Модель компьютера для программиста
- •2.Программное обеспечение. Компиляторы и интерпретаторы
- •3. Создание программ. Жизненный цикл программного обеспечения.
- •4. Транслятор и компоновщик. Библиотека языка Си.
- •5. Базовые элементы языка Си. Алфавит и словарь языка.
- •6. Правила образования идентификаторов. Ключевые слова и имена. Символы операций и разделителей.
- •7. Литералы. Структура предложений в Си.
- •9.Константы и переменные в Си
- •10. Типы данных и их роль в языке Си
- •11. Стандартные скалярные типы данных
- •11.Массивы
- •Структуры
- •14 .Арифметические выражения и операции
- •15. Выражение
- •16. Выражения присваивания.
- •17. Условные и логические операции.
- •18. Выражения с указателями
- •19. Постфиксное выражение
- •21.Приоритет операций и скобочная структура выражений
- •22. Структура программы на Си
- •23. Базовые операторы языка Си
- •24. Условные операторы языка Си.
- •25. Оператор Switch . Организация множественного выбора.
- •26. Оператор return
- •27. Операторы цикла
- •28. Оператор continue как средство управления циклом
- •30. Указатели
- •31. Массивы. Синтаксис объявления.
- •32. Основные свойства массивов
- •Массив и константный указатель
- •34. Символьная строка и массив символов
- •37. Многомерный массив
- •38. Многомерные массивы и указатели
- •39. Директива процессора #define
- •40. Директива #include
- •Предварительная инициализация параметров функции
- •Предварительная инициализация параметров функции 2
- •43. Вызовы функций
- •44. Массивы и параметры
- •48. Объявление функции
- •50. Преобразование основных типов.
- •51. Тип функции
- •52. Стандартные функции библиотеки Си
9.Константы и переменные в Си
При решении любой задачи требуются данные, над которыми выполняются определенные действия для получения конечного результата. В программе каждый элемент данных является либо константой, либо переменной. Константы и переменные определяются идентификаторами (именами), по которым к ним можно обращаться для получения текущих значений.
Константами называется элементы данных, значения которых известны заранее и в процессе выполнения программы не изменяются.В С++ имеется два вида констант основанные на макроопределениях и формальные, которые задаются при помощи объявления константы.
Общий синтаксис директивы #define:
#define имя_константы значение_константы;
Директива #define дает указание транслятору вызвать препроцессор и выполнить замену имени константы ее значением в виде подставляемого текста. Замена происходит до того, как транслятор обработает операторы программы.
Вторым типом константы в языке С++ является формальная константа.
Общий синтаксис записи формальной константы:
Const тип_данных имя_константы = значение_константы;
Элемент тип_данных является необязательным. Он определяет тип_данных элемента значение_константы. По умолчанию присваивается тип int.
Переменные в отличие от констант могут менять свои значения в процессе выполнения программы. Каждая переменная и константа принадлежат к определенному типу данных. Тип констант распознается компилятором без предварительного описания.
10. Типы данных и их роль в языке Си
Понятие типа является одним из фундаментальных понятий любого языка программирования. Объекты (константы, переменные, функции, выражения ит.д.), которыми оперирует программа, относятся к определенному типу. Тип – это множество значений, которые могут принимать объекты программы, и совокупность операций, допустимая над этими значениями. Тип является основной характеристикой объекта и функции. Тип определяет, что и как следует делать со значениями объектов и функций. Значение функции выполняется, значение константы читается, константой переменной модифицируется. Тип определяет структуру и размеры объекта, диапазон и способы интерпретации его значения, множество допустимых операций.
Поскольку конкретное значение может быть зафиксировано в области памяти, которая соответствует объекту определённого типа, можно также говорить о типе значения. Значения представляются выражениями. Поэтому имеет смысл также говорить и о типе выражения. Таким образом, тип оказывается важнейшей характеристикой языка. Все допустимые типы можно подразделить на две большие группы: скалярные и структурированные. Скалярные типы подразделяются на стандартные и пользовательские. Структурированные типы базируются на скалярных типах и могут содержать их различные комбинации.
Тип переменных должен быть описан перед тем, как с переменными будут выполняться какие-либо действия. Числа разной величины с большей или меньшей точностью можно представить с помощью разных типов.
Основные типы в C++ подразделяются на две группы: целочисленные типы и типы с плавающей точкой (для краткости их будем называть плавающими типами). Это арифметические типы.
К стандартным скалярным типам относятся int, char, float, double, bool для представления соответственно данных целого типа, литер, чисел с плавающей запятой, чисел с плавающей запятой с двойтой точностью и логических переменных. Кроме того в С++ используются данные типа void для обозначение типа возвращаемого функцией значения в том случае, если она не генерирует никого результата (действует как процедура).
К целочисленным типам относятся типы, представленные следующими именами основных типов: char ,short ,int ,long
Имена целочисленных типов могут использоваться в сочетании с парой модификаторов типа: Signed ,unsigned. Эти модификаторы изменяют формат представления данных, но не влияют на размеры выделяемых областей памяти. Модификатор типа signed указывает, что переменная может принимать как положительные, так и отрицательные значения. Возможно, что при этом самый левый бит области памяти, выделяемой для хранения значения, используется для представления знака. Если этот бит установлен в 0, то значение переменной считается положительным. Если бит установлен в 1, то значение переменной считается отрицательным. Модификатор типа unsigned указывает, что переменная принимает неотрицательные значения. При этом самый левый бит области памяти, выделяемой для хранения значения, используется так же, как и все остальные биты области памяти - для представления значения.
В ряде случаев модификаторы типа можно рассматривать как имена основных типов.
К плавающим типам относятся три типа, представленные следующими именами типов, модификаторов и их сочетаний: float, double, long double
Как и ранее, модификатор типа входит в число имён основных типов.
Таким образом, система представления данных в языке С++ обладает достаточной гибкостью, так как поддерживает модификаторы типа данных. Модификаторы типов signed, unsigned, sort, long изменяют их точность и диапазон значений.
Общий синтаксис объявления переменных следующий:
type имя_переменной;
type имя_переменной = начальное_значение;
type имя_переменной_1[ = начальное_значение_1], type имя_переменной_2[ = начальное_значение_2], type имя_переменной_3[ = начальное_значение_3],…;
type{int, bool, char, signed char, unsigned char, unsigned int, short int, unsigned short int, long int, unsigned long int, float, double, long double }
