- Müxtəlif tipli dəyişənləri elan etmək və onlara qiymət vermək
autovəconstaçar sözlərindən istifadə etmək- Hesab operatorlarını tətbiq etmək, tam bölməni və
%operatorunu izah etmək std::cinilə məlumat oxumaq və kəsr ədədlərin çapını idarə etmək
Oyunda personajın canı, xalı və adı yadda saxlanmalıdır: xal artır, can azalır, ad isə dəyişmir. Proqram bu məlumatları dəyişənlərdə saxlayır. C++ dilində hər dəyişənin öz tipi var və o, proqram işə düşməzdən əvvəl, kompilyasiya zamanı müəyyən olunur.
Dəyişənlər və tiplər
Yaddaşda adı olan və müəyyən tipli qiyməti saxlayan yer. C++ dilində dəyişən tip ad = qiymət; şəklində elan olunur, məsələn: int age = 14;.
| Tip | Nə saxlayır | Nümunə |
|---|---|---|
int | tam ədədlər | 42, -7 |
double | kəsr hissəli ədədlər | 3.14, -0.5 |
char | bir simvol, tək dırnaqda | 'A', '7' |
bool | məntiqi qiymət | true, false |
std::string | mətn, qoşa dırnaqda | "Baku" |
long long | çox böyük tam ədədlər | 9000000000 |
#include <iostream>
#include <string>
int main() {
int age = 14;
double height = 1.62;
char grade = 'A';
bool isStudent = true;
std::string city = "Baku";
std::cout << "Age: " << age << '\n';
std::cout << "Height: " << height << " m\n";
std::cout << "Grade: " << grade << '\n';
std::cout << "Student: " << isStudent << '\n';
std::cout << "City: " << city << '\n';
return 0;
}Age: 14 Height: 1.62 m Grade: A Student: 1 City: Baku
Diqqət et: char qiyməti tək dırnaqda ('A'), std::string isə qoşa dırnaqda yazılır. std::string üçün #include <string> lazımdır. bool tipli qiymət ekrana 1 (true) və ya 0 (false) kimi çıxır.
Kompüter bütün qiymətləri ikilik say sistemində — bitlərlə saxlayır. int adətən 4 bayt (32 bit) tutur və təxminən −2,1 milyarddan 2,1 milyarda qədər ədədləri saxlaya bilir. Daha böyük ədədlər üçün long long tipi var. Aşağıda bitləri yandırıb-söndür və 8 bitlə hansı ədədləri yazmağın mümkün olduğunu gör.
auto və const
Tip ilk qiymətdən aydındırsa, onu yazmaya bilərsən: auto açar sözü tipi kompilyatorun özünün müəyyən etməsini istəyir. auto dəyişəni «tipsiz» etmir — tip yenə kompilyasiya zamanı bir dəfəlik seçilir. const isə dəyişəni sabitə çevirir: ona ilk qiymət verildikdən sonra onu dəyişmək olmaz.
#include <iostream>
int main() {
auto lives = 3; // int
auto speed = 2.5; // double
auto letter = 'Z'; // char
const int maxLives = 5;
lives = lives + 1;
std::cout << "Lives: " << lives << " of " << maxLives << '\n';
std::cout << "Speed: " << speed << ", letter: " << letter << '\n';
// maxLives = 6; // error: maxLives is const
return 0;
}Lives: 4 of 5 Speed: 2.5, letter: Z
Hesab operatorları
C++ adi hesab əməllərini bilir: +, -, *, /. Burada bir incəlik var: iki tam ədəd bölünəndə nəticə də tam olur, kəsr hissəsi sadəcə atılır. Bölmənin qalığını % operatoru verir. Kəsr nəticə lazımdırsa, ədədlərdən biri double olmalıdır — məsələn, 17.0 yazmaq və ya tipi static_cast<double> ilə çevirmək olar.
#include <iostream>
int main() {
int a = 17;
int b = 5;
std::cout << "a / b = " << a / b << '\n';
std::cout << "a % b = " << a % b << '\n';
std::cout << "17.0 / 5 = " << 17.0 / 5 << '\n';
std::cout << "cast: " << static_cast<double>(a) / b << '\n';
return 0;
}a / b = 3 a % b = 2 17.0 / 5 = 3.4 cast: 3.4
Dəyişənin qiymətini dəyişmək üçün qısa yazılışlar var: score += 5 ifadəsi score = score + 5 deməkdir, -=, *=, /= də eyni qayda ilə işləyir. score++ qiyməti 1 artırır, score-- isə 1 azaldır.
#include <iostream>
int main() {
int score = 10;
score += 5; // 15
score *= 2; // 30
score -= 4; // 26
score++; // 27
std::cout << "Score: " << score << '\n';
int coins = 7;
coins /= 2; // 3
std::cout << "Coins: " << coins << '\n';
return 0;
}Score: 27 Coins: 3
Çıxış və giriş
std::cout kəsr ədədləri susmaya görə ən çoxu 6 əhəmiyyətli rəqəmlə çap edir. Kəsr hissəsində neçə rəqəm göstəriləcəyini özün seçmək üçün <iomanip> faylını qoş və std::fixed ilə std::setprecision yaz:
#include <iomanip>
#include <iostream>
int main() {
double total = 14.0;
double average = total / 3;
std::cout << average << '\n';
std::cout << std::fixed << std::setprecision(2) << average << '\n';
return 0;
}4.66667 4.67
Klaviaturadan məlumat oxumaq üçün std::cin və >> operatoru işlədilir: std::cin >> year; istifadəçinin yazdığı ədədi year dəyişəninə yazır. Bu kursun nümunələrində qiymətləri kodun içində veririk ki, nəticə həmişə eyni olsun. Aşağıdakı fraqmenti isə öz kompüterində yoxlaya bilərsən:
std::string name;
int year = 0;
std::cout << "Your name: ";
std::cin >> name;
std::cout << "Birth year: ";
std::cin >> year;
std::cout << "Hi, " << name << "! In 2030 you will be " << 2030 - year << ".\n";Hi, Murad! In 2030 you will be 18.Əsas fikirlər
- Dəyişən
tip ad = qiymət;şəklində elan olunur və tipi sonradan dəyişmir. - Əsas tiplər:
int,double,char,boolvəstd::string. autotipi ilk qiymətə görə müəyyən edir,constisə qiymətin dəyişməsini qadağan edir.- İki
int-in bölünməsi tam ədəd verir; bölmənin qalığını%tapır. std::cin >>klaviaturadan oxuyur,std::fixedvəstd::setprecisionkəsr ədədlərin çapını idarə edir.
Özünü yoxla
10 sual. Hər düzgün cavab XP qazandırır.
int x = 17 / 5; əmrindən sonra x nəyə bərabərdir?