C++ Programlamayı bizimle öğrenin

C++ programlama dilini uzman eğitmen kadromuzla bizimle öğrenin

C++ Örnekleri

C++ Örneklerini sitemizde bulabilirsiniz

Bir Sorunuz mu var?

Tüm sorularınızın cevabını sitemizde bulabilirsiniz.

Bize ulaşın

Tüm sorularınız için bizimle irtibata geçin.

24 Temmuz 2013 Çarşamba

C++ SWİTCH YAPISI

C++ SWİTCH YAPISI


Bir switch ifadesi bir değişken değerler listesi karşı eşitlik için test sağlar. Her değer bir olgu denir ve değişken her durum için kontrol edilir açıldıktan sonra.

Sözdizimi:

C ++ bir switch deyimi için sözdizimi şöyledir:
 switch (ifade) {
     durumda sabit ifade:
        ifade (s);
        break; / / isteğe bağlı
     durumda sabit ifade:
        ifade (s);
        break; / / isteğe bağlı
  
     / / Eğer durum açıklamalarının herhangi bir sayı olabilir.
     default: / / Opsiyonel
        ifade (s);
 }
Aşağıdaki kurallar bir switch deyimi için geçerlidir:
  • Bir switch ifadesi kullanılan ifade ayrılmaz bir veya numaralandırılmış türüne sahip, ya da sınıf ayrılmaz bir veya numaralandırılmış türüne tek dönüştürme işlevi sahip olduğu bir sınıf türü olmalıdır.
  • Bir anahtar içinde durum açıklamalarının herhangi bir sayı olabilir. Her durumda kıyasla gereken değeri ve iki nokta üst üste izler.
  • Bir durum için sabit ifade anahtarı değişken olarak aynı veri türünde olmalı ve bir sabit veya bir sabit olmalıdır.
  • Bir break deyimi ulaşılana kadar açık olan değişken bir durumda eşit olduğunda, bu durumda takip eden ifadeleri çalıştırır.
  • Bir break deyimi ulaşıldığında, anahtar sona erer, ve kontrol akışını switch deyimi takip eden sonraki satıra atlar.
  • Her durumda bir mola olması gerekiyor değil. Hiçbir ara görünürse bir ara ulaşana kadar, kontrol akışını sonraki durumlarda kadar düşecek.
  • Bir switch deyimi, anahtarı sonunda yer almalıdır isteğe bağlı varsayılan durumda, olabilir.Varsayılan durumda Olguların hiçbiri doğru olduğunda bir işi yapmak için kullanılabilir. Hiçbir ara varsayılan durumda gereklidir.

Akış Şeması:

C + + switch ifadesi

Örnek:

 # Include <iostream>
 using namespace std;
 
 int main ()
 {
    / / Yerel değişken bildirimi:
    karakter dereceli = 'D';

    geçiş (grade)
    {
    case 'A':
       cout << "Mükemmel!"  << Endl; 
       break;
    case 'B':
    case 'C':
       cout << << endl "Aferin";
       break;
    case 'D':
       cout << << endl "Geçtin";
       break;
    case 'F':
       cout << << endl "iyi tekrar deneyin";
       break;
    Varsayılan:
       cout << "Geçersiz sınıf" << endl;
    }
    cout << << sınıf << endl "Sizin kalitedir";
 
    0 dönmek;
 }
Bu şu sonucu üretecektir:
 Sen geçti
 Sizin sınıf D

16 Temmuz 2013 Salı

C++ FONKSİYONLAR

C++ FONKSİYONLAR 


Bu makalede sizlere C++ Programlama Dilinde Fonksiyonlardan bahsedeceğiz...



C++ FONKSİYONLAR

Bir işlevi programın bir noktada çağrıldığında yürütülen tabloların bir gruptur. Aşağıdaki ifade biçimi: 

türü adı (parameter1, parameter2, ...) {ifadeler} 

burada: 

  • türü işlevi tarafından döndürülen veri veri tür belirteci olduğunu.
  • ismi işlevini çağırmak mümkün olacaktır hangi tanımlayıcı olan.
  • parametre (gerektiği kadar gibi): ve hangi düzenli yerel değişken olarak işlev içinde hareket: Her parametre herhangi bir normal değişken bildiriminde (int x örneğin) gibi, bir tanımlayıcı ardından veri tür belirteci oluşur. Onlar denir işleve argümanlar geçmesine izin. Farklı parametreler virgül ile ayrılır.
  • ifadeleri işlevin organıdır. Bu parantez {} çevrili tabloların bir bloktur.

Burada ilk fonksiyonu örnek var: 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// function example
#include <iostream>
using namespace std;

int addition (int a, int b)
{
  int r;
  r=a+b;
  return (r);
}

int main ()
{
  int z;
  z = addition (5,3);
  cout << "The result is " << z;
  return 0;
}
The result is 8



Bu kodu incelemek için, her şeyden önce bir şey bu yazının başında söylediğim unutmayın: bir C + + programı her zaman ana fonksiyonu ile yürütme başlar. Bu yüzden orada başlayacak.

Biz int türünde değişken z bildirerek ana işlev başlar görebilirsiniz. Hemen ardından, biz ek adlı bir işlev çağrısına bakın. Dikkat biz işlevi ve fonksiyonu kendisi üzerinde bazı kod satırları bildirimi için çağrı yapısı arasındaki benzerlikleri görmek mümkün olacak:



Parametreleri ve argümanları açık bir yazışma var. 5 ve 3, int a ve int karşılık b parametreleri fonksiyonu eklenmesi için ilan: anaişlevi içinde biz Ayrıca iki değeri geçen çağırdı.

Ana fonksiyonu içinde hangi noktada, kontrol ana tarafından kayıp ve ek olarak işlev geçirilir. Çağrısında geçirilen her iki argümanın değeri (5 ve 3) fonksiyonu içindeki yerel değişkenler int ve int b kopyalanır.

Fonksiyon Ayrıca başka bir yerel değişken (int r) beyan ve ifade ile r = a + b, r için bir artı b sonucu atar. Gerçek parametreleri için geçti ve b, sırasıyla 5 ve 3 olduğu için, sonuç 8'dir.

Aşağıdaki kod satırı:
 
 return (r); 


fonksiyonu ek sonuçlandırır, ve ilk etapta (bu durumda, ana) de denir işlevi için kontrol geri döner. Şu anda program ek olarak çağrısıyla kesildi hangi aynı noktadan düzenli seyreder. Ama ayrıca, çünkü bir değeri belirtilen fonksiyonu ek olarak return deyimi: değişken r (dönüş (r);) içeriği o anda 8 bir değeri vardı. Bu değer, işlev çağrısı değerlendirilmesi değer olur.


Bu yüzden değerlendirilir zaman işleve verilen değeri kendisi aramak bir işlev tarafından döndürülen değerini, değişken z 8 ektarafından döndürülen değeri (5, 3), olarak ayarlanır. Bir başka deyişle açıklamak için, bir işlev (ek (5,3)) için arama anlamıyla döndürür değeri (8) ile değiştirilir hayal edebiliyorum.

Ana kod aşağıdaki satırı:
 
 cout << "The result is " << z; 


Bu, zaten bekleyebileceğiniz gibi, ekrandaki sonucun baskı üretir.

Değişkenler Kapsamı


, Bir fonksiyon ya da başka bir iç blok içinde bildirilen değişkenler kapsamı sadece kendi fonksiyon ya da kendi blok ve bunların dışında kullanılamaz. Örneğin, önceki örnekte onlar fonksiyon ek olarak yerel değişkenler bu yana ana işlevi doğrudan değişkenleri a, b ya da r kullanmak imkansız olurdu. Bu ana fonksiyonu için yerel bir değişken olduğu için Ayrıca, bu fonksiyon Ayrıca içinde doğrudan değişken z kullanmak imkansız olurdu.


Bu nedenle, yerel değişkenler kapsamında beyan edildiği aynı blok seviyesi ile sınırlıdır. Yine de, biz de küresel değişkenleri bildirmek için imkanınız var; Bu tüm fonksiyonları iç ve dış, kodun herhangi bir noktadan görülebilir. Genel değişkenleri bildirmek için sadece herhangi bir işlev veya blok dışında değişken bildirmek zorunda, yani doğrudan programın vücutta, anlamına gelir. 

Ve burada işlevleri hakkında başka bir örnek: 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// function example
#include <iostream>
using namespace std;

int subtraction (int a, int b)
{
  int r;
  r=a-b;
  return (r);
}

int main ()
{
  int x=5, y=3, z;
  z = subtraction (7,2);
  cout << "The first result is " << z << '\n';
  cout << "The second result is " << subtraction (7,2) << '\n';
  cout << "The third result is " << subtraction (x,y) << '\n';
  z= 4 + subtraction (x,y);
  cout << "The fourth result is " << z << '\n';
  return 0;
}
The first result is 5
The second result is 5
The third result is 2
The fourth result is 6


Bu durumda biz çıkarma adlı bir işlev oluşturduk. Bu işlev yaptığı tek şey geçirilen parametreleri hem çıkarmak için ve sonuç döndürmektir.

Biz fonksiyonu ana incelemek Bununla birlikte, biz çıkarma çalışması için birkaç çağrı yapmış göreceksiniz. Bir işlev çağrılabilir başka yollar veya anları görmek, böylece bazı farklı arama yöntemleri kullandık.

Tam olarak bu örnekler anlamak için bir işlevine bir çağrı işlev çağrısı kendisini geri gidiyor değer yerini olabileceğini bir kez daha düşünmek gerekir. Örneğin, İlk durumda (biz önceki örneklerde kullandığınız aynı model olduğu için zaten bilmeli):
 1 
 2  
 z = subtraction (7,2); cout << "The first result is " << z; 


Bunu döndürür değeri (yani, 5) tarafından işlev çağrısı yerine, biz olurdu:
 1 
 2  
 z = 5; cout << "The first result is " << z; 


Yanısıra
 
 cout << "The second result is " << subtraction (7,2); 


önceki arama ile aynı sonucu verir, ancak bu durumda biz doğrudan cout için bir ekleme parametre olarak çıkarma için çağrı yaptı.Sadece biz yazılı sanki sonuç aynı olduğunu göz önünde bulundurun:
 
 cout << "The second result is " << 5; 


5 yılından bu yana çıkarma (7,2) tarafından döndürülen değerdir.

: Durumunda
 
 cout << "The third result is " << subtraction (x,y); 


Biz tanıttı tek yeni bir şey çıkarma parametreleri değişken yerine sabit olmasıdır. Bu mükemmel geçerlidir. Bu durumda değerleri çıkarma 2 sonucunda vererek, sırasıyla 5 ve 3 olan x ve y değerleri vardır işlev geçirilir.

Dördüncü durum aynı fazla. Sadece dikkat edin yerine:
 
 z = 4 + subtraction (x,y); 


Biz yazdım olabilir:
 
 z = subtraction (x,y) + 4; 


aynı sonuç. (,) Tüm ifadenin sonunda gider Eğer noktalı virgül işareti olduğunu görebilirsiniz bu yüzden yer açtınız. Bu, mutlaka hemen işlev çağrısı sonra gitmek zorunda değildir. Açıklama bir kez daha bir işlev dönen değeri ile değiştirilebilir hayal bu olabilir:
 1 
 2  
 z = 4 + 2; z = 2 + 4; 


Yok daire tipi ile çalışır. Boşluğun kullanımı.


Bir işlev beyan sözdizimi Hatırlarsanız:

türü adı (argument1, argument2 ...) deyimi 

Eğer beyan bir tür ile başlar göreceksiniz, bu işlevi kendisi (yani, dönüş deyimi ile fonksiyonu tarafından döndürülen veri türünü) türüdür. Ama biz hiçbir değer dönmek isterseniz?

Biz sadece ekranda bir mesaj göstermek için bir işlevi yapmak istediğiniz düşünün. Biz herhangi bir değer döndürmek için buna ihtiyacı yoktur. Bu durumda biz işlevi için geçersiz tür belirteci kullanmalısınız. Bu tür yokluğu gösteren özel belirleyici olduğunu. 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
// void function example
#include <iostream>
using namespace std;

void printmessage ()
{
  cout << "I'm a function!";
}

int main ()
{
  printmessage ();
  return 0;
}
I'm a function!



void Ayrıca açıkça bunu çağrıldığında işlev gerçek parametreleri almak istediğiniz belirtmek için işlevin parametre listesinde kullanılabilir. Örneğin, fonksiyon printmessage olarak ilan olabilirdi:
 1 
 2 
 3 
 4  
 void printmessage ( void ) { cout << "I'm a function!" ; } 


Bu parametre listesinde geçersiz belirtmek için isteğe bağlı olsa da. C ++ biz parametreleri olmayan bir işlev istiyorsanız  bir parametre listesi sadece boş bırakılabilir.

Ne zaman unutmamalısınız bir işlevi çağırmak için biçim adını belirterek ve parantez arasında parametreleri kapsayan içerir olmasıdır.Parametrelerin olmayan varlığı parantez yazmak zorunluluğundan bizi muaf değildir. Bu nedenle printmessage için çağrı:
 
 printmessage (); 


Parantez açıkça bu bir işlevi değil, bir değişken adını veya başka bir C + + açıklamaya bir çağrı olduğunu göstermektedir. Aşağıdaki çağrısı yanlış olurdu:
 
 printmessage; 

28 Haziran 2013 Cuma

C++ VERİ TÜRLERİ

C++ VERİ TÜRLERİ

C++ VERİ TÜRLERİBu makaledee size C++ programlama dilinde kullanılan veri türlerinden bahsedeceğim.Bakalım bu veri türleri neymiş, aralıkları ne kadarmış.Haydi başlayalım...





Veri Türleri

32-bit ve 64-bit derleyiciler için, Microsoft Visual C + + aşağıdaki tabloda gösterilen tiplerini tanır. Aşağıdaki tipi de imzasız formları vardır unutmayın:
  • int (unsigned int)
  • __int8 (imzasız __ int8)
  • __int16 (imzasız __ int16)
  • __int32 (imzasız __ int32)
  • __int64 (imzasız __ int64)
  • kısa (kısa imzasız)
  • uzun (uzun imzasız)
  • uzun (imzasız uzun uzun) uzun
Tür AdBaytDiğer İsimlerDeğerler aralığı
int
4
imzaladı
-2,147,483,648 Için 2,147,483,647
unsigned int
4
imzasız
0 ila 4,294,967,295
__int8
1
karakter
-128 Ile 127 arası
imzasız __ int8
1
unsigned char
0 ile 255
__int16
2
kısa, kısa int, short int imzaladı
-32.768 Ile 32.767
imzasız __ int16
2
imzasız kısa, imzasız kısa int
0 ile 65.535
__int32
4
imzalanmış, imzalanan int, int
-2,147,483,648 Için 2,147,483,647
imzasız __ int32
4
imzasız, unsigned int
0 ila 4,294,967,295
__int64
8
Uzun uzun, uzun uzun imzaladı
-9,223,372,036,854,775,808 Için 9.223.372.036.854.775.807
imzasız __ int64
8
imzasız uzun uzun
0 ile 18.446.744.073.709.551.615
bool
1
hiçbiri
yanlış ya da doğru
karakter
1
hiçbiri
Varsayılan olarak -128 127
Ile derlenmiş 0 ile 255 / J
karakter imzaladı
1
hiçbiri
-128 Ile 127 arası
unsigned char
1
hiçbiri
0 ile 255
kısa
2
short int, short int imzaladı
-32.768 Ile 32.767
kısa imzasız
2
unsigned short int
0 ile 65.535
uzun
4
long int, long int imzaladı
-2,147,483,648 Için 2,147,483,647
uzun imzasız
4
unsigned long int
0 ila 4,294,967,295
uzun uzun
8
hiçbiri (ama __ int64 eşdeğer)
-9,223,372,036,854,775,808 Için 9.223.372.036.854.775.807
imzasız uzun uzun
8
hiçbiri (ancak imzasız __ int64 eşdeğer)
0 ile 18.446.744.073.709.551.615
enum
değişir
hiçbiri
Açıklamalar bakın.
şamandıra
4
hiçbiri
3.4E + / - 38 (7 basamak)
çift
8
hiçbiri
1.7e + / - 308 (15 haneli)
long double
çift ​​aynı
hiçbiri
çift ​​aynı
wchar_t
2
__wchar_t
0 ile 65.535

__ Wchar_t değişebilen geniş karakter veya çok baytlı karakter tipi belirler. Varsayılan olarak wchar_t imzasız kısa bir typedef olduğunu. Bir karakter veya geniş karakter tipi sabit belirlemek için sabit dize önce L örnek kullanın. Ile derlerken / ZC: wchar_t veya / Za , derleyici fonksiyon aşırı yük amaçlı bir imzasız kısa ve wchar_t ayırt edebilirsiniz.
Imzalı ve imzasız bool dışında herhangi bir integral tip kullanılabilir modifiye vardır. Char türü varsayılan olarak imzalanan karakter gibi davranır, ancak belirtebilirsiniz / J varsayılan olarak unsigned char gibi davranmaya yapmak için (derleyici seçeneği).
Dört bayt: int ve imzasız int türleri sistemin kelimenin boyutu var. Ancak, taşınabilir kod int büyüklüğüne bağlı olmamalıdır.
Microsoft C / C + + da boy tamsayı türleri için destek sağlar. 

18 Haziran 2013 Salı

C++ KONTROL YAPILARI

C++ KONTROL YAPILARI


Bugün sizlere C++ programlama dilinde Kontrol yapıları hakkında bir kaç kısa bilgi vereceğim.

Kontrol Yapıları

Bir program talimatları, genellikle doğrusal bir sıra ile sınırlı değildir. Süreci sırasında kod tekrar ya da karar almak, iki kola ayrılmış olabilir. Bu amaçla, C + + program tarafından yapılması gerekenler ve  
hangi şartlar altında belirlemesi gerekenler için kontrol yapıları hizmet sağlar. 


Bileşik-ifadesi veya blok: kontrol yapıları tanıtımı ile yeni bir konsept tanıtmak zorunda olacak. {}: Bir blok noktalı virgül ile (tüm C + + tablolar gibi ;), ayrılmış ama parantez içine bir blok halinde birlikte gruplandırılmış tabloları bir gruptur: 

{Deyim1, deyim2'yi, statement3;} 

Bu bölümde göreceği kontrol yapıları çoğu kendi sözdizimi bir parçası olarak genel bir açıklama gerektirir. Bir deyim ya basit bir açıklama (noktalı virgül ile biten basit bir talimat) ya da sadece anlatılan gibi bir bileşik deyim (birkaç talimatları bir blok gruplandırılmış), olabilir.Basit bir ifadesi olarak istediğiniz durumda, parantez ({}) içine almanız gerekmez. Ama bu durumda biz deyimi bir bileşik deyim bloğu oluşturan, parantez ({}) içine alınmalıdır. 

Şartlı yapısı: else if ve

Anahtar kelime bir ifade yürütmek veya Koşul yerine getirildiği takdirde sadece engellemek için kullanılırsa. Onun kullanılma biçimidir: 

if (koşul) deyimi 


ifade nerede durumu değerlendirilmektedir . Bu koşul doğruysa, if içinde yapılanlar  yürütülür. Yanlış ise, açıklama yok sayılır (çalıştırılmaz) ve program doğru bu koşullu yapısı sonra da devam eder. 
Örneğin, aşağıdaki kod parçası baskılar x x değişken saklanan değeri gerçekten 100 yalnızca 100: 


1 
 2  
 if (x == 100) cout << "x is 100" ; 


Biz koşul doğru olduğu  durumda yürütülecek tek bir tablo daha fazla isterseniz  parantez kullanarak bir blok{} belirtebilirsiniz: 

 1 
 2 
 3 
 4 
 5  
 if (x == 100) { cout << "x is " ; cout << x; } 


Biz ayrıca biz durumu başka anahtar sözcüğünü kullanarak yerine değilse ne istediğinizi belirtebilirsiniz. Eğer ile bağlantılı olarak kullanılan biçimi de: 

else if (koşul) deyim1 deyim2'yi 

Örneğin: 

 1 
 2 
 3 
 4  
 if (x == 100) cout << "x is 100" ; else cout << "x is not 100" ; 


gerçekten x 100  değeri varsa ekranda x üzerinde 100 olarak görünür, ama değilse ve ancak sahip değilse-o x 100 değil yazdırır. 

+ Başka yapıları bir değer aralığı doğrulama amacıyla birleştirilmiş eğer. Aşağıdaki örnek şu anda x saklanan değeri, pozitif, negatif ya da bunların hiçbiri (yani sıfır) ise söylüyorum kullanımı gösterir: 

 1 
 2 
 3 
 4 
 5 
 6  
 if (x > 0) cout << "x is positive" ; else if (x < 0) cout << "x is negative" ; else cout << "x is 0" ; 

Yürütülecek tek bir tablo daha fazla istiyorum, bu durumda  parantez {} içine alınmak suretiyle bir blok grup gerektiğini unutmayın. 


Yineleme yapıları (döngüler)


Döngüler bir açıklama kez belirli sayıda tekrarlamak amaçlı olarak ya da bir koşul yerine kullanılır. 

While döngüsü

Onun formatı: 

while (ifade) deyim 

ve işlevselliğini ifade belirlenen koşul doğru  basitçe bildirimi tekrarlar. 
Örneğin, bir süre-döngü kullanarak geri sayım için bir program yapacağız: 

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19  
 // custom countdown using while #include <iostream> using namespace std; int main () { int n; cout << "Enter the starting number > " ; cin >> n; while (n>0) { cout << n << ", " ; --n; } cout << "FIRE!\n" ; return 0; } 
  Başlangıç ​​numarasını> 8 giriniz 
  8, 7, 6, 5, 4, 3, 2, 1, YANGIN! 


Program başladığında kullanıcıdan geri sayım için bir başlangıç ​​numarası eklemesi istenir. Kullanıcı tarafından girilen değer durumu n> 0 (n sıfırdan büyük olduğu) durumu takip blok yürütülür ve durum (n> 0) gerçekte kalırken tekrarlanacaktır yerine getirmesi halinde daha sonra while döngüsü başlar. 

Bir önceki programın tüm süreç aşağıdaki komut dosyası (ana başlayarak) göre yorumlanabilir: 

  1. Kullanıcı n bir değer atar
  2. Ise durumu (n> 0) kontrol edilir. Bu noktada iki olasılık vardır:
    * Koşul geçerlidir: beyanı (3 adım) çalıştırılır
    * Durumu yanlış: (5 adım) deyimi görmezden ve sonra da devam
  3. Deyimini yürütün:
    cout << n << ","; 
    - N; 
    (Ekranda n değerini yazdırır ve n 1 azalır)
  4. Blok sonu. 2. adımda otomatik olarak geri
  5. Sağ blok sonra program devam: baskı YANGIN! ve son programı.

Bir süre-döngü oluştururken, biz her zaman bir noktada bitirmek istenir, bu nedenle bir noktada yanlış olma durumu zorlamak için blok içinde bazı yöntemleri sağlamak gerektiğini göz önünde bulundurun, aksi takdirde döngü sonsuza kadar  devam edecektir. Bu durumda 
- n koşulunu dahil ettik , tek koşul (n) olarak değerlendirilmektedir değişkenin değerini azalttığını - ve sonunda (n> 0) durumu yapacak döngü belli bir sayıdan sonra yanlış olmasını yineleme: Daha spesifik olmak gerekirse, n 0 olduğunda, bu nerede bizim ise-döngü ve geri sayım sonudur. 


Tabii ki bu bütün geri sayım numaraları arasında herhangi bir pratik bir gecikme olmadan anında yerine getirilmesi bizim bilgisayarımız için böyle basit bir eylemdir. 

Do-while döngüsü


Onun formatı: 

açıklamada ise (koşul) yapmak; 

Bu işlevselliği şartıyla dışında, while döngüsü tam olarak aynı olan do-while döngüsü koşul yerine asla bile ifadenin en az bir yürütme verilmesi, yerine daha önce ifadesinin yürütülmesi sonra değerlendirilir. Örneğin, aşağıdaki örnekte program 0 girinceye kadar girdiğiniz herhangi bir sayı yankıları. 

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15  
 // number echoer #include <iostream> using namespace std; int main () { unsigned long n; do { cout << "Enter number (0 to end): " ; cin >> n; cout << "You entered: " << n << "\n" ; } while (n != 0); return 0; } 
  12345: sayı (0 sonuna kadar) girin 
  Sen girdi: 12345 
  160277: sayı (0 sonuna kadar) girin 
  Sen girdi: 160277 
  0: sayı (0 sonuna kadar) girin 
  Sen girdi: 0 


Do-while döngünün sonuna belirlemek zorundadır koşulu blok içinde kullanıcı girişi belirlemek için kullanılan budur önceki durumda, olduğu gibi, döngü deyimi kendi içinde belirlenir zaman döngü genellikle kullanılan durumunda devre bitmeli. Bir önceki örnekte değeri 0 girin asla eğer Aslında sonsuza kadar daha fazla sayı için istenebilir. 

For döngüsü


Onun formatı: 

ifade (Artış,, durumu başlatma) için; 

ve ana işlevi durumda while döngüsü gibi, sadık kalır while ifadesi tekrar etmektir. Ancak, ek olarak, bir döngü için başlatma tablosu ve bir artışa bildirimi içeren belirli bir yerle içerir. Yani bu döngü özel her tekrarında başlatıldı ve artar bir sayaç ile bir tekrarlayan eylemi gerçekleştirmek için tasarlanmıştır. 

Bu, şu şekilde çalışır: 

  1. başlatma yürütülür. Genellikle bir sayaç değişkeni için bir başlangıç ​​değeri ayardır. Bu sadece bir kez çalıştırılır.
  2. durumu kontrol edilir. Bu döngü, aksi takdirde devam doğruysa döngü biter ve beyanı (yürütülmez) atlanır.
  3. yönergesi yürütülür. Her zamanki gibi, tek bir ifade veya parantez {} içine bir blok ya olabilir.
  4. son olarak, artış alanında belirtilen ne olursa olsun yürütülür ve döngü 2. adıma geri alır.

Burada bir for döngüsü kullanarak geri sayım bir örnek: 

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11  
 // countdown using a for loop #include <iostream> using namespace std; int main () { for ( int n=10; n>0; n--) { cout << n << ", " ; } cout << "FIRE!\n" ; return 0; } 
  10, 9, 8, 7, 6, 5, 4, 3, 2, 1, YANGIN! 


Başlatma ve artış alanları isteğe bağlıdır. Onlar boş kalır, ama her durumda aralarında noktalı virgül işaretleri yazılmalıdır. Örneğin bunu yazabilirsiniz:  (; n <10 ;) hiçbir başlatma ve herhangi bir artış belirtmek istiyorsa, (; n <10; n + +) bir artış alanına dahil etmek istedim ama, hiçbirini başlatmadan (belki değişken zaten) önce başlatıldı. 

İsteğe bağlı olarak,  alanlardan herhangi birden fazla ifade belirtebilirsiniz virgül operatörünü (,) kullanarak döngü için, başlatma gibi, örneğin bir yer. Virgül operatörünü (,) bir ifade ayırıcı, bu sadece bir genel bekleniyor birden fazla ifade ayırmak için hizmet vermektedir. Örneğin, bizim döngü içinde birden fazla değişken başlatmak istediğini varsayalım: 

 1 
 2 
 3 
 4  
 for ( n=0, i=100 ; n!=i ; n++, i-- ) { // whatever here... } 


N ya da ben ne döngü içinde değiştirilmiş, bu döngü 50 kez çalıştırılır: 

C++ KONTROL YAPILARI
n 0 değeri ile başlar ve 100 ile ben, durumdur n! = i (n i eşit olmadığını). N bir artış ve ben bir azalmıştır çünkü nve ben de 50 eşit ne zaman, döngü durumu, 50. döngü sonra yanlış olacaktır. 

Ifadeleri atlamak


Break deyimi


Mola kullanarak onun sonu için şart yerine getirilemez bile bir döngü bırakabilirsiniz. Bu sonsuz bir döngü sonuna kadar, ya da doğal  sonuna kadar zorlamak için kullanılabilir. Örneğin, (? Belki çünkü bir motor kontrol arızası) doğal sonundan önce sayım durdurmak için gidiyoruz: 

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19  
 // break loop example #include <iostream> using namespace std; int main () { int n; for (n=10; n>0; n--) { cout << n << ", " ; if (n==3) { cout << "countdown aborted!" ; break ; } } return 0; } 
  10, 9, 8, 7, 6, 5, 4, 3, geri sayım iptal! 


Continue deyimi


Continue deyimi, aşağıdaki yinelemenin başlangıcına atlamak için bir neden, deyim bloğunun sonuna ulaşıldığında sanki mevcut yineleme döngü geri kalanı atlamak için programı neden olur. Örneğin, bizim geri sayım sayısı 5 atlamak için gidiyoruz: 

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13  
 // continue loop example #include <iostream> using namespace std; int main () { for ( int n=10; n>0; n--) { if (n==5) continue ; cout << n << ", " ; } cout << "FIRE!\n" ; return 0; } 
  10, 9, 8, 7, 6, 4, 3, 2, 1, YANGIN! 


Goto açıklama

Goto programda başka bir noktaya mutlak bir sıçrama yapmanızı sağlar. Yürütme iç içe sınırlamaları her türlü göz ardı koşulsuz atlama neden beri bu özelliği dikkatli kullanmalısınız. 
Hedef noktası sonra Goto deyimi için bir argüman olarak kullanılan bir etiket, ile tanımlanır. (:) Bir etiket bir iki nokta üst üste geçerli bir tanımlayıcı yapılmıştır. 

Genellikle bu talimat düşük seviyeli programlama hayranları için bulabilirsiniz olanlar kenara yapılandırılmış veya nesne yönelimli programlama, somut bir kullanım olan konuşma. Örneğin, burada Goto kullanarak geri sayım döngü:

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15  
 // goto loop example #include <iostream> using namespace std; int main () { int n=10; loop: cout << n << ", " ; n--; if (n>0) goto loop; cout << "FIRE!\n" ; return 0; } 
  10, 9, 8, 7, 6, 5, 4, 3, 2, 1, YANGIN! 


Çıkış fonksiyonu


çıkış cstdlib kitaplığında tanımlanan bir fonksiyonudur. 

Çıkış amacı, belirli bir çıkış kodu ile mevcut programın sona etmektir. Onun prototip: 

 
 void exit ( int exitcode); 


Exitcode bazı işletim sistemleri tarafından kullanılır ve arama programları tarafından kullanılabilir. Geleneksel olarak,0 program normal bitmiş anlamına gelir ve başka bir değer bir çıkış kodu bazı hata ya da beklenmeyen sonuçlar oldu demektir. 

Seçici yapısı: switch.

Switch ifadesinin sözdizimi biraz tuhaf. Amacı, bir ifade için birkaç olası sabit değerler kontrol etmektir. Eğer bazılarının birleştirme ile bu bölümün başında ne yaptığını benzer ve başka talimatları eğer bir şey. Biçimi şudur: 
 anahtarı (ifade)
 {
   durumda sabiti 1:
      ifadeleri 1 grubu;
      break;
   durumda constant2:
      ifadeler 2 grup;
      break;
   .
   .
   .
   Varsayılan:
      tabloların varsayılan grup
 }

Bu şu şekilde çalışır: bu sabiti 1 eşdeğerdir, anahtar, ifade ve kontrol değerlendirir kullanılıyorsa bu break deyimi bulana kadar, bu ifadeleri 1 grup yürütür. Bu anahtar seçici yapının sonuna kadar bu break deyimi program 
bulduğunda atlar. 


Ifade sabiti 1 eşit değilse bu constant2 karşı kontrol edilecektir. Bu eşit ise, bu bir ara anahtar bulunana kadartablo 2 grubu çalıştırır, ve sonra anahtarı seçici yapısının sonuna atlayacaktır. 

Ifadenin değeri daha önce belirtilen sabitleri (Eğer kontrol etmek istediğiniz değerleri gibi pek çok durumda etiket olarak içerebilir) herhangi bir eşleşmedi Son olarak, program varsayılan sonra dahil edilen ifadeleri yürütür: etiket, Varsa isteğe bağlıdır. 

Aşağıdaki kod parçaları, her ikisi de aynı davranışa sahip: 

Örneğin geçişif-else eşdeğer
 switch (x) {
   case 1:
     cout << "x 1";
     break;
   durum 2:
     cout << "x 2 olduğu";
     break;
   Varsayılan:
     cout << "x bilinmeyen değeri";
   }
 {(x == 1) ise
   cout << "x 1";
   }
 else {(x == 2) ise
   cout << "x 2 olduğu";
   }
 else {
   cout << "x bilinmeyen değeri";
   }

Bu etiket yerine blokları kullandığı için switch deyimi, C + + dili içinde biraz tuhaf. Bu bize belirli bir durum için yürütülecek istediğiniz tabloların grup sonra break kullandık zorlar. Aksi takdirde karşılık gelen bu ifadeleri dahil olmak üzere kalan diğer etiketler-olacak anahtar seçici blok veya break deyimi sonuna ulaşıncaya kadar da yürütülecek. 

Örneğin, herhangi biri için ilk grup sonra bir ara açıklama vermemişse, program otomatik olarak anahtar seçici bloğunun sonuna atlamak olmaz ve bir mola talimat ya da ya ulaşana kadar bu tabloların geri kalanı yürütme devam edeceğini anahtar seçici bloğunun sonuna. Bu parantez {} durumlarda her biri için ifadeleri çevreleyen dahil etmek gereksiz hale getirir ve aynı zamanda değerlendirilmektedir ifade için farklı olası değerler için talimatları aynı blok çalıştırmak için yararlı olabilir. Örneğin: 

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9  
 switch (x) { case 1: case 2: case 3: cout << "x is 1, 2 or 3" ; break ; default : cout << "x is not 1, 2 nor 3" ; } 


Anahtarı yalnızca sabit bir ifade karşılaştırmak için kullanılabilir dikkat edin. Onlar geçerli C + + sabiti değildir, çünkü:veya aralıkları (olgu (1 .. 3)): Bu nedenle etiket (burada n bir değişkendir örneğin durumda n) gibi değişkenler koyamazsınız. 

Eğer aralıkları veya sabit olmayan değerleri kontrol gerekiyorsa, eğer ve else if ifadeleri bir birleştirme kullanın.