C Programlama Dilinde Değişkenler

Benzer belgeler
PROGRAMLAMAYA GİRİŞ DERS 2

C PROGRAMLAMA D İ L İ

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Diziler (Arrays) Çok Boyutlu Diziler

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

C Programlama Dilininin Basit Yapıları

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

Programlama Dilleri 1. Ders 4: Diziler

C PROGRAMLAMA D İ L İ

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Giriş. ENF102 Jeoloji

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

Pointer Kavramı. Veri Yapıları

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

Ders 2: Veri Tipleri, Değişkenler ve Sabitler

C Programlama printf() Fonksiyonu

HSancak Nesne Tabanlı Programlama I Ders Notları

ALGORİTMA VE PROGRAMLAMA I

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

C de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

Hafta 8 C Dilinde Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Göstericiler (Pointers)

C PROGRAMLAMA DİLİNE GİRİŞ

Sınav tarihi : Süre : 60 dak.

ALGORİTMA VE PROGRAMLAMA I

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler

Veri Tanımları ve Mantıksal İşlemler

Genel Programlama II

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

HSancak Nesne Tabanlı Programlama I Ders Notları

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek

Bölüm 2 - C ile Programlamaya Giriş

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

Dr. Fatih AY Tel: fatihay@fatihay.net

C#(Sharp) Programlama Dili

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

Diziler İndisli Değişkenler

BLM 111 ALGORİTMA VE PROGRAMLAMA I

Internet Programming II

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

BÖLÜM 4: DEĞİŞKENLER, SABİTLER VE OPERATÖRLER

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Genel Programlama II

Özyineleme (Recursion)

PASCAL PROGRAMLAMA DİLİ YAPISI

Temel Giriş/Çıkış Fonksiyonları

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir.

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

ELN1001 BİLGİSAYAR PROGRAMLAMA I

BİLG Dr. Mustafa T. Babagil 1

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir.

Visual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Değişkenler ve Veri tipleri. Ders Notları

C Konsol Giriş Çıkış Fonksiyonları

Yrd. Doç. Dr. Caner ÖZCAN

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Dizgiler. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir. Bu karakterlerin her biri aslında bir tamsayı ile ifade edilir.

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

YZM 2105 Nesneye Yönelik Programlama

Nesne Tabanlı Programlama

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI

Eln 1001 Bilgisayar Programlama I

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

Dizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir.

Değişken nedir? Tanımı nasıl yapılır?

BİLDİRİM, TANIMLAMA, DEĞİŞMEZLER ve İŞLEVLER

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Hafta 12 Karakter Tutan Diziler

BİL1001 Bilgisayar Bilimlerine Giriş 1

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

ALGORİTMA VE PROGRAMLAMA II

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

Adım Adım C-II. Eksik kalmış konular

Transkript:

C Programlama Dilinde Değişkenler Değişkenler bir programlama dilinin en önemli bileşenlerindendir. En basit bir aritmetik işlemin bile kullanıcının girdiği değerleri saklamak için çeşitlik bellek alanlarına ihtiyacı vardır. İşte değişkenler bu bellek adreslerine verilen isimlerdir. Değişkenler bellekte bilginin saklandığı hücreler verilmiş sembolik adlardır. Her değişkenin tuttuğu değerin nasıl bir veri olduğunu gösteren bir tipi vardır. C dilinde temelde birkaç tane değişken tipi vardır. C gibi yüksek seviyeli programlama dilleri programcıyı bellek adreslerinin karmaşasından kurtararak değişkenler aracılığıyla bellek alanlarına takma isimler vermemize olanak tanırlar. Bu sayede hexadecimal olarak bilinen 16'lık sayı tabanında tutulan bellek adreslerini bilme zorunluluğumuz ortadan kalkar ve kodlama süresince ihtiyaç duyulan bellek alanlarına kendi adlandırdığımız isimlerle erişebilme kolaylığına sahip oluruz. Değişken isimleri verirken bazı kurallara uymak gereklidir. Değişken adları en fazla 32 karakterden oluşabilir. 32 karakterden uzun değişken adları ilk 32 karakteri değerlendirilir. Geriye kalan karakterler işleme tabi tutulmaz. Değişken adları ingiliz alfabesinde bulunan karakterler (A-Z) veya (a-z) yada rakamlar (0-9) ile yazılmalıdır. Türkçe karakterler, özel karakter veya boşluk karakteri kullanılamaz. Değişken adları herhangi bir rakam ile başlayamaz. İlk karakter bir harf olamalıdır. Sonrakiler rakamlardan oluşabilir. Daha önce değişken adı olarak kullanılmış bir isim prg içerisinde başka bir değişkene verilemez. C dili büyük ve küçük harf ayrımı olan bir dildir. sayi, Sayi ve SAYI kelimeleri 3 farklı değişkene isim olarak verilebilir. ANSI C 'nin anahtar kelimeleri (key words) değişken ismi olarak kullanılamaz. Kullanılan makine ve derleyiciye bağlı olarak, C dilinin özel durumundan dolayı başka anahtar sözcükler de olabilir. Bunlar genelde altçizgi karakteriyle başlarlar. Değişkenlerin Genel Yazım Formatı www.dersmax.net C Programlama Dilinde Değişkenler 1

Özel Anahtar Kelimeler : static ve const gibi çeşitli anahtar kelimeleri içerir. Değişken yazılırken belirtilmesi zorunluluğu yoktur. Özel bir durum sözkonusu değilse kullanılmaz. Değişken Tipi : C Programlama dili type-safe bir dildir. Bu nedenle kodlamada tanımlanacak her değişkenin tipinin belirtilmesi zorunlu kılınmıştır. Bu tipler int ve double gibi C dilinin sağladığı veri tipleri olacağı gibi programcının struct kullanarak kendi oluşturacağı veri tipleride olabilir. Değişken tipi belirleme zorunludur. Değişken Adı : Programcının değişkenlere vereceği tek kelimeden oluşan adlardır. Zorunludur. Değişlenin Değeri : Değişkene atanan değeri ifade eder. Ve mutlak surette değişken tipiyle uyumlu olması gereklidir. Örneğin bir tamsayı değişkenine karakter atanamaz. Değişkenlerin Tanımlanması (Declaration) ve Değer Atanması (Initialization) Öncelikle değişkenin tipi belirlenmelidir. Yani x isimli bir değişkenimiz varsa ve buna tamsayı bir değer atamak istiyorsak, x değişkenini tamsayı olarak tanımlamamız gerekir. Eğer x'e girilecek değer bir karakter veya virgüllü sayı olsaydı, değişken tipinin ona göre tanımlanması gerekecektir. Bir örnekle konuyu anlamaya çalışalım. Örnek : #include<stdio.h> int main( void ) { int x; x = 15; printf("x sayısı %d",x); Örnekte ilk olarak int x ile değişkenimizin integer tipinde bir değişken olacağını belirliyoruz.integer tipi değişkenimizin tamsayı tipinde olacağının ifadesidir. int x ile x isim değişkenimizin tamsayı tipinde olacağını belirtmiş oluyoruz. x=15 ise, x değişkenine 15 değerini atamak anlamına gelmektedir. Bu demek oluyorki artık x 15 sayısını taşımaktadır. Kodlamada x değişkenimizi programımızın neresinde kullanırsak kullanalım artık x'in değeri 15 olarak işleme alınacaktır. printf(); fonksiyonunun içerisine yazdığımız %d ise, ekranda tamsayı bir değişken değeri gözükecek anlamındadır. Çift tırnaktan sonra koyacağımız x değeri ise, görüntülenecek değişkenin x olduğunu belirtir. Burada dikkat etmemizi gereken husus çift tırnaktan sonra, virgül koyup sonra değişkenin adını yazdığımızdır. Temel olarak bir değişkeni tanımlamak için en önemli şart değişkenin adının ve tipinin öncelikli olarak belirlenmesidir. Değişken tanımlama ifadeleri mutlak surette (;) ile tamamlanmalıdır. Şimdi birlikte bir tanımlama örneği daha yapalım : www.dersmax.net C Programlama Dilinde Değişkenler 2

Örnek : #include<stdio.h> int main( void ) { int sayi; float ondaliksayi; char isim[30]; double x; double y; Aynı tipe sahip birden fazla değişken kullanılacaksa bunları örnekteki gibi alt alta yazmak yerine tek bir satırda da tanımlayabiliriz. Örnekte tanımladığımız x,y değişkenleri aynı tipte olduğu için tek bir satırda virgülle (,) ayırarak tanımlayabiliriz. double x, y; Birden fazla değişken kullanımında tüm değişkenlere aynı değeri atamak int a,b,c; a = b = c = 10; Örnekte a,b,c değişkenlerinin hepsine 10 değerini atadık. Toplu atamalarda dikkat edilmesi gereken tek husus değişkenlerin tipinin aynı olması zorunluluğudur. Tanımlama Sonrası Değer Atama Değişkenlerimize tanımlama esnasında değer atama zorunlu değildir. Kodlamanın ilerleyen evrelerinde değer ataması yapılabilir. Bu tarz atama işlemleri kullanıcının değer girmesi gerektiği kod satırında faydalıdır. Dikkat edilecek nokta ise değişken tanımlanması değişkene değer atanmasından önce yapılmalıdır. #include <stdio.h> #include <stdlib.h> int main(int argc, char** argv) { int x = 3, z = 4, t = 5, c = x, y = 3; //int x=3,z=4,t=x,y=3; y = z = x; y = t; //y degiskenin ici t degiskenin ici ile ayni degeri aliyor printf("x=%d y=%d z=%d t=%d", x, y, z, t); return (EXIT_SUCCESS); Örnek : #include<stdio.h> int main( argc, char** argv ) { //tanımlamada değer atama// int sayi = 5; //tanımlama sonrası değer atama// int sayi; sayi = 5 www.dersmax.net C Programlama Dilinde Değişkenler 3

//tanımlama sonrası değer atama// float ondaliksayi; ondaliksayi = 3.14; //tanımlama sonrası değer atama// int deger; printf ("n deger giriniz"); scanf ("%d", &deger); printf ("girilen deger:%d"); Bir karakter dizisi değişmezi bellekte saklandığı zaman, dizinin sonuna otomatik olarak boş karakter (?) eklenir; bundan dolayı diziyi saklamak için kullanılan bayt sayısı dizinin uzunluğundan bir fazladır. Bir program içinde, aralarına hiçbir işaret koymadan peşpeşe yazılan karakter dizisi değişmezleri birleştirilir ve tek bir dizi değişmezi olarak alınırlar. Diziler, bazı sistemlerde, salt-okunur belleğe yerleştirilebilirler, bu da onları değiştirilemez kılabilir. Ayrıca, birbirine tıpatıp benzeyen iki veya daha fazla karakter dizisi aynı bellek bölgesinde saklanabilir. Temel Veri Tipleri Ve Tanımlar Bir değişken ismi, değişkenin alacağı değerlerin türü ve işlevini yansıtacak şekilde dikkatlice seçilen bir tanıtıcı sözcüktür. Genelde, kalan_gunler veya kalangunler şeklinde bir değişken ismi x132 gibi bir isme tercih edilmelidir. Değişken isimlerinde büyük harfler yerine küçük harflerin kullanılması alışılagelmiştir. Bir C programında, kullanılmadan önce, tüm değişken ve fonksiyonların tanımı veya bildirimi yapılmalıdır. Temel veri tiplerinin, yani tamsayı, kayan noktalı sayılar ve karakterlerin bildiriminde kullanılan anahtar sözcükler şunlardır:10 www.dersmax.net C Programlama Dilinde Değişkenler 4

Bir tanım, bir tip ismi ile tanımlanmakta olan nesnelerin virgülle ayrılmış listesinden oluşur ve bir noktalı virgül ile sona erer. Aşağıda birkaç örnek tanım gösterilmiştir: Son iki tanımda, tek boyutlu ve üç elemanlı bir tamsayı dizisi ile tek boyutlu ve 200 elemanlı kayan noktalı sayılardan oluşan bir dizi tanımlanmıştır. Dizinin boyunun derleme esnasında hesaplanabilen değişmez bir ifade olduğuna dikkat edin. Aşağıda görüldüğü gibi, değişkenler tanımlandıkları zaman ilk değerleri de verilebilir: Buna ilkleme diyoruz. İlk değer olarak bir ifadenin de yazılabileceğine dikkat edin. Tanımlanan değişkenlerin ilklenmesi iyi bir alışkanlıktır. İsimlendirilmiş değişmezler, yani değerleri değiştirilemeyecek olan değişkenler, const tip niteleyicisi kullanılarak tanımlanırlar: Bu tip değişmez değişken lerin const ile tanımlanmasının en azından iki avantajı vardır: 1. Programcı yanlışlıkla bu tip bir değişkene atama yapmaya kalkar veya değerini değiştirebilecek bir şekilde kullanmaya kalkarsa, derleyici onu uyaracaktır. 2. Çok kullanıcılı sistemlerde bu tip değişkenlerin ortak ve değiştirilemez bir bellek kesimine yüklenmesi sağlanabilir. Aynı anda başka bir süreç (program) tarafından kullanılan veya değiştirilebilen değişkenlerin, derleyicinin olası bir eniyileme yapmasını engellemek için, volatile tipbölüm 1 niteleyicisi kullanılarak tanımlanması gerekmektedir. Örneğin, çok kullanıcılı ortamlarda iki değişik süreç tarafından ortak kullanılan bir değişkenin volatile tanımlanması gerekir. Tanımlanmış bir değişken, bir deyim içinde ismi verilerek anılır. Dizi elemanlarına ulaşmak için çeşitli yollar olmasına rağmen, çoğu zaman dizi isminin arkasına köşeli parantezler içinde indis belirtilerek kullanılırlar. Eleman sayısı BOY olan bir dizi için indisin alabileceği değerler 0 dan BOY-1 e kadar değişir. Yani, yukarıda tanımlanmış olan u tamsayı dizisinin elemanları u[0], u[1] veya u[2] şeklinde kullanılabilir. www.dersmax.net C Programlama Dilinde Değişkenler 5

İndisin her zaman değişmez bir tamsayı olmasına gerek yoktur; genelde bir ifade olur. Yani, u[x+5] geçerli bir kullanımdır. Doğal olarak, eğer x+5 ifadesinin değeri 0, 1 veya 2 değilse, beklenmeyen sonuçlar elde edilebilir. Bu tip kullanımları kontrol altında tutmak tamamen programcının sorumluluğundadır. Değişik tiplerde tanımlanmış değişkenler için, mevcut derleyiciler tarafından ayrılan bellek miktarı ile alt ve üst limit değerleri şöyledir: Not: 16 bitlik bilgisayarlarda veya derleyicilerde (signed veya unsigned) int 16 bittir; 32 bitliklerde ise 32 bittir. #include <stdio.h> #include <stdlib.h> int main(void){ /////////karakter/////////////// char karakter1='a'; char karakter2=34; //////////////tam sayilar////////////// //int sayi1=32.768; küsüratlı sayı kullanılamaz int sayi1=32768; unsigned int sayi2=666666666; www.dersmax.net C Programlama Dilinde Değişkenler 6

short int sayi3=65236; unsigned short int sayi4=13010; long int sayi5=2305198322512599414; unsigned long int sayi6=-23051983225125994; ////////////ondalıklı sayılar float sayi7=35.12345678849445674; double sayi8=6629387.5034986790485769305876093485760985760943857609438760934876; Kaynaklar http://www.ibrahimbayraktar.net/2013/11/c-programlama-degiskenler.html#more www.dersmax.net C Programlama Dilinde Değişkenler 7