C Programlama Dilininin Basit Yapıları



Benzer belgeler
Temel Giriş/Çıkış Fonksiyonları

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

C Konsol Giriş Çıkış Fonksiyonları

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

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

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

Algoritma ve Programlama: Karar Yapıları ve Döngüler

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

PROGRAMLAMAYA GİRİŞ DERS 2

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

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

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

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

C++ Operatörler (Operators)

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

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

Ders 4: Temel Giriş/Çıkış Fonksiyonları

Program Çözümleme. Aşağıdaki örneklerde printf() ve scanf() fonksiyonlarının işlevleri gösterilmektedir. Liste 1.1. Çözümleme:

Eln 1001 Bilgisayar Programlama I

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

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

Dr. Fatih AY Tel: fatihay@fatihay.net

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

Genel Programlama II

Bigisayar Programlama

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

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

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

PROGRAMLAMA TEMELLER. C Program Yap s

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

Fonksiyonlar (Altprogram)

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.

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

C#(Sharp) Programlama Dili

Nesne Tabanlı Programlama

Bir C programı C fonksiyonlarından oluşur. Bunlar arasında main() adı verilen ana fonksiyon daima olmalıdır. C fonksiyonları programı oluşturan

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

C PROGRAMLAMA D İ L İ

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

C Programlama Dilinde Değişkenler

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

Biçem Belirteçleri (Format Specifiers)

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

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

Diziler (Arrays) Çok Boyutlu Diziler

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.

Pointer Kavramı. Veri Yapıları

Print Komutu ile Değişkenleri Yazdırmak

C Programlama printf() Fonksiyonu

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

Algoritma ve Programlamaya Giriş

HSancak Nesne Tabanlı Programlama I Ders Notları

BİLGİSAYAR PROGRAMLAMA DERSİ

PASCAL PROGRAMLAMA DİLİ YAPISI

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

Nesne Tabanlı Programlama


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

Diziler İndisli Değişkenler

BİL1001 Bilgisayar Bilimlerine Giriş 1

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

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

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

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

Programlama Dilleri 1. Ders 4: Diziler

Internet Programming II

Algoritmalar ve Programlama. Algoritma

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

int printf (const char *format [, argument,...]);

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

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

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

Hafta 12 Karakter Tutan Diziler

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#10

ELN1001 BİLGİSAYAR PROGRAMLAMA I

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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

Giriş. ENF102 Jeoloji

ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING)

C PROGRAMLAMA D İ L İ

ALGORİTMA VE PROGRAMLAMA I

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

Dr. Fatih AY Tel: fatihay@fatihay.net

Programlama Dilleri 1. Ders 5: Göstericiler

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

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

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

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

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

Temel Giriş/Çıkış Fonksiyonları (Devam) Örnek :

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

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

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

Internet Programming II

BİL1001 Bilgisayar Bilimlerine Giriş 1

Transkript:

Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade Blokları............... 14 2.4 C Dilinde Fonksiyonlar......................... 14 2.5 scanf Fonksiyonu............................. 15 2.6 printf Fonksiyonu............................ 16 2.7 Atama Operatörü............................ 17 2.8 Veri Tipleri................................ 17 2.1 Sabitler ve Değişkenler Bir programlama dilinde değişkenler, sabitler ve operatörler bilinmeden o dilde etkin bir program yazmak mümkün değildir. Değişkenler (variables), bellekte bilginin saklandığı gözelere verilen özel isimlerdir. Her değişken bir tip, ad ve değere sahiptir. Değişkenlerin değerleri ile oynamak mümkündür, sabit bir değer tutmazlar. Program çalıştırığı sürece değerlerini değiştirmek mümkündür. Değişkenlerin isimlendirilmelerinde ilki harf olmak üzere diğerleri harf, sayı ve alt çizgi olabilen birçok karakterden oluşabilir. Kullanılacak isimlerin C ye ait standart 13

kütüphanedeki fonksiyon isimleri kullanıcının tanımladığı fonksiyon isimleri ile aynı olmamalıdır. Sabitler, ise değişkenlerin aksine durağan bilgileri tutmak için kullanılır. Program çalıştırıldığı sürece değerleri kesinlikle değişmez. Operatörler, bir eyleme işaret eden karakterlerdir. Aritmetik operatörler +, -, *, / ve % 1 karakterlerinden oluşmaktadır. Çarpma, bölme ve bölümden kalanı veren operatörler önce işleme sokulur. Eğer toplama ve çarpma işlemlerinin önce yapılmasını istiyorsanız parantezler kullanarak bunlara öncelik verebilirsiniz. 2.2 Açıklamalar (Expresions) Açıklama sabit, değişken ve operatörlerden oluşan bir bütündür. Bir örnek ile açıklanacak olursak, (2 + 3) 10 ifadesi bir açıklamadır. Bu açıklamada ilk önce 2 ve 3 sayısı toplanır, sonuç 10 ile çarpılır. Bu açıklamının sonucunun 50 dir. 2.3 İfadeler (Statements) ve İfade Blokları C de ; karakteri ile sonlanan herbir satır ifade, deyim olarak adlandırılır. C de { ve } karakterleri arasında kalan yapı deyim blokları olarak adlandırılır. C derleyici bu deyim bloğunu tek bir deyim olarak algılar. for(...) { s3 = s1 + s2; mul = s3 * c; remainder = sum % c; } 2.4 C Dilinde Fonksiyonlar C dili fonksiyonlardan oluşmuş bir dildir. C dilinin standart kütüphanesinde tanımlı olan fonksiyonların dışında (printf, scanf, main) kullanıcının da kendisine özel fonksiyon oluşturma, kullanma ve hatta oluşturduğu fonksiyonların kütüphanelerini yaratma olanağı vardır. Bu nedenle C dili son derece esnek ve yapısal bir dildir. 1 Bölümden kalanı veren operatör 14 gulsen@be.itu.edu.tr

Bir foksiyonun mutlaka tipi, adı ve argümanları olmalıdır. Fonksiyonlara isim verilirmesi değişkenlere isim verilmesi ile aynıdır. Yukarıda sözünü ettiğimiz noktalara dikkat etmek gerekmektedir. Fonksiyonları çalıştırabilmek için bir takım ön bilgilere ihtiyaç vardır. Bu ön bilgiler C dilinde fonksiyonun argümanları olarak isimlendirilirler. Fonksiyonların başlangıç ve bitişleri de önemlidir. C dilinde başlangıcı { karakteri, bitişi ise } karakteri belirler. Fonksiyonların içeriğine ise yani asıl yaptıkları bölüme ise fonksiyonların gövdesi adı verilir ve bu bölüm { ve } karakterleri arasında kalan bölümdür. Bu bölüm değişken bildirimleri ve bir birden fazla ifadelerden (statements) oluşmaktadır. Tüm bu söylenenlere göre aşağıda kullanıcı tarafından oluşturulmuş ve iki sayının toplamını hesaplayan C fonksiyonunu tekrar inceleyiniz. /* This function adds two integers and returns the result */ int integer_add( int x, int y ) { int result; result = x + y; return result; Fonksiyonlar ilerleyen bölümlerde daha ayrıntılı olarak incelenecektir. 2.5 scanf Fonksiyonu Çoğu derleyicide klavyeye atanmış olan standart girişten (stdin) veri okumak için kullanılır. Farklı tipte veriler scanf ile okunup adresleri arguman olarak gönderilen değişkenlere atanabilir. Fonksiyonun ilk parametresi bir format olup klavyeden girilen karakteri nasıl yorumlayacağını belirler. Daha sonra girilen parametre ise klavyeden alınan bu değeri tutatcak değişkenin adresi olacaktır. Sözgelimi, scanf("%d",&a); denildiğinde, kullanıcıdan %d formatına uygun bir parametre girmesi istenir. Girilen bu parametre a isimli değişkenin adresine atanır. Yani artık a değişkenin tuttuğu değer, kullanıcının girdiği sayıdır. Sözgelimi, kullanıcı 5 girirse, a sayısı 5 olacaktır. Burada dikkat edilmesi gereken çok önemli noktalar vardır. Bunlar; simgeleri arasına format yazılır., den hemen sonra değişkenin adresi verilir. & simgesi kesinlikle kullanılacaktır. Kaç adet format varsa o sayıda değişken adresi kullanılacaktır. 15 gulsen@be.itu.edu.tr

Birden fazla değişken tek bir scanf fonksiyonu ile alınacaksa, Sözgelimi 2 değişken scanf("%d%d",&a,&b); şeklinde olacaktır. Burada 2 adet format var, dolayısı ile 2 adet de değişken adresi kullanılacaktır. Formatlar değişken tipleri bölümünde ayrıntılı olarak anlatılacaktır. 2.6 printf Fonksiyonu Daha önceki bölümlerde printf fonksiyonun simgeleri arasında gördüğü tüm ifadeyi ekrana yazdığından söz etmiştik. printf fonksiyonu değişkenlerin değerlerini ekrana yazdırmak için de kullanılır. Böyle bir durumda kullanımı biraz farklıdır. int a = 5 ; printf ("a sayısının degeri %d dir\n",a); şeklinde bir program düşünelim. Burada a değişkeni integer tipinde bir değişken ve değeri de 5 dir. printf fonksiyonu şöyle çalışır. Yine aynı şekilde simgeleri arasında ne görürse yazacak, ANCAK %d gördüğü yere,, karakterlerinden sonra gelen a degiskenin degerini yazacak. Yani, a sayısının degeri 5 dir şeklinde ekrana yazacak. Başka bir deyişle format ile değişken eşleştiriliyor. Önemli noktalar; arasında kaç adet format varsa, çift tırnak bitiminin hemen ardından gelen, den sonra da o sayıda değişken adı olacaktır. Bu değişkenler birden fazla ise araları, karakteri ile ayrılmalıdır. printf fonksiyonunda değişkenlerin adresleri yazılmaz, kendileri yazılır. Dolayısı ile & simgesi kullanılmaz. printf fonksiyonunda format tipini belirlemek için değişken tipine bakmak gerekir. Kullanılan değişken tipi ne ise format tipi de o olacaktır. printf fonksiyonunda printf fonksiyonunda arasında ne varsa BOŞLUKLAR da dahil HERŞEY ne varsa aynen GÖRÜLDÜĞÜ gibi ekrana yazılır. 16 gulsen@be.itu.edu.tr

2.7 Atama Operatörü a = k + m ; ifadesi bir atama işlemidir. Atama işlemi= operatörü ile yapılmaktadır. k ve m değerleri toplanır ve elde edilen sonuç a değişkenin içeriğine atanır. Bu işlem de atama işlemi olarak isimlendirilir. 2.8 Veri Tipleri C dilinde 4 ana veri tipi vardır. Bunlar; integer, char, float ve double değişken tipleridir. INTEGER Tam sayılara integer sayılar adı verilir. Başka bir deyişle INTEGER sayılar hiçbir kesirli yan içermeyen sayılardır. tamsayı (integer) bir bölme işlemi yapıldığında sonuç kesirli dahi olsa, elde edilen sonuç kesilir. integer kısmı alınır. integer bir değişkenin bildirimi aşağıdaki gibidir. int a; a=5; int a = 5; Tam sayı bölme işleminin sonucunun kesirli sayılardan oluşmasını istiyorsak int a, b; float c; c = a/b; Burada c değişkeni float olarak tanımlansa bile sonuç integer olacaktır. Bu nedenle bu işlem yerine int a, b; a= 5, b=2; float c; c = (float) a/b; 17 gulsen@be.itu.edu.tr

işlemi yapılmalıdır. integer veri tipinin format belirteci (format specifier) %d ile gösterilmektedir. Bu değişken tipi bellekte 2 4 byte yer işgal eder 2. FLOAT Ondalıklı sayıların gösteriliminde float değişken tipi kullanılır. C dili içerisinde kullanımı aşağıdaki şekillerde olabilir. float a; a=5.27; float a = 4.34; Float değişken tipinin formatı ise %f ile gösterilir. Kullanımı, float a = 4.34; printf("a = %f\n",a); Float değişken tipi bellekte 4 byte yer işgal eder. DOUBLE Yine ondalıklı sayıların gösteriliminde kullanılır. Long Float olarak da bilinir. Float değişkenden farkı. dan sonra daha fazla hane tutabilmesidir. Bu durumda bellekte de daha fazla yer işgal ederler. Double tipinden bir değişken bellekte 8 byte yer işgal eder. Kullanımı, double a; a=5.27125325; double = 212E+7; 2 ne kadar yer işgal ettiği sizeof fonksiyonu ile öğrenilebilir 18 gulsen@be.itu.edu.tr

Double değişken tipinin formatı ise %lf ile gösterilir. Kullanımı, float a = 4.34; printf("a = %lf\n",a); CHARACTER İki adet tek tırnak arasında verilen bilgi karaktertir. Klavyedeki her bir simge karakterdir ve bu karakterlerin ASCII tablosunda sayısal karşılıkları vardır. Kullanımı, char a; a = a ; char a = 3 ; Karakter değişken tipinin formatı ise %c ile gösterilir. Kullanımı, char a = 4 ; printf("a = %c\n",a); Dikkat edilmesi gereken en önemli nokta Karakter değişkenler simgeleri arasında verilirler. Birden fazla karakterden söz edilecekse C dilinde katar (string) yapıları kullanılır. Karakter tanımı yapılmaz. ESC CHARACTER C dilinde \ karakteri ESC karakter olarak kullanılır. Özel bir karakter anlamında kullanılır. Bu karakterlerden bazıları, \b : backspace karakteridir. İmleçi bir karakter sola taşır. \n : newline karakteridir. Satır atlatır. \f : form-feed karakteridir. Yeni sayfanın en başına atlatır. \t : tab karakteridir. Tab tuşu kadar boşluk yaratır. 19 gulsen@be.itu.edu.tr