- Karşılaştırma ve mantıksal operatörlerle
if,else if,elseyazmak switchile birkaç seçenekten birini seçmekfor,whilevedo-whiledöngüleriyle işleri tekrarlamak- Döngüleri
breakvecontinueile yönetmek
Bir oyunda karakterin canı sıfıra düştüğünde “Game over” yazısı çıkar, ekran ise her karede yeniden çizilir. Birincisi bir koşuldur: program duruma göre karar verir. İkincisi bir döngüdür: aynı iş tekrar tekrar yapılır. Bu iki araç olmadan ciddi hiçbir program yazılamaz.
if, else if ve else
if anahtar sözcüğünden sonra parantez içine bir koşul yazılır. Koşul doğruysa (true), süslü parantezlerdeki blok çalışır. else if bir sonraki koşulu denetler, else ise hiçbir koşul sağlanmadığında çalışır. Koşullar yukarıdan aşağıya denetlenir ve yalnızca ilk doğru koşulun bloğu çalışır.
#include <iostream>
int main() {
int score = 78;
if (score >= 90) {
std::cout << "Excellent\n";
} else if (score >= 70) {
std::cout << "Good\n";
} else if (score >= 50) {
std::cout << "Satisfactory\n";
} else {
std::cout << "Try again\n";
}
return 0;
}Good
score 78'dir: ilk koşul (78 >= 90) yanlış, ikincisi (78 >= 70) doğrudur; ekrana Good yazılır ve kalan koşullar hiç denetlenmez.
Karşılaştırma ve mantıksal operatörler
| Operatör | Anlamı | Doğru örnek |
|---|---|---|
== | eşittir | 5 == 5 |
!= | eşit değildir | 5 != 3 |
< > | küçüktür, büyüktür | 3 < 5 |
<= >= | küçük veya eşit, büyük veya eşit | 5 >= 5 |
&& | VE: iki koşul da doğru | 4 > 0 && 4 < 10 |
|| | VEYA: en az biri doğru | 4 < 0 || 4 > 2 |
! | DEĞİL: değeri tersine çevirir | !false |
#include <iostream>
int main() {
int age = 15;
bool hasTicket = true;
if (age >= 12 && hasTicket) {
std::cout << "Welcome to the cinema!\n";
}
if (age < 7 || age > 65) {
std::cout << "Free entry\n";
} else {
std::cout << "Standard price\n";
}
if (!hasTicket) {
std::cout << "Please buy a ticket\n";
}
return 0;
}Welcome to the cinema! Standard price
&& operatörü VE kapısı gibi çalışır: çıkış yalnızca iki giriş de 1 olduğunda 1'dir.switch: seçenekler arasından seçim
Bir değişkeni birçok belirli değerle karşılaştırman gerektiğinde switch kullanışlıdır. Her case bir değeri denetler, break ise switch'ten çıkar. break unutulursa çalışma bir sonraki case'e “düşer”; bu bazen bilerek yapılır: aşağıda 6 ve 7 aynı sonucu verir. default, hiçbir case uymadığında çalışır.
#include <iostream>
int main() {
int day = 6;
switch (day) {
case 6:
case 7:
std::cout << "Weekend\n";
break;
case 5:
std::cout << "Almost weekend\n";
break;
default:
std::cout << "Working day\n";
}
return 0;
}Weekend
for ve while döngüleri
for döngüsü, tekrar sayısı önceden bilindiğinde kullanılır. Başlığında noktalı virgülle ayrılmış üç bölüm vardır:
int i = 1— başlangıç: sayaç değişkeni bir kez oluşturulur.i <= 5— koşul: her tekrardan önce denetlenir; yanlış olduğunda döngü biter.i++— adım: her tekrardan sonra çalışır.
#include <iostream>
int main() {
for (int i = 1; i <= 5; i++) {
std::cout << i << " x 3 = " << i * 3 << '\n';
}
return 0;
}1 x 3 = 3 2 x 3 = 6 3 x 3 = 9 4 x 3 = 12 5 x 3 = 15
while döngüsü koşul doğru olduğu sürece çalışır ve tekrar sayısı önceden bilinmediğinde işe yarar. Örneğin: Leyla'nın 50 manatı var ve her ay 40 manat biriktiriyor. Kaç ay sonra en az 200 manatı olur?
#include <iostream>
int main() {
int savings = 50;
int months = 0;
while (savings < 200) {
savings += 40;
months++;
}
std::cout << "Months: " << months << '\n';
std::cout << "Savings: " << savings << " AZN\n";
return 0;
}Months: 4 Savings: 210 AZN
Bir de do { ... } while (koşul); döngüsü vardır: koşulu bloğu çalıştırdıktan sonra denetler, bu yüzden gövde en az bir kez çalışır. Örneğin kullanıcıya bir menüyü en az bir kez göstermek için kullanışlıdır.
break ve continue
break döngüyü hemen durdurur, continue ise o anki tekrarın geri kalanını atlayıp bir sonrakine geçer. Aşağıdaki program çift sayıları atlar ve 7'den büyük bir sayıya ulaşınca döngüyü bitirir:
#include <iostream>
int main() {
for (int n = 1; n <= 10; n++) {
if (n % 2 == 0) {
continue;
}
if (n > 7) {
break;
}
std::cout << n << '\n';
}
return 0;
}1 3 5 7
Önemli noktalar
if,else ifveelsekoşulları yukarıdan aşağıya denetler ve ilk doğru koşulun bloğunu çalıştırır.==karşılaştırır,=atar;&&,||ve!koşulları birleştirir.switchbir değişkeni belirli değerlerle karşılaştırır; hercase'in sonundabreakyazmayı unutma.fortekrar sayısı bilindiğinde,whilekoşul doğru olduğu sürece çalışır;do-whileen az bir kez çalışır.breakdöngüyü durdurur,continueise bir sonraki tekrara geçer.
Kendini test et
10 soru. Her doğru cevap XP kazandırır.
int t = 25; iken bu kod ne yazdırır? if (t > 30) { std::cout << "Hot"; } else if (t > 20) { std::cout << "Warm"; } else { std::cout << "Cold"; }