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.

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.