Во многих зарубежных справочниках по С++ после этого обычно пишут: «Вообще то программа «Hello world» ничего обычного не делает. Все что она делает, это просто выводит сообщение на экран. Пользователь никоим образом, не может вмешаться в ход выполнения данной программы. Чтобы это исправить нам придется переделать нашу программу. Но прежде мы должны понять, что такое переменные.
Для начала я хотел бы привести примеры, как об этом написано на других ресурсах Интернета:
В программировании переменная — это идентификатор, определяющий данные.
Переменная представляет собой имя ячейки памяти, которая может хранить конкретное значение.
Переменной называется область памяти, имеющая имя, которое иначе называют идентификатором.
Переменная в языке - это именованная область памяти, в которой содержится определенное значение.
Переменная — это именованный участок памяти, в котором хранится значение, которое может быть изменено программой.
Переменная – это в некотором смысле ячейка для хранения информации, например, числа, строки символов.
Читая все эти определения чувствуешь себя очень «умным», но сказать зачем нужна в переменная в С++ все также трудно как и до чтения всех этих определений. И хотя все эти определения правильны, они рассчитаны явно не на новичков.
И так давайте на минуту отвлечемся от программирования, и приставим, что вы оказались в новой компании, и решили угостить всех фантастическим вкусным блюдом, рецепт которого вы только что узнали. И так все гости только «за», вы отправляетесь на кухню, открываете кухонный шкаф и... Здесь начинается самое интересное... Либо вы начинаете сразу же готовить, либо ищете хозяина квартиры, и начинаете расспрашивать, где у него соль, сахар и все что вам необходимо. Все зависит от того, есть ли надписи на банках, в которых хранятся соль, сахарный песок, крупа и т. д. И если у вас вдруг одновременно закончатся соль и песок то, глядя на банки, вы сразу решите, в какую насыпать соль, а в какую песок. Теперь вы можете не бояться, что по ошибке посластите суп, и посолите свой чай.
Именно для этого нужны переменные в программировании. Они дают уверенность в достоверности данных, которая в них содержится. Но прежде, чем использовать переменную, мы должны придумать ей имя и объявить ее.
И так вот требований к имени переменной:
Переменная может содержать лишь прописные, заглавные буквы латинского алфавита, цифры и знак подчеркивания: _. Все остальные знаки препинания, включая пробел - запрещены.
Имя переменной не может начинаться с цифры.
Имя переменной чувствительно к регистру. И поэтому: name, Name, nAme, naMe и т. д. будут расценены программой, как не одна, а несколько переменных.
Они не могут писаться так же, как зарезервированные слова языка С++. Вот эти слова: and, and_eq, asm, auto, bitand, bitor, bool, break, case,catch, char, class,compl, const, const_cast, continue, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, not, not_eq, operator, or, or_eq, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static, static_cast, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while, xor, xor_eq.
Это обязательные требования. Теперь о некоторых соглашениях принятых среди программистов на С++.
Имена переменных не пишут из одних заглавных букв. Так обычно записывают константы. Константе в отличие от переменных значение присваивается один раз, и не может быть изменено по ходу выполнения программы. Если компилятор встречается с попыткой присвоить константе новое значение, как обычной переменной, он выдает ошибку.
Обычно для имени переменной используется английское слово. Записывать при помощи транслита, является не лучшим вариантом. Пример: не vremja, а time: не skorost, а speed. Тогда даже программист, который не знает русского языка, по названиям переменных может догадаться, что делает программа.
Если вам все же нужно отделить одно слово в названии переменной от другого, может вставить вместо пробела знак подчеркивания _.
Теперь давайте напишем программу «Hello User», а потом на ее примере я объясню, как объявлять переменные в С++. И так вот текст нашей программы:
#include <iostream> #include <windows.h> using namespace std;
Я хочу обратить ваше внимание на следующую строку: char name[100]; - это и есть объявление переменной. Слово char перед именем переменной сообщает компилятору, что переменная содержит символы, а в квадратных скобках после имени переменной, мы сообщаем компилятору, сколько символов мы можем ввести. Для записи одного символа мы используем один байт. Значит, наша операционная система выделяет 100 байт памяти для переменной name. Кроме слова char, которая сообщает, что переменная name содержит данные символьного типа, есть и другие: int, float, double, long, bool. С помощью этих слов мы можем сообщить компилятору, что наша переменная будет хранить целые числа (целочисленный тип), дробное число (плавающее число, и число двойной точности) или логическое значение. Но о них речь пойдет в следующих уроках. Переменные можно объявлять в любом месте программы, но обязательно до их первого использования. Иначе компилятор выдаст ошибку. А сейчас давайте вернемся к нашей программе «Hello User».
В нашей программе есть следующая строка: «cin >>name;». В ней мы даем программе инструкцию данные, введенные с клавиатуры записать в переменную name.
Если вы выполняете эту программу не в Dev C++ с установленными библиотеками русификации вывода, то всего вероятней у вас получиться что-то похожее на рисунке1.
Рисунок 1.
Выход из этого переписать нашу программу следующим образом: