Professional Documents
Culture Documents
3 - C++ Променливи и типове данни
3 - C++ Променливи и типове данни
3 - C++ Променливи и типове данни
Съдържание
1. Идентификатори
3. Декларацията на променливите
4. Обхват на променливите
Нека разиграем следната ситуация: Запомнете числата 12 и 8. Сега ако умножим първото число по 3 и
разделим второто на 2, би трябвало да получим числата 36 и 4. На края ако разделим първото на второто,
ще получим 9.
Гореописаните сметки могат да бъдат реализирани на C++ с помощта на две променливи. Програмата би
изглеждала по следния начин (не се тревожете ако не разбирате всичко от програмата, това тепърва ще се
изясни):
#include <iostream>
using namespace std;
int main ()
{
int a, b; // декларация на две целочислени променливи
a = 12; // инициализиране на първата променлива
b = 8; // инициализиране на втората променлива
a = 3 * a; // умножаваме първото число по 3
b = 8 / 2; // разделяме второто число на 2
int result = a / b; // съхраняваме резултата в нова променлива
cout << result; // принтираме резултата в конзолата
return 0;
}
Всяка променлива се нуждае от уникално име, което да я различава от другите. В
примера, който дадохме по-горе, сме използвали a,b и result, но можем да именуваме променливите както
пожелаем (стига да отговарят на правилата, които ще въведем след малко).
Идентификатори
Идентификаторите се използват за именуване на променливи. Валиден идентификатор
е поредица от една или повече букви, цифри или долни черти (_). Не може да съдържа
– препинателни знаци, символи и празни пространства (space). Също така
идентификатора на променливата винаги трябва да започва с буква, никога не трябва
да започва с цифра. В някои случаи може да започва и с долна черта (_), но е най-добре
е да започва с буква.
Друго правило при определяне на идентификатор е да не съвпада с някоя ключова
дума от езика C++.
Такива ключови думи са:
alignas, alignof, and, and_eq, asm, auto, bitand, bitor, bool, break, case, catch, char, char16_t, char32_t, class,
compl, const, constexpr, const_cast, continue, decltype, default, delete, do, double, dynamic_cast, else, enum,
explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, noexcept, not,
not_eq, nullptr, operator, or, or_eq, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof,
static, static_assert, static_cast, struct, switch, template, this, thread_local, throw, true, try, typedef, typeid,
typename, union, unsigned, using, virtual, void, volatile, wchar_t, while, xor, xor_eq
Ключовите думи се отбелязват от повечето работни среди по специален начин, така че лесно можем да
забележим, ако сме използвали такава за нашата променлива.
C++ е чувствителен език. Това означава, че идентификаторите, написани с главни
букви, не са еквивалентни на други, написани с малки букви. Например променливата
sum не е същата като променливата Sum или SUM. Това са 3 различни идентификатора.
Декларацията на променливите
За да използваме променлива в C++, трябва първо да я декларирамe – това включва
определяне на идентификатора и типа данни. Синтаксисът на декларацията е следният:
типа_данни идентификатор;
Пример:
int myFirstInteger;
char myFirstCharacter;
Ако искаме да декларираме повече от една променлива от същия тип, може да ги
декларираме на един ред, отделяйки имената чрез запетаи:
char ch1, ch2, ch3;
Това е еквивалентно на:
char ch1;
char ch2;
char ch3;
Ако желаем да декларираме променлива, която да приема целочислени положителни
стойностти, не по-големи от 65 535, то декларацията би изглеждала така:
unsigned short int myInteger;
Един по-интересен тип променливи, които могат да съхраняват нечислови стойности,
по-дълги от един знак, са така наречените стрингове (англ. String).
За да декларираме и използваме променливи от този тип, трябва предварително да включим
допълнителната библиотека „string“ в нашата програма. Това става, както вече знаем от
предишния урок, посредством #include директивата.
// отпечатва „Hello String!“ с помощта на стрингове
#include <iostream>
#include <string>
using namespace std;
int main ()
{
string hellostring = „Hello String!“;
cout << hellostring;
return 0;
}
Обхват на променливите
Променливите могат да бъдат разделени на два основни типа по отношение на обхвата
им в програмата – локални и глобални. Глобалните променливи се декларират извън
всички функции, но могат да се използват/достъпват във всяка една от тях. За разлика
от тях локалните променливи се декларират в определена функция и важат само в нея.
Поради тази причина например е възможно да декларираме локални променливи с
еднакви имена, стига те да са в различни функции.