16 Haziran 2013 Pazar

C'DE DEĞİŞKENLER VE VERİ TİPLERİ

DEĞİŞKENLER VE VERİ TİPLERİ

Merhaba arkadaşlar ben bu gün sizler C'de değişkenleri ve veri tiplerini anlatacağım.


Ben size akılınızda tutmanız için  5 soru sordum sayalım, ve sonra aynı zamanda da 2 basamaklı bir sayı ezberlemek istiyoruz. Sadece hafızanızda iki farklı değer sakladınız.Şimdi ilk değere 1 eklemenizi sorarsak.Hafıza sayıları 6 (bu 5 +1) ve 2 tespit edilmelidir. Şimdi sonuç olarak 4 örnek-çıkarma ve elde değerler olabilir . 

Sadece zihinsel bellek ile yapmış olduğumuz tüm süreç bir bilgisayar iki değişkenli neler yapabileceğini bir benzetme olduğunu. Aynı süreçte C'de aşağıdaki komut seti ile ifade edilebilir: 

                        1 
 2 
 3 
   4  
 a = 5; b = 2; a = a + 1; result = a - b; 



Açıkçası, burda sadece iki küçük tamsayı değerler kullandık çünkü çok basit bir örnek, ancak bilgisayarınızın aynı zamanda bu gibi numaraları milyonlarca saklama ve onlarla gelişmiş matematiksel işlemleri gerçekleştirebilirsiniz.

Bu nedenle, belirlenen değeri saklamak için belleğin bir bölümünü değişken olarak tanımlayabiliriz. 

Her değişken diğerlerinden ayıran bir tanımlayıcıya ihtiyacı vardır. Örneğin, önceki kodun değişken tanımlayıcıları vardı a , ve result , ama onlar geçerli tanımlayıcı olduğu sürece, değişkenler herhangi bir isim adı olabilir. 

Tanımlayıcıları

Geçerli bir tanımlayıcı bir veya daha fazla harf, rakam veya karakter (alt çizgi bir dizisidir _ ). Alanlarda noktalama işaretleri ve semboller tanımlayıcı bir parçası olamaz. Sadece harfler, rakamlar ve tek karakter geçerlidir. Buna ek olarak, değişken tanımlayıcıları her zaman bir harfle başlamak zorunda. Ayrıca alt çizgi karakteriyle (başlayabilir _ ), ancak bazı durumlarda bu yerde iki çizgi izleyen karakterler içeren derleyici belirli anahtar kelimeler veya harici tanımlayıcı, hem de tanımlayıcıları için ayrılmış olabilir. Hiçbir durumda bir rakam ile başlayamazsınız.
Kendi kimliklerini üretirken göz önünde bulundurmanız gerekir bir diğer kural da herhangi bir anahtar kelime eşleşmiyor olabilir C dili ne de ayrılmış anahtar kelimeler derleyici özel olanlar,. Standart ayrılmış anahtar kelimeler: 

asm, auto, bool, break, case, catch, char, class, const, const_cast, continue, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, operator, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static, static_cast, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while 

Bazı durumlarda amaçlı sözcükler olduğundan Ayrıca, bazı operatörler için alternatif temsiller tanımlayıcı olarak kullanılamaz: 

and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq, xor, xor_eq 
Sizin derleyici bazı ek özel ayrılmış anahtar sözcükleri içerebilir. 

Çok önemli: C  dili "harf duyarlı" bir dildir. Bu büyük harflerle yazılmış bir tanımlayıcı aynı ada sahip başka bir eşdeğer değil, küçük harflerle yazılmış demektir. Bu durumda, örneğin, RESULT değişkeniyle  result değişkeni aynı değildir veya Result değişkeni. Bu üç farklı değişken tanımlayıcılardır. 

Temel veri türleri

Programlarken, bizim bilgisayar belleğimizde değişkenleri saklamak, ancak bilgisayar bu tür basit bir numara saklamak için bellek aynı miktarda alan işgal etmiyor, onları saklamak istediğiniz verileri ne saklamak için daha bilmek zorunda tek bir harf veya çok sayıda, ve aynı şekilde yorumlanmalıdır gidiş değildir. 

Bilgisayarlarda bellek tipi bayt olarak düzenlenmiştir. Bir baytı  yönetebilirsiniz bellek minimum tutar. Tek bir karakter ya da küçük bir tamsayı (genellikle 0 ile 255 arasında bir tamsayı): Bir bayt veri nispeten az miktarda saklayabilirsiniz. Buna ek olarak, bilgisayar gibi uzun numaraları veya tamsayı olmayan sayıları gibi çeşitli bayt, gruplama gelen daha karmaşık veri türlerini işleyebilirsiniz. 

Eğer temel temel veri türlerinin bir özeti var Sonraki, hem de her biri ile temsil edilebilir değerlerin aralığı: 

AdTanımlamaBoyut *Aralığı *
charKarakter veya küçük tamsayı.1byteimzalı: -128 127
unsigned: 0 ile 255
short int (short )Kısa tamsayı.2baytimzalı: -32.768-32.767
unsigned: 0 ila 65535
intTamsayı.4baytimzalı: -2147483648 ile 2147483647
unsigned: 0 4294967295
long int ( long)Uzun tamsayı.4baytimzalı: -2147483648 ile 2147483647
unsigned: 0 4294967295
boolBoolean değeri. Doğru veya yanlış: Bu iki değerden birini alabilir.1bytetrue ya da false
floatKayan nokta sayısı.4bayt+ / - 3.4e + / - 38 (~ 7 basamak)
doubleÇift duyarlıklı kayan nokta sayısı.8bytes+ / - 1.7e + / - 308 (~ 15 basamak)
long doubleUzun çift hassasiyetli kayar nokta sayısı.8bytes+ / - 1.7e + / - 308 (~ 15 basamak)
wchar_tGeniş karakter.veya 4 byte1 geniş karakter

Sütunları Boyutu ve Range * değerleri program için derlenmiş sisteme bağlıdır. Yukarıda gösterilen değerler en 32-bit sistemlerde bulunan olanlardır. Ama diğer sistemler için, genel özellikleri olduğunu int sistem mimarisi (bir"kelime") ve dört tamsayı türleri tarafından önerilen doğal boyutu char , short , int ve long her biri bir önceki en az kadar büyük olmalıdır bu, ile char her zaman tek bir bayt boyutunda olan. Aynı kayan nokta türleri için de geçerlidir. float  double ve long double her biri en az önceki bir kadar hassas olarak sağlamalıdır. 

Değişkenleri Beyanı

C'de bir değişken kullanmak için , önce o kadar olmasını istediğiniz veri türünün belirtilmesi gerekmektedir. Yeni bir değişken bildirmek için sözdizimi geçerli bir değişken tanımlayıcı takip istenen veri türü (int, bool, float ... gibi) belirteci yazmaktır. Örneğin: 
                                                                            1 
 2  
 int a; float mynumber; 



Bu değişkenler iki geçerli bildirimleri bulunmaktadır. İlki bir tanımlayıcı ile int türünde bir değişken bildirir. İkincisi ise tanımlayıcı MyNumber tip şamandıra bir değişken bildirir. Bir kez ve MyNumber programda kapsamı geri kalanı içinde kullanılabilir değişkenler, ilan etti. 

Eğer aynı türden birden fazla değişken bildirmek için gidiyoruz, sen virgül ile tanımlayıcıları ayırarak tek bir tablo halinde hepsini bildirebilirsiniz. Örneğin: 

 
 int a, b, c; 


Bu üç değişken (a, b ve c), tip int hepsi ilan eder, ve tam olarak aynı anlama sahiptir: 

 1 
 2 
 3  
 int a; int b; int c; 


Tamsayı veri türleri, karakter kısa, uzun ve int ya imzalı ya da imzasız temsil edilmesi için gerekli numaraları aralığını bağlı olabilir. Imzasız türleri sadece pozitif değerler (ve sıfır) temsil edebilir ise imzalanan türleri, olumlu ve olumsuz değerler temsil edebilir. Bu tür adından önce imzalanan belirteci veya belirleyici imzasız kullanarak belirtilebilir.Örneğin: 

 1 
 2  
 unsigned short int NumberOfSisters; signed int MyAccountBalance; 


Eğer belirtmezseniz, varsayılan olarak, ya imzalı ya da imzasız en derleyici ayarları bunun yerinde yazılı olabilir Yukarıdaki ikinci beyanı bu nedenle, imzalanacak tipi üstlenecek: 

 
 int MyAccountBalance; 


tam olarak aynı anlama gelir. (anahtar kelime olan ve olmayan signed ) 

Bu genel kuralın bir istisnası tek başına var ve karakter saklamak için düşünülen imzalı karakter ve imzasız karakter farklı bir temel veri türü kabul edilebilir, karakter türüdür. Ya kullanmalısınız signed ya da unsigned bir karakter ölçekli değişken sayısal değerleri saklamak için. 

short ve long tip belirteçleri olarak tek başına kullanılabilir. Bu durumda, kendi tamsayı temel tipleri ile ilgilidir: short eşdeğerdir short int ve long eşdeğerdir long int . Aşağıdaki iki değişken bildirimleri eşdeğerdir: 

 1 
 2  
 short Year; short int Year; 


Son olarak, signed ve unsigned da aynı, yani bağımsız tip belirteçleri olarak kullanılabilir signed int ve unsigned int sırasıyla. Aşağıdaki iki bildirimleri eşdeğerdir: 

 1 
 2  
 unsigned NextYear; unsigned int NextYear; 


Değişken bildirimleri bir program dahilinde nasıl   göründüğünü görmek için, bu bölümün başında önerilen zihinsel bellek hakkında örnek C  kodu göreceğiz: 

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23  
 // operating with variables #include <iostream> using namespace std; int main () { // declaring variables: int a, b; int result; // process: a = 5; b = 2; a = a + 1; result = a - b; // print out the result: cout << result; // terminate the program: return 0; } 
  4 


Değişken bildirimlerinde daha başka bir şey kendilerini size biraz garip görünüyor endişelenmeyin. İlerleyen bölümlerde ayrıntılı olarak  göreceksiniz. 

Değişkenler Kapsamı

Biz ana fonksiyonun gövdesi başında bir önceki kodda olduğu gibi ilan zaman biz bir programda kullanmayı düşündüğünüz tüm değişkenlerin, kod eski bir noktaya kendi tür belirteci ile ilan edilmiştir gereken bir, b ve sonuç int türünde idi. 

Bir değişken Global ya da lokal kapsam da olabilir. Bir yerel değişken bir işlev ya da bir blok bünyesinde bildirilen ise Genel bir değişken, tüm işlevler dış kaynak kodunun ana gövde, bildirilen bir değişkendir. 


Onun ilanından sonra olduğu zaman global değişkenler, hatta işlevleri içinde, herhangi bir kod sevk edilebilir. 

Yerel değişkenlerin kapsamı parantez içine blok (sınırlıdır {} , beyan). Bir fonksiyonun gövdesi (fonksiyon gibi ana)başında ilan edilir. Örneğin kendi alanlarında kendi beyanı noktası ve bu işlevi sonu arasındadır. Yukarıdaki örnekte, bu başka bir işlev ana ek olarak var, diğer fonksiyon ve tersi erişilemedi, yerel değişkenler ana beyan anlamına gelir. 

Değişkenleri Başlatma

Düzenli bir yerel değişken bildirirken, değeri belirsiz varsayılan olarak. Ama bir değişken bildirilmiş aynı anda somut bir değeri saklamak isteyebilirsiniz. Bunu yapmak için, değişken başlatabilirsiniz. Bunu yapmak için iki yol vardır: 

C-benzeri başlatma olarak bilinen ilk, değişken başlatılır için değer ardından bir eşittir işareti ekleyerek yapılır: 

type identifier = initial_value ; 
Örneğin, bir int değişkeni bildirmek istiyorsanız bu ilan edildiği anda 0 değeri ile başlatılır, biz yazabilirsiniz seslendi: 

 
 int a = 0; 


Değişkenleri başlatmak için başka bir yol, yapıcı başlatma olarak bilinen, parantez arasında (başlangıç ​​değeri içine alarak yapılır () ): 

type identifier (initial_value) ; 

Örneğin: 

 
 int a (0); 


Değişkenlerin başlatılıyor her iki yönde geçerli ve C eşdeğerdir + +. 

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17  
 // initialization of variables #include <iostream> using namespace std; int main () { int a=5; // initial value = 5 int b(2); // initial value = 2 int result; // initial value undetermined a = a + 3; result = a - b; cout << result; return 0; } 
  6 


Dizeleri giriş

Tek bir karakter daha uzun olmayan sayısal değerler saklayabilirsiniz.Bunlar değişkenler dizeleri olarak bilinir. 

C  dili kütüphanesi standart ile dizeleri için destek sağlar string sınıf. Bu temel bir türü değil, ama temel türleri En temel kullanım olduğu gibi benzer bir şekilde hareket eder. 

: Temel veri tipleri ile birlikte birinci farkı nesneleri (değişken) bu tür ilan ve kullanmak için bizim kaynak kodu ek bir başlık dosyasını dahil etmek ihtiyaçı vardır <string> ve erişebilir std zaten vardı ad ( tüm önceki programlar sayesinde using namespace tablosu). 

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11  
 // my first string #include <iostream> #include <string> using namespace std; int main () { string mystring = "This is a string" ; cout << mystring; return 0; } 
  Bu bir dizedir 


Bir önceki örnekte gördüğünüz gibi, dizeleri sadece sayısal tipi değişkenler gibi literal geçerli herhangi bir dize herhangi bir geçerli sayısal hazır bilgi için başlatılabilir ile başlatılabilir. Her iki başlatma biçimleri dizeleri ile geçerlidir:

 1 
 2  
 string mystring = "This is a string" ; string mystring ( "This is a string" ); 


Dizeleri de tüm diğer temel işlemleri gerçekleştirebilirsiniz temel veri türleri olabilir.Bu bir başlangıç ​​değeri olmadan ilan edilen ve yürütülmesi sırasında değerleri atanan olmak gibi: 

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15  
 // my first string #include <iostream> #include <string> using namespace std; int main () { string mystring; mystring = "This is the initial string content" ; cout << mystring << endl; mystring = "This is a different string content" ; cout << mystring << endl; return 0; } 
  Bu ilk dize içeriği 
  Bu farklı bir dize içeriği 

0 yorum:

Yorum Gönder