Шаг 12.
Microsoft Visual C++ 2010. Язык С/С++.
Консольное приложение. Конструкция while (продолжение)

    На этом шаге мы рассмотрим имена и типы переменных.

    Поясним суть программы, приведенной на предыдущем шаге. Строка:

  int lower, upper, step; 
это так называемые объявления переменных.

    lower, upper, step - это имена переменных.

    Компилятор соотнесет с этими именами определенные адреса в памяти и, начиная с этих адресов, выделит участки памяти (в байтах) в соответствии с тем, какого типа объявлены переменные. В нашем случае тип переменных, заданный при их объявлении. - int (от англ. integer - целое число). Это означает, что все переменные имеют вид целое число со знаком и что под каждое значение числа, которое будет записано на участках lower, upper или step, отведено определенное количество байтов памяти (в данном случае 4 байта).

    Рассмотрим, как определяется количество памяти, отводимое под переменную, в данной среде программирования.

    int - этот тип данных занимает место большее или равное, чем тип short int и меньшее или равное, чем тип long (т. е. мы видим, что данные этого типа получаются как бы безразмерными в заданных границах). Объекты типа int могут объявляться как signed int (целое со знаком), так и unsigned int (целое без знака).

    signed int - это синоним int. В дополнение к int существует тип данного, названный __intn. Здесь n задает размер данного. Значения n могут быть равными 8, 16, 32 или 64.

    Таким образом, имена переменных - это названия тех ячеек в памяти компьютера (а каждая ячейка имеет свой адрес), где будут находиться данные (числа и не числа), с которыми программа будет работать при реализации алгоритма.

    Имена переменным надо давать осмысленно, чтобы облегчить их запоминание (еще говорят, что переменным надо давать мнемонические обозначения) - так, чтобы они отражали характер содержания переменной. В нашем случае lower, upper и step именуют, соответственно, нижнюю и верхнюю границы таблицы температур по Фаренгейту и шаг этой таблицы. Нижняя граница таблицы (lower) равна 0, верхняя (upper) равна 300, а шаг таблицы (т. е. разность между соседними значениями - step) равен 20.

    Перечень описываемых переменных одного типа (тип указывается в начале перечня) обязательно должен оканчиваться точкой с запятой - сигналом для компилятора, что описание переменных данного типа завершено. В языке C/C++ выражение, после которого стоит точка с запятой, считается оператором, т. е. законченным действием. В противном случае компилятор станет при компиляции искать ближайшую точку с запятой и объединять все, что до нее находится, в один оператор (в общем, объединятся разнородные данные) и, в конце концов, выдаст ошибку компиляции.

  float fahr, cels; 
- это описание переменных с именами fahr, cels, но тип этих переменных уже иной. Эти переменные - не целые числа, а так называемые числа с плавающей точкой. Ячейки в памяти, обозначаемые этими переменными, могут хранить любые вещественные числа, а не только целые.

    Таким образом, перед составлением программы, которая будет оперировать данными (числовыми и нечисловыми), эти данные следует описать: им должны быть присвоены типы и имена. Присвоение переменным типов и имен фактически означает, что компилятор определит им место в памяти, куда данные будут помещаться и откуда будут извлекаться при выполнении операций над ними. Следовательно, когда мы пишем c = a + b, это означает, что одна часть данных будет извлечена из ячейки a, другая часть данных - из ячейки b, произойдет их суммирование, а результат будет "положен" (записан) в ячейку c. Знак = означает "присвоить", это не знак равенства, а знак операции пересылки. Знак равенства выглядит иначе. Присваивать некоторой переменной можно не только значение из какой-либо ячейки (т. е. значение другой переменной), но и просто числа. Например, a = 10. В этом случае компилятор просто "положит" в ячейку a число 10.


   Примечание. В VC++ 2010 введен еще один тип - auto. Он ставится перед именем переменной, которая определяется правой частью некоторого выражения. Компилятор по значению правой части для этого типа определяет истинный тип переменной. Например, auto a=1.5;. Компилятор присвоит переменной а тип float.

    На следующем шаге мы закончим изучение этого вопроса.




Предыдущий шаг Содержание Следующий шаг