Как ввести переменную в с
Для хранения данных в программе в языке C++ используются переменные . Фактически переменная представляет именнованный участок памяти. Переменная имеет тип, имя и значение. Тип определяет, какие именно данные может хранить переменная.
Перед использованием любую переменную надо определить. Синтаксис определения переменной выглядит следующим образом:
тип_переменной имя_переменной;
Именование переменных
Имя переменной последовательность алфавитных-цифровых символов и знака подчеркивания _. При этом имя переменной должно начинаться с алфавитного символа или подчеркивания.
Кроме того, в качестве имени переменной нельзя использовать ключевые слова языке C++, например, for или if . Но таких слов не так много, и по ходу освоения C++ вы соориентируетесь, какие слова являются ключевыми.
Следует отметить, что при этом не рекомендуются следующие именования:
- имена, которые начинаются с двух подчеркиваний
- имена, которые начинаются с подчеркивания, за которым идет заглавный алфавитный символ
- имена в глобальной области (вне функции main), которые начинаются с подчеркивания
Дело в том, что при подобных именах повышается вероятность, что подобные названия будут конфликтовать с именами (например, именами переменных), которые генерирует компилятор или которые определены в подключаемых стандартных модулях C++. Поэтому некоторые вообще не рекомендуют начинать имя с символа подчеркивания
Определение переменной
В общем случае переменная определяется в следующем виде:
тип_переменной имя_переменной;
Например, простейшее определение переменной:
int age;
Здесь определена переменная age, которая имеет тип int . Поскольку определение переменной представляет собой инструкцию, то после него ставится точка с запятой.
Также стоит учитывать, что C++ — регистрозависимый язык, а это значит, что регистр символов имеет большое значение. То есть в следующем коде будут определяться две разные переменные:
int age; int Age;
Поэтому переменная Age не будет представлять то же самое, что и переменная age.
Также нельзя объявить больше одной переменной с одним и тем же именем, например:
int age; int age;
Подобное определение вызовет ошибку на этапе компиляции.
Инициализация
После определения переменной можно присвоить некоторое значение. Присвоение переменной начального значения называется инициализацией . В C++ есть три вида инициализации:
- Нотация присваивания (assignment notation)
- Функциональная нотация (functional notation)
- Инициализация в фигурных скобках (braced initialization)
Рассмотрим все эти виды инициализаций
Нотация присваивания
Суть нотациия присваивания — с помощью оператора присваивания (знак «равно» или =) переменной передаем некоторое значение:
int age; age = 20;
Здесь в качестве значения переменной присваивается число 20. Постоянные значения любого типа, наподобие чисел, символов, строк, такие как 20, 123.456 (дробное число), «A» или «hello», называются литералами . То есть в данном случае переменной присваивается целочисленный литерал 20.
Например, определим в программе переменную и выведем ее значение на консоль:
#include int main() < int age; age = 28; std::cout можно вывести несколько значений на консоль.После компиляции и запуска скомпилированной программы на консоль будет выведено число 28.
Age = 28Можно сразу при определении переменной дать ей некоторое начальное значение:
#include int main() < int age = 28; std::coutint age ; // braced initializationВ данном случае переменная будет иметь значение 38.
Функциональная нотация
При функциональной нотации после названия переменной в круглых скобках указывается ее значение:
int age (38); // functional notationВ данном случае переменная будет иметь значение 38.
Во всех трех случаях присваиваемое переменной значение может представлять сложное вычисляемое выражение. Например:
int age1 ; int age2 (22 + 5); int age3 = 22 + 5;Можно сразу инициализировать несколько переменных:
int age1 , age2 (23), age3 = 24;В большинстве случаев все три варианта инициализации эквивалентны. Однако инициализация в фигурных скобках немного безопаснее, когда применяется сужающее преобразование. В общем случае ожидается, что переменной передается значение, которое соответствует ее типу. Если же это не так, то компилятор попытается преобразовать присваиваемое значение в тип переменной. Сужающее преобразование изменяет значение одного типа на тип с более ограниченным диапазоном значений. Таким образом, преобразование может привести к потере информации. Возьмем следующий пример:
#include int main()
Здесь переменным age1 и age2, которые представляют тип int , то есть целое число, присваивается дробное значение - 23.5 и 24.5 соответственно. Но в большинстве компиляторов, по крайней мере на момент написания данной статьи, этот код нормально скомпилируется и выполнится. Мы получим следующий вывод:
Age1 = 23 Age2 = 24Теперь возьмем пример с инициализацией через фигурные скобки:
#include int main() < int age ; std::cout
Здесь переменной age, которая также представляет целое число, также присваивается дробное значение - 22.5. Однако теперь при компиляции многие компиляторы сообщат нам об ошибке. Например, вывод компилятора g++:
hello.cpp: In function 'int main()': hello.cpp:5:15: error: narrowing conversion of '2.25e+1' from 'double' to 'int' [-Wnarrowing] 5 | int age1 ;Следует отметить, что некоторые компиляторы могут все таки скомпилировать данный код, однако все равно отобразят предупреждение.
Инициализация нулем
При инициализации в фигурных скобках можно опустить значение:
int counter <>;В этом случае переменная будет инициализироваться нулем и фактически будет аналогично коду:
int counter ;Инициализация по умолчанию
Если переменную не инициализировать, то происходит ее инициализация по умолчанию. И переменная получает некоторое значение по умолчанию, которое зависит от места, где эта переменная определена.
Если переменная, которая представляет встроенный тип (например, тип int), определена внутри функции, то она получает неопределенное значение. Если переменная встроенного типа определена вне функции, то она получает то значение по умолчанию, которое соответствует ее типу. Для числовых типов это число 0. Например:
#include int x; int main() < int y; std::coutX = 0 Y = 0А в Visual Studio отсутствие значения переменной y вызовет ошибку компиляции.
Но в любом случае перед использованием переменной лучше явным образом назначать ей определенное значение, а не полагаться на значение по умолчанию.
Изменение значения
Ключевой особенностью переменных является то, что мы можем изменять их значения:
#include int main()
Консольный вывод программы:
Age1 = 22 Age2 = 23 Age3 = 38Как ввести переменную в с
Для хранения данных в программе применяются переменные . Переменная представляет именнованную область памяти, в которой хранится значение определенного типа. Переменная имеет тип, имя и значение. Тип определяет, какого рода информацию может хранить переменная.
Перед использованием любую переменную надо определить. Синтаксис определения переменной выглядит следующим образом:
тип имя_переменной;Вначале идет тип переменной, потом ее имя. В качестве имени переменной может выступать любое произвольное название, которое удовлетворяет следующим требованиям:
- имя может содержать любые цифры, буквы и символ подчеркивания, при этом первый символ в имени должен быть буквой или символом подчеркивания
- в имени не должно быть знаков пунктуации и пробелов
- имя не может быть ключевым словом языка C#. Таких слов не так много, и при работе в Visual Studio среда разработки подсвечивает ключевые слова синим цветом.
Хотя имя переменой может быть любым, но следует давать переменным описательные имена, которые будут говорить об их предназначении.
Например, определим простейшую переменную:
string name;
В данном случае определена переменная name, которая имеет тип string . то есть переменная представляет строку. Поскольку определение переменной представляет собой инструкцию, то после него ставится точка с запятой.
При этом следует учитывать, что C# является регистрозависимым языком, поэтому следующие два определения переменных будут представлять две разные переменные:
string name; string Name;
После определения переменной можно присвоить некоторое значение:
string name; name = "Tom";
Так как переменная name представляет тип string, то есть строку, то мы можем присвоить ей строку в двойных кавычках. Причем переменной можно присвоить только то значение, которое соответствует ее типу.
В дальнейшем с помощью имени переменной мы сможем обращаться к той области памяти, в которой хранится ее значение.
Также мы можем сразу при определении присвоить переменной значение. Данный прием называется инициализацией:
string name = "Tom";
Отличительной чертой переменных является то, что в программе можно многократно менять их значение. Например, создадим небольшую программу, в которой определим переменную, поменяем ее значение и выведем его на консоль:
string name = "Tom"; // определяем переменную и инициализируем ее Console.WriteLine(name); // Tom name = "Bob"; // меняем значение переменной Console.WriteLine(name); // Bob
Консольный вывод программы:
Tom Bob
Константы
Отличительной особенностью переменных является то, что мы можем изменить их значение в процессе работы программы. Но, кроме того, в C# есть константы. Константа должна быть обязательно инициализирована при определении, и после определения значение константы не может быть изменено
Константы предназначены для описания таких значений, которые не должны изменяться в программе. Для определения констант используется ключевое слово const , которое указывается перед типом константы:
const string NAME = "Tom"; // определяем константу
Так, в данном случае определена константа NAME , которая хранит строку "Tom". Нередко для название констант используется верхний регистр, но это не более чем условность.
При использовании констант надо помнить, что объявить мы их можем только один раз и что к моменту компиляции они должны быть определены. Так, в следующем случае мы получим ошибку, так как константе не присвоено начальное значение:
const string NAME; // ! Ошибка - константа NAME не инициализирована
Кроме того, мы ее не сможем изменить в процессе работы программы:
const string NAME = "Tom"; // определяем константу NAME = "Bob"; // !Ошибка - у констаты нельзя изменить значение
Таким образом, если нам надо хранить в программе некоторые данные, но их не следует изменить, они определяются в виде констант. Если же их можно изменять, то они определяются в виде переменных.
Переменные и типы данных в C++ — урок 2
Из школьного курса математики мы все знаем, что такое переменные. В программировании принципы довольно схожи. Переменная — это «ячейка» оперативной памяти компьютера, в которой может храниться какая-либо информация.
В программировании переменная, как и в математике, может иметь название, состоящее из одной латинской буквы, но также может состоять из нескольких символов, целого слова или нескольких слов.
- Типы данных
- Основные типы данных в C++
- Пример объявления переменных
- Разбор кода
Типы данных
В языке С++ все переменные имеют определенный тип данных. Например, переменная, имеющая целочисленный тип не может содержать ничего кроме целых чисел, а переменная с плавающей точкой — только дробные числа.
Тип данных присваивается переменной при ее объявлении или инициализации. Ниже приведены основные типы данных языка C++, которые нам понадобятся.
Основные типы данных в C++
- int — целочисленный тип данных.
- float — тип данных с плавающей запятой.
- double — тип данных с плавающей запятой двойной точности.
- char — символьный тип данных.
- bool — логический тип данных.
Объявление переменной
Объявление переменной в C++ происходит таким образом: сначала указывается тип данных для этой переменной а затем название этой переменной.
Пример объявления переменных
int a; // объявление переменной a целого типа. float b; // объявление переменной b типа данных с плавающей запятой. double c = 14.2; // инициализация переменной типа double. char d = 's'; // инициализация переменной типа char. bool k = true; // инициализация логической переменной k.- Заметьте, что в C++ оператор присваивания(=) — не является знаком равенства и не может использоваться для сравнения значений. Оператор равенства записывается как «двойное равно» — == .
- Присваивание используется для сохранения определенного значение в переменной. Например, запись вида a = 10 задает переменной a значение числа 10.
Простой калькулятор на C++
Сейчас мы напишем простую программу-калькулятор, которая будет принимать от пользователя два целых числа, а затем определять их сумму:
Объявление переменных в C++

Переменная является идентификатором, обозначающим некоторую область в памяти, в которой хранится значение переменной. Это значение может изменяться во время выполнения приложения. В программировании переменная, как и в математике, может иметь название, состоящее из одной латинской буквы, но также может состоять из нескольких символов, целого слова или нескольких слов. Объявление переменной в C++ происходит таким образом: сначала указывается тип данных для этой переменной а затем название этой переменной.
Объявление переменной
тип список_идентификаторов_переменных;Список идентификаторов может состоять из идентификаторов переменных, разделенных запятыми. Например:
int x1, x2;Одновременно с объявлением некоторые или все переменные могут быть инициализированы. Например:
int x1 = 1, x2 = 2;Для инициализации можно использовать не только константы, но и произвольные выражения, содержащие объявленные ранее константы и переменные. Например:
int x1 = 1, x2 = 2*x1;Объявление переменных может быть отдельным оператором или делаться внутри таких операторов, как, например, оператор цикла:
for (int i = 0; i < 10; i++)Пример объявления переменных
int a; // объявление переменной a целого типа. float b; // объявление переменной b типа данных с плавающей запятой. double c = 14.2; // инициализация переменной типа double. char d = 's'; // инициализация переменной типа char. bool k = true; // инициализация логической переменной k.Замечания
- В C++ оператор присваивания (=) – не является знаком равенства и не может использоваться для сравнения значений. Оператор равенства записывается как «двойное равно» (==).
- Присваивание используется для сохранения определенного значение в переменной.