Değişken Tanımlamaları

Slides:



Advertisements
Benzer bir sunumlar
Değişken , Veri Türleri ve Operatörler
Advertisements

BÖLÜM Atama Deyimi (Assignment)
Değişkenler ve bellek Değişkenler
Göstericiler (Pointers)
C PROGRAMLAMA DİLİNE GİRİŞ
Bölüm 2 C Dilinin Temelleri
switch - case Yapısı Döngü Yapıları
String Diziler(Katarlar)
Basit Veri Türleri Sayısal Veri Türleri Karakter veri türü
Değişken Bildirimleri
Atama ve Girdi/Çıktı Komutları
Bölüm 2: Program Denetimi
VERİ TİPLERİ VE DEĞİŞKENLER
OOP4 LAB.
Elektrik-Elektronik Mühendisliği Bölümü DİZİLER C Programlama Dili Yaz Stajı Cengiz TEPE SAMSUN 2007.
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
String Kütüphanesindeki Arama Fonksiyonları
DEĞİŞKENLER VERİ TÜRLERİ ve OPERATÖRLER
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
BÖLÜM DEĞİŞKENLER ve SABİTLER Buraya kadar yapılan örneklerde mümkün olduğunca öğretilmeyen kavramların yer almamasına özen gösterildi. Ancak herhangi.
Soru1: Kullanıcıdan iki tam sayı girmesini isteyen ve daha sonra büyük olan sayı ile beraber ‘en büyüktür’ ifadesi yazan, ancak sayılar birbirine eşitse.
Fonksiyonlar.
Veri Yapıları Ve Algoritmalar
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
C ile Programlamaya Giriş
Temel Veri Türleri ve Operatörler
FONKSİYONLAR.
DEĞİŞKENLER.
Değişkenler bellekte bulunan verilerdir. Değer tipleri veriyi direk olarak bellek bölgesinden alırken, Referans tipleri başka bir nesneye referans gösterirler.
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
Bölüm 1: C Programlama Diline Giriş
Temel Giriş/Çıkış Fonksiyonları
BİL 102 BİLGİSAYAR PROGRAMLAMA
C Programlama Diline Giriş
VERİ TİPLERİ VE DEĞİŞKENLER
PROGRAM DENETİM DEYİMLERİ
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 8.  Tamsayı Değerler (Integer) Tamsayılar, 10 tabanlı (decimal), 8 tabanlı (octal) veya 16 tabanlı (hexadecimal)
Değerler ve Değişkenler
C PROGRAMLAMA DİLİ YRD.DOÇ.DR. BUKET DOĞAN 1.
Bölüm 2 C Diline Genel Bir Bakış. 1/29 /* Örnek1- toplama.c Klavyeden girilen iki tamsayının toplamını bulup ekrana yazar. Erkan Yasan */ #include.
Bugünkü konular Programlama dilleri ve Syntax Generic C Program yapısı
2. HAFTA 2. Hafta.
Bölüm 3 Atama ve Girdi/Çıktı Komutları Bölüm 3 Atama ve Girdi/Çıktı Komutları Atama Komutu Operatörler İsim Sabitleri Veri Tipi Dönüşümü Çıktı Fonksiyonu.
Döngü Komutları. for deyimi bir alt limitten, bir üst limite kadar programın belirli bir parçasını tekrar eder. for deyiminde sayaç artış oranı da verilmelidir.
Adım Adım Algoritma.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
VERİ ve BELLEK & DEĞİŞKENLERİN SAKLANMASI Asst.Prof.Dr.Misket YEKTAY Gizem AYIK.
Bölüm 2 C Dilinin Temelleri Genel Kavramlar Yazım ve Noktalama Kuralları C Kütüphaneleri C Dilindeki Sözcükler Değer Sabitleri Veri Tipleri Değişkenler.
Programlamaya Giriş-I Bölüm-1. Algoritma Algoritma günlük yaşamımızda yaptığımız işler sırasında sıklıkla kullandığımız bir yöntemdir. Algoritma, bir.
PROGRAMLAMAYA GİRİŞ.
Bölüm 3 Atama ve Girdi/Çıktı Komutları
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
C Programlama Dili Bilgisayar Mühendisliği.
METHODLAR VE KOŞULLAR.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Bölüm 2 C Dilinin Temelleri
Bölüm 1: C Programlama Diline Giriş
2.2. Özel Semboller ve Pascal Sözcükleri
PROGRAM KONTROL KOMUTLARI 1. if koşulu 2. if else koşulu
YAPISAL PROGRAMLAMA Hafta-6
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
Bilgisayar Bilimi Problem Çözme Süreci-2.
Bilgisayar Programlamasına ve Veri Analizine Giriş
2.2. Özel Semboller ve Pascal Sözcükleri
Bölüm 3 Atama ve Girdi/Çıktı Komutları
Bölüm 2 C Dilinin Temelleri
Sunum transkripti:

Değişken Tanımlamaları

Değişkenler Değişkenler bilgisayar hafızasındaki yerlere karşılık gelen konumları belirtir. Her değişkenin bir ismi, tipi, boyutu ve bir değeri vardır. Bir değişkene yeni bir değer atandığı zaman önceki değer silinir, yeni değer onun yerine yerleşir. Hafızadan değişkenleri okumak ile değerleri değişmez.

Değişkenler Şekilsel gösterim tamsayi1 45 tamsayi1 45 tamsayi2 72 toplam 117

Temel Değişken Tipleri C dilinin değişken tipleri tanımlamak için aşağıdaki komutlar kullanılır.   • int (integer) - tamsayı • float (floating point) - ondalıklı sayı • double – çift duyarlıklı ondalıklı sayı • char (character) – karakter türünde veri

Temel Değişken Tipleri ve veri aralıkları Değişken Tipi Değişken Boyutu Değer Aralığı unsigned short int 2 byte 0 – 65,535 short int -32,768 – 32,767 unsigned long int 4 byte 0 – 4,294,967,295 long int -2,147,483,648 – 2,147,483,647 int unsigned int unsigned int (32 bit) char 1 byte 0 – 255 (256 karakter) float 1.2e-38 – 3.4e38 double 8 byte 2.2e-308 – 1.8e308

İşaretli (Signed) ve İşaretsiz (Unsigned) Değişken Kavramları Değişkenler bellekte kapladıkları alanla orantılı olarak değer alabilirler. Yani değişken bellekte ne kadar çok yer kaplıyorsa o kadar geniş bir değer aralığına sahiptir. Ancak bu değer aralığını genişletmenin bir yöntemi daha var. O da ‘unsigned’ yani ‘işaretsiz’ tanımlaması. Eğer tanımlayacağımız değişkenin negatif değer alma ihtimali yoksa; örneğin yaş, boy, nüfus, yakıt durumu, yüzde gibi veriler kullanılacaksa, bu durumda ‘unsigned’ tanımlanması tercih edilebilir. Bir değişkeni ‘unsigned’ tanımladığımız zaman değişkenin tüm bitlerini değer aralığı için kullanabiliriz. Aksi taktirde değişkenin en soldaki biti ‘negatif - pozitif’ durumunu kontrol etmek için kullanılır.

Örnek #include <stdio.h> main(){ } unsigned int sayi; printf(" sayı giriniz:"); scanf("%d",&sayi); printf("%d",sayi); }

Değişken tanımlamak Programcı ne tür bir program yazıyor olursa olsun, programın tasarlanması aşamasında en çok dikkat etmesi gereken faktörlerden biri değişken tanımlamalarıdır. Değişkenin tipinin ve isminin yanlış seçilmesi o an için bir problem teşkil etmeyebilir ancak aradan belli bir zaman geçtikten sonra çok büyük sorunlara neden olabilir. Öyle ki kesirli işlemler yapılacağı halde birtakım değişkenler tamsayı belirlenmişse ve test aşamasında şansa kesirli sonuçlar vermeyen değerler girildiğinde o an için program düzgün çalışıyormuş gibi gözükebilir. Ayrıca değişkenlere anlamsız isimler verildiğinde yine o an için bir sorun çıkmasa da programcının üç beş ay sonra yeniden aynı programla uğraşmaya başladığında hangi değişkenin ne amaçla kullanıldığını bulabilmek için programı başından sonuna adım adım takip etmesi gerekebilir. Büyük bir projede karmaşa yüzünden adım adım takip de mümkün olmayabilir. Bu tür durumlarla karşılaşmamak için değişkenlere her zaman anlamlı isimler vermek daha doğrudur. O anda ‘x yolu’ diye aklınızdan geçen bir şey varsa o değişkene ‘x’ adını vermek yerine ‘yol’ demek sonrası için daha iyi olacaktır.

Değişken tanımlama kuralları C dili komutları değişken adı olarak verilemez. (Örneğin if, for, case gibi) Değişken isimi birden çok kelimeden oluşacaksa aralarına boşluk verilmez. Örneğin “maksimum sayi” adında bir değişken tanımlamaz ama “maksimum_sayi” yada “MaksimumSayi” gibi değişken tanımlanabilir. Değişken adları sayı ile başlamaz. Örneğin “2sayi” gibi bir değişken adı olmaz. NOT: C dili değişken isimlendirmede küçük harf büyük harf duyarlıdır. O yüzden büyük harfle tanımladığınız değişkeni program içinde aynen kullanınız.

Değişken tanımlama örnekleri 1: int x; 2: int a,b,c; 3: float OrtalamaNot;

Değişkenlere değer atama 1: int x=5; 2: int a=2,b=5,c=1; 3: float OrtalamaNot=50.5;

Örnek #include <stdio.h> main(){ char karakter = 65; printf(" %c",karakter); } Bu program ekrana 65 sayısının ascii karakter kodu olan A harfini yazar.

Örnek #include <stdio.h> main(){ int pi = (int)3.1415926535; printf(" %d",pi); } Bu örnekte pi değeri int tipine dönüştürülüyor.

#define önişlemci komutu ile değişken tanımlama Bu önişlemci komutu, kaynak dosyada bir isim yerine başka bir isimin yerleştirilmesini sağlar. Programda kullanılan bu sembolik isimler başta ana program olmak üzere bütün alt programlarda da aynı değere sahiptir. Yani #define önişlemcisi ile tanımlanan her ne olursa olsun, tanımlama bütün fonksiyonlarda kullanılabilir. Bir çeşit genel (global) bildirim gibi davranır.

#define önişlemci komutu ile değişken tanımlama örneği-1 #include <stdio.h> #define KISA short int main(){ KISA sayi =5; printf(" %d",sayi); }

#define önişlemci komutu ile değişken tanımlama örneği-2 #include <stdio.h> #define PROGRAM main() #define BASLA { #define BITIR } #define YAZ printf PROGRAM BASLA YAZ("Merhaba C!..\n"); BITIR

#define önişlemci komutu ile değişken tanımlama örneği-1 #include <stdio.h> #include <conio.h> #define USHORT unsigned short int main() { USHORT kenarA = 10; USHORT kenarB = 7; printf("Dikdortgenin Alani = %d\n", kenarA * kenarB); printf("Devam etmek icin bir tusa basiniz...\n"); }

Aritmetik Hesaplamalar-Operatörler * çarpma işlemi ve / bölme işlemi için kullanılır. Tamsayı bölümü kalanı iptal ederek sonucu verir. 7 / 5 sonucunu 1 olarak verir. Mod operatörü (%) bölüm işleminde kalanı geri döndürür. 7 % 5 sonucunu 2 olarak verir Operatör önceliği Bazı aritmetik operatörler diğerlerinden önce işleme girerler. Öncelik sırası çarpma, bölme, toplama, çıkarma şeklindedir. Yalnız öncelik sırası değiştirilmek istenirse parantezler kullanılmalıdır. Örnek: a, b ve c değişkenlerinin ortalamasının bulunması (a + b + c ) / 3 şeklindedir.

Aritmetik operatörler Operatörlerin öncelik kuralları:

Değişkenlere değer atama Program içerisinde bir değişkene değer atama örnekleri aşağıda verilmiştir. A=5; B=a/2; a = 11 % 7; miktar *= birimSayisi; (miktar = miktar * birimSayisi;) para /= kisiSayisi; (para = para / kisiSayisi;) saniye += 4; (saniye = saniye + 4;) toplam -= kayip; (toplam = toplam - kayip;) faz %= peryod; (faz = faz % peryod;)

Değişkenlere değer atama-2 ++ ve – operatörleri ile bir değişkenin değeri artırılıp azaltılabilir. x++; (x = x + 1;) y--; (y = y – 1;) Örnek: x = 10; a = x++;  Burada a = 10, x = 11 olacaktır. ‘a’ ‘x’e eşitlenir ve ‘x’in değeri bir arttırılır. Örnek-2 a = ++x;   Burada ise a = 11, x = 11 olacaktır. Burada öncelikle ‘x’ bir arttırılır, değeri 11 olur ve daha sonra bu yeni değer ‘a’ya eşitlenir. NOT: ‘++’ ve ‘--' operatörleri değişkenlerden önce yazıldıklarında ‘prefix’, sonra yazıldıklarında ‘postfix’ isimlerini alırlar.

Değişkenlere değer atama-örnek #include <stdio.h> #include <conio.h> main() { int a=3,b,c; b = c = a; printf("%d",b); }

Örnek #include <stdio.h> #include <conio.h> main() {   main() { int a, b; a = b = 10; printf("a:%d\nb:%d\n\n", a, b); a++; ++b; printf("a:%d\n b:%d\n\n", a, b); printf("a:%d\n b:%d\n\n", a++, ++b); }

Örnek Sonucu a:10 b:10 a:11 b:11 a:11 b:12 a:12 b:12

Mantıksal Operatörler

Mantıksal Bağlaçlar VE(and) Bağlacı: Birden çok şart olduğunda ve her şartın doğru olması durumunda işlemlerin yapılması istenirse ve bağlacı kullanılır. C Dilinde VE bağlacı & işaretiyle gösterilir. Örneğin a,b ve c sayılarının klavyeden girildiği varsayılsın. Bu 3 sayının eşit olma durumu VE bağlacıyla şöyle ifade edilir. (a==b)&&(a==c) yada (a==b)&&(a==c)&&(b==c) şeklinde yazılır.

Mantıksal Bağlaçlar VEYA(or) Bağlacı: Birden çok şart olduğunda ve her şartlardan herhangi birisinin doğru olması durumunda işlemlerin yapılması istenirse veya bağlacı kullanılır. C Dilinde VEYA bağlacı || işaretiyle gösterilir. Örneğin a,b ve c sayılarının klavyeden girildiği varsayılsın. Bu 3 sayıdan yanlızca ikisinin eşit olma durumu VEYA bağlacıyla şöyle ifade edilir. (a==b)||(a==c)||(b==c) şeklinde yazılır.

Kontrol Yapıları

İf Blok Yapısı C dilinde karşılaştırma işlemleri için if blok yapısı kullanılır. En basit kullanımı şu şekildedir. if(koşul) { ... deyimler; (küme) }

İf-else yapısı if(koşul) { ... deyimler;(küme1) ... } else { ... deyimler;(küme2) ...

İf-elseif yapısı if(koşul) { ... deyimler;(küme1) ... } else if ... deyimler;(küme2) ... ... deyimler;(küme3) ... } . . . else ... deyimler;(kümeN) ...

Örnek Klavyeden girilen 2 sayının birbirine göre büyük küçük yada eşit olma durumlarını yazan programı if-else kullanılmadan yanlızca if yapısı kullanarak yazınız. #include <stdio.h> int x, y; main() { printf("\nBir tamsayı değeri girin, x: "); scanf("%d", &x); printf("\nBir tamsayı değeri girin, y: "); scanf("%d", &y); if (x == y) printf("x, y ye eşit\n"); if (x > y) printf("x, y den büyük\n"); if (x < y) printf("x, y den küçük\n"); }

Soru Klavyeden girilen 3 sayının eşkenar, ikizkenar yada çeşitkenar oluşturup oluşturmadıklarını bulan program. (Matematiksel detay kurallar göz önünde bulundurulmayacaktır.)