Gömülü Sistem C Programlama – Veri Tipleri By Konuk Yazar Posted on 2 Ağustos 2017 9 min read 0 3 5,054 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr Merhaba arkadaşlar , bu yazımızda veri tiplerinden bahsedeceğiz. Veri tipleri, programımızda bir değer atadığımız ya da programın çalışmasıyla atanan değerleri tutan değişkenlerin türleridir. Bu değişkenler tam sayı, karakter, ondalık sayı gibi tiplerde olabilir. Biz değişkenimizi, programı yazmadan önce tipine göre atamasını yapmalıyız. Mesela ; X değişkenimize 5 gibi bir tam sayı değerini atamak istiyorsak, x değişkenimizi tam sayı olarak tanımlamayız. Aşağıdaki tabloda bazı ver tiplerini ve alabileceği değerleri görebilirsiniz. Bir örnek verecek olursak; Bu örneğimizde x değişkenimizi int (integer(tamsayı)) olarak tanımladık ve 5 tamsayısını değişkenimize atadık. Aynı şekilde y ondalık sayısını float olarak tanımladıktan sonra 5.2 ondalık sayısını atadık. Printf fonksiyonunda gördüğünüz %d ve %lf değişkenimizin ekrana hangi tipte gösterileceğini belirtmekte. Aşağıdaki tablodan bazı değişkenlerin gösterimlerine ulaşabilirsiniz. Scanf() Gecen hafta öğrendiğimiz gibi input fonksiyonu olan scanf ,klavyeden girdiğimiz değerleri almaya yarar. Kullanımını ise vereceğimiz örnekten sonra açıklayalım. İlk olarak bu örneğimizde bir önceki örnekte yaptığımız gibi x değişkenimizi bir tam sayı olarak tanımladık. Bu sefer değişkenimizin değerini scanf fonksiyonu ile kullanıcıdan istedik ve ardından tekrar ekrana yazdırdık. Scanf fonksiyonumuzun kullanımı ise şu şekildedir:scanf yazdıktan sonra parantezimizi ve hemen ardından çift tırnağımızı açıyoruz , tırnakların içine değişkenimizin tip gösterimini yazıyoruz tırnağı kapadıktan sonra “ ,& ” koyarak değişkenimizin adını yazıyoruz. Bu işaret değişkenimizin hafızadaki adresini programa bildirerek değerimizi oradaki değişkenimizde atamaya yarıyor. Şimdi ise basit bir hesap makinesi örneği yaparak dersimizi tamamlayalım. Evet arkadaşlar standart input output kütüphanesinde yer alan printf ve scanf fonksiyonlarını kullandığımız için kodumuza stdio.h kütüphanesini ekleyerek başladık. İlk olarak kullanacak olduğumuz değişkenleri tanımladık. İşlem yapılmasını istediğimiz tam sayı değerleri için x ve y değişkenlerini, toplama çıkartma ve çarpma işleminin sonucunu için kendi adlarında tanımladık, bölme işlemi için tanımladığımız değişkeni ise float olarak tanımladık çünkü iki tam sayının toplamı farkı ve çarpımı yine bir tam sayı olacakken bölme işleminin sonucu bir ondalık sayı olabilir. Eğer biz bölme işlemini de int olarak tanımlasaydık bize işlem sonucunun sadece tam kısmını verecektir . Yani 6/7 = 0,86 yerine 0 değeri döndürecekti. İkinci adım olarak x ve y değerlerini scanf fonksiyonu ile kullanıcıdan istedik değerlerimizi değişkenlere atadıktan sonra işlem sonuçlarını da gördüğünüz gibi basit işlemler olarak tanımladık. Bölme işleminde yaptığımız işlem dikkatinizi çekmiştir. Bu yapıyı kullanma sebebimiz iki tam sayıyı böldüğümüzde işlemcimiz bize bir tam sayı döndürmek isteyecektir ve bize virgülden sonraki değerleri vermeyecektir. Yani 6/7 =0,00 olarak dönecektir. Bu yüzden işleme sokmadan önce x ve y tam sayılarını bu işlem için float değere dönüştürdük yani yeni x değerimizi 6.0 , y değerimizi 7.0 olarak değiştirdik. Bu şekilde tip dönüşümü uygulayarak doğru sonuca ulaştık. Son olarak işlem sonuçlarımızı printf ile ekrana bastırdık. İlk printf e bakacak olursak ilk %d değeri tırnaktan sonraki ilk değişkeni yani x i bastırıyor ikinci %d ikinci değişken yani y yi son %d ise son değişken olan toplam ın değerini ekrana bastırıyor. Bu tür işlemlerde sıraya dikkat etmekte fayda var. Son printf ‘ e bakacak olursak float olan bölme değişkeninin değerini ekrana bastırmak için kullanılan %f gösterimini %.2f olarak kullandık. Bu kullanım float değerimizin virgülden sonra 2 basamağını ekrana bastır anlamına gelmektedir . Sizde kodunuzda değişiklikler yapıp isterseniz %.5f kullanarak virgülden sonraki beş sayıyı ekrana bastırabilirsiniz .Farkı daha iyi kavramak adına kodunuzu yazarken ufak değişiklikler yapabilirsiniz . Bir dahaki yazımızda görüşmek üzere bugsuz kodlar diliyorum. Takıldığınız yerleri , istek ve görüşlerinizi ne zaman isterseniz burak_can_fzl @hotmail.com adresinden bana iletebilirsiniz. BURAK CAN FAZLA