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

Slides:



Advertisements
Benzer bir sunumlar
Nesneye Yönelik Programlama
Advertisements

Fonksiyonlar - Functions
Bilgisayar Bilimlerine Giriş-2
STRİNG FONKSİYONLARI.
Fonksiyonlar.
Bölüm 12 ÜST DÜZEY KONULAR Dinamik Bellek Ayırma Önişlemci
Değişkenler ve bellek Değişkenler
Öğrenilmesi gerekenler: Operatör, operand Öncelik sırası
Saydığımızda 15 tane sayı olduğunu görürüz.
TEMEL C PROGRAMLAMA DERSİ - 1
C PROGRAMLAMA DİLİNE GİRİŞ
Bölüm 2 C Dilinin Temelleri
C Programlama Diline Giriş
Prof. Dr. Eşref ADALI Yrd. Doç. Dr. Şule Gündüz Öğüdücü SürümA
Atama ve Girdi/Çıktı Komutları
4 Kontrol Yapıları: 1.Bölüm.
Bölüm 2: Program Denetimi
MATEMATİKSEL PROGRAMLAMA
String Kütüphanesindeki Arama Fonksiyonları
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Fonksiyonlar ve Alt Programlar
Operatörler.
Bölüm 3 – Yapısal Programlama
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
ARALARINDA ASAL SAYILAR
1/20 BÖLME İŞLEMİ A B C D : 4 işleminde, bölüm kaçtır?
Nesneye Dayalı Programlama
Yapısal Program Geliştirme – if, if-else
C Programlama Dili ve Gömülü Sistemler için MikroC
Formül Hazırlama ve Kullanma
Operatörler ve Denetim Yapıları
C++ Yapısı Giriş-Çıkış Komutları Döngü Komutları
Formüller Mustafa AÇIKKAR.
Tam sayılarda bölme ve çarpma işlemi
Bilgisayar Programlama
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
HABTEKUS' HABTEKUS'08 3.
C ile Programlamaya Giriş
FONKSİYONLAR.
Bölüm 2 – Kontrol Yapıları
Akış Kontrol Mekanizmaları
DEĞİŞKENLER.
Temel Kavramlar, İşlemler, Operatörler
Diferansiyel Denklemler
C’nin Kısa Tarihçesi C AT&T laboratuarlarında 70’li yıllarının başında Dennis Ritchie tarafından tasarlanmıştır. Ritchie o yıllarda B adlı programlama.
Bilgisayar Programlama
Bölüm 1: C Programlama Diline Giriş
EYLÜL 2014 İŞLETİM SİSTEMLERİ Bilgisayar Uygulamaları.
Toplama Yapalım Hikmet Sırma 1-A sınıfı.
C Programlama Diline Giriş
Yard. Doç. Dr. Mustafa Akkol
ÖĞR. GRV. Ş.ENGIN ŞAHİN BİLGİ VE İLETİŞİM TEKNOLOJİSİ.
C PROGRAMLAMA DİLİNE GİRİŞ.
Bugünkü konular Programlama dilleri ve Syntax Generic C Program yapısı
Adım Adım Algoritma.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
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İŞ.
C Programlama Dili Bilgisayar Mühendisliği.
C Programlama Diline Giriş
C PROGRAMLAMA DİLİNE GİRİŞ
Bölüm 2 C Dilinin Temelleri
Bölüm 1: C Programlama Diline Giriş
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Bölüm 2 C Dilinin Temelleri
C ile Programlamaya Giriş
Bilgisayar Bilimi Problem Çözme Süreci-3.
Sunum transkripti:

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

C Dili'nin Tarihçesi C kendinden önceki programlama dilleri olan B ve BCPL 'nin gelişmişidir. 1967 1970 1972 BCPL B C

C Dili'nin Tarihçesi C dili konusundaki ilk kitap, 1978'de Brian Kernighan ve Dennis Ritchie tarafından yazılmıştır.

C Dili'nin Tarihçesi 1983 yılında C programlama dilini standardize etmek amacıyla toplanan bir komite ANSI C (American National Standart Institute) standardını tanımlamıştır. C başlangıçta birçok kişi tarafından UNIX işletim sistemini geliştiren dil olarak biliniyordu. Günümüzde hemen hemen bütün büyük işletim sistemleri C ya da C++ ile yazılmıştır.

C’nin özellikleri C donanımdan bağımsız (machine independent) ve taşınabilirdir (portable). Taşınabilirlik, aynı programın farklı donanımlarda ve farklı işletim sistemlerinde işletilebilirliğini ifade eder.

C’nin özellikleri Bir dilin verimliliği (productivity), hızlı fakat fazla yer kaplamayan yazılımlar geliştirmeye olanak sağlaması ile ölçülür. C programlama dili verimli, basit, fakat güçlü yapısından ve bu dilde geliştirilen uygulamaların taşınabilir olmasından dolayı yaygın olarak kullanılmaktadır.

C Programlarının Temel Yapısı

C Programlarının Temel Yapısı Bir C programı iki temel bölümden oluşur: Önişlemci Direktifleri (Preprocessor Directives) ve Ana Fonksiyon (main function).

Önişlemci Direktifleri Önişlemci direktifleri # işareti ile başlar ve program derlenmeden önce C önişlemcisi tarafından işletilir. Her bir önişlemci direktifinin farklı bir görevi vardır. En çok kullanılan iki direktif #include ve #define dır.

Önişlemci Direktifleri C programlama dilinde belirli işleri gerçekleştiren program parçaları C’ nin temel yapısı içinde yer almaz. Bu nedenle program içinde kullanılan fonksiyonların kendilerinin ya da başlıklarının yer aldığı dosyalar #include direktifi kullanılarak ana programa dahil edilir.

Önişlemci Direktifleri Örneğin printf fonksiyonunun özet bilgisi stdio.h isimli dosyanın içinde yeri almaktadır. Bir programda printf fonksiyonu kullanılacaksa, programın başında stdio.h (Standart Input Output) dosyasının #include direktifi ile programa dahil edilmesi gerekir. Aksi halde printf fonksiyonu kullanılamaz. Bu dosya programa #include <stdio.h> direktifi ile dahil edilir. C dilinde .h uzantılı bu dosyalar başlık (Header) dosyaları adı verilir.

C’deki bazı kütüphaneler İçeriği stdio.h Standart giriş-çıkış komutları conio.h DOS destekli giriş-çıkış komutları math.h Matematiksel fonksiyonlar stdlib.h Dönüşüm, sıralama, arama vb. komutları graphics.h Grafik ortam komutları dos.h DOS fonksiyonları ctype.h Karakter dönüşüm ve sınıflandırma komutları string.h Alfasayısal ve bazı bellek yönetim komutları

Main Fonksiyonu Hemen hemen bütün C programları birden fazla fonksiyondan oluşur. main () bütün C programlarında bulunması gereken programın ana gövdesidir. İlk çalıştırılacak olan fonksiyon main () yani ana fonksiyondur.

Main Fonksiyonu Çalıştırılacak ifadeler, (statements) main () fonksiyonu içerisine { } işaretleri arasına yazılır. Açılan her { işareti mutlaka } ile kapatılmalıdır. Bu iki işaret arasında kalan kısımlara blok (block) ismi verilir.

Main Fonksiyonu En dıştaki { } işaretleri arasında kalan blok programın asıl kısmıdır. Bu kısım, bildiriler (declarations) ve işletilebilir ifadeler (executable statements) olmak üzere iki bölümden oluşur. Bildiriler, bir program içerisinde kullanılacak değişkenlerin adlarını belirlemek amacı ile yazılırlar. İşletilebilir ifadeler de yapılacak işlemleri yerine getirecek komutlardır.

Basit Bir C Programı Önişlemci direktifi Açıklama satırları Başlık dosyası Ana fonksiyon başlığı Blok başlangıcı ve bitişi

C Dili'nin Yazım Kuralları (Syntax) C Dili birden fazla satırdan oluşan açıklama satırlarına izin verir. Bu satırlar /* işaretleri ile başlar ve */ işaretleri ile biter ve açıklama (comment) adını alırlar. Programın adı, ne iş yaptığı gibi açıklayıcı bilgi içerirler. Programcı tekrar kendi yazdığı programa dönüp baktığında hatırlayamayacağı önemli yerlere de açıklama yazabilir.

C Dili'nin Yazım Kuralları (Syntax) Açıklama satırları programın derlenmesi sırasında derleyici tarafından göz ardı edilir, yani dikkate alınmazlar. Bu satırlar sadece programın okunabilirliğini (readability) arttırır ve program üzerinde daha sonra yapılacak çalışmaları kolaylaştırır. İyi programcılık alışkanlıkları açısından programcı açıklama satırları yazmaya özen göstermelidir.

C Dili'nin Yazım Kuralları (Syntax) C'de her işletilebilir ifade ; ile sonlandırılır. Bir satıra birden fazla ifade yazılabilir. Ancak önişlemci direktifleri, mutlaka her satırda yalnızca bir tane olacak şekilde yazılmalıdır.

C Dili'nin Yazım Kuralları (Syntax) C programlama dilinde bütün anahtar kelimeler ve komutlar küçük harfle yazılır. (# define direktifi hariç ) C büyük-küçük harfe duyarlıdır (case sensitive). Yani "TOPLAM" , "toplam" ve "tOpLaM" kelimelerinin hepsi C derleyicisi tarafından farklı algılanırlar.

C Dili'nin Yazım Kuralları (Syntax) Program yazım kuralları içerisinde olmasa dahi programlarımızı yazarken okunabilirliliği arttırmak için ana ifadeleri sola dayalı bloklar içerisine yazılan ifadeleri ise 3 boşluk girinti (indent) verilerek içerden yazmaya özen gösterilmelidir.

C Dili'nin Yazım Kuralları (Syntax) Bir C programında birden fazla blok kullanılacaktır. Blok içindeki ifadelerin 3 boşluk girinti verilerek içeriden yazılması program stilinin düzgün olmasını sağlayacak bu da anlaşılabilirlik ve okunabilirliği arttıracaktır.

Kötü Program Stili İyi Bir Program Stili

İşleçler (Operatör)

İşleçler (Operatör) İşleç (operatör), matematiksel, mantıksal ve atama işlemlerini gerçekleştirmek için kullanılan simgelerdir. Bu işleçler ile işleme giren değerlere de işlenen (operand) adı verilir. Operatörler birden fazla operand alabilirler.

Matematiksel İşleçler Matematikteki C dilindeki işlem . X veya hiçbirşey * Çarpma Mod % Modüler bölüm / ÷ / Bölme + 1 ++ 1 Artırma (unary increment) -1 -- 1 Eksiltme (unary decrement) + Toplama - Çıkartma

Unary operatörlerin ifadenin sağında ya da solunda olması ile anlam değişik olur A++ (postincrement) Önce A'yı kullan, sonra içindeki değeri 1 artır. ++A(preincrement) Önce A'yı 1 artır, sonra bu arttırılmış değeri kullan. A--(postdecrement) Önce A'yı kullan, sonra içindeki değeri 1 eksilt. --A (predecrement) Önce A'yı 1 eksilt, sonra bu eksiltilmiş değeri kullan.

a=4 ve b=5 olsun…

Programcı, Arttırma ve eksiltme operatörlerini kullanırken ifadeleri yoruma mahal bırakmayacak şekilde anlaşılır ve açık bir şekilde yazmalıdır.

Örneğin; c=a+++b; ifadesinde ++, a değişkenine mi aittir yoksa b değişkenine mi aittir? Derleyiciler de burada takılacakları için hangisine aitse ona göre bir boşluk bırakılmalıdır. Farklı derleyiciler farklı şekilde yorumlayabilir.

Yani; ya c=a++ +b ya da c=a+ ++b şeklinde yazmak daha doğru olacaktır.

Mantıksal işleçler Matematikteki C dilindeki işlem > Büyük < Küçük ≥ >= Büyük veya eşit ≤ <= Küçük veya eşit = == Eşit (Karşılaştırma) ≠ ! = Eşit değil && Ve (And) V II Veya (Or) ‘ ! Olumsuz (not-invert)

Ve (&&) A B İşlem Sonuç Hayır A && B Evet

Veya (||) A B İşlem Sonuç Hayır II Evet

Atama (Assign) İşleçleri = Atama += Toplayarak atama -= Eksilterek atama *= Çarparak atama /= Bölerek atama %= Mod alarak atama

İşleçlerde Öncelik (Precedence) Sırası

Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Kullanılacak bütün değişkenlerin kullanılmadan önce C derleyicisine bildirilmeleri gerekir. Derleyiciye değişkenleri bildirme işine, değişken tanımlamak (variable definition) denir. Değişken tanımlamak, değişken için bir isim seçmek ve içerisinde ne tür bir veri saklayacağını söylemekle yapılır.

Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Her değişkenin ismi, veri türü ve değeri (value) vardır. Değişken ismi değişkeni saklamak için ayrılmış hafıza hücresine verilecek isim; veri türü saklanan bilginin türü (ondalık sayı, tamsayi...), değer ise değişken içinde saklanan bilginin kendisidir.

Değişken İsimlendirme Program içinde kullanılacak değişken isimleri programcı tarafından verilir. Değişkenlere isim verirken aşağıdaki kurallara uyulması zorunludur.

Kural 1 Her programlama dilinin kendine ayırdığı (reserve) ve komutları için seçtiği sözcükler vardır. Bunlara anahtar sözcük (keyword) denir. C dili içerisindeki anahtar sözcükler, komut veya fonksiyon adları değişken ismi olarak kullanılamaz.

C’de ayrılmış sözcükler Asm auto break case cdecl Char const continue default do double else enum extern far float for goto huge if int interrupt long near pascal register return short signed sizeof static struct switch typedef union unsigned void volatile while fortran _CS _BP _DI _SI _SP _DS _AX _BX _CX _DX _ES _AH _BH _CH _DH _AL _BL _CL _DL

Kural 2 Değişken isimleri içerisinde a-z ve A-Z arası İngiliz harfleri, 0-9 arası rakamlar ve özel karakter olarak yalnızca "_" (alt çizgi) kullanılabilir. Özel karakterler (+, -, ! vs.) ve Türkçe karakterler (ÜüÇçĞğİıÖöŞş) kullanılamaz.

Kural 3 Değişken ismi rakam ile başlayamaz, fakat daha sonra rakam kullanılabilir. 1.vize adında değişken olamaz ama vize1 olabilir.

Kural 4 Değişken isimleri istenilen uzunlukta olabilir. Ama C derleyicisi için ilk 32 karakter belirleyicidir. Yani, iki değişken isminin ilk 31 karakteri aynı ise sonrakiler farklı bile olsa derleyici tarafından aynı algılanır.

Ayrıca Her değişkene içerisinde tuttuğu değeri hatırlatacak şekilde isimler verilmelidir. Değişkenlerin isimlerinin çok fazla uzun olmamasına dikkat edilir. İki kelimeden oluşan değişken isimleri arasına ya altçizgi ( _ ) ya da ikinci kelimenin baş harfi büyük yazılarak okunması kolaylaştırılmalıdır.

Veri Türleri

Veri Türleri Program içerisinde kullanılacak değerlerin türünü belirlerler. C dili içerisindeki temel veri türleri char, int, float ve double'dır.

char Bir harf, bir rakam veya özel bir simgeyi saklayabilirler. char tipindeki her değer tek tırnak ‘ ‘ karakteri arasında yazılmalıdır.

Örnek: ‘A’ ‘z’ ‘2’ ‘*’ ‘:’ ‘ ’ Yalnız aktarılan karakterler hafızada karakter olarak değil, ASCII tablosundaki sayısal karşılıkları ile tutulurlar.

int -32768 ile 32767 arasındaki tamsayı değerleri saklamak için kullanılır. C'de işaretsiz yazılmış bir sayı pozitif olarak algılanacaktır.

float Ondalıklı olarak verilen sayıları ifade etmek için kullanılan değerleri tanımlamak için kullanılır.

double Ondalıklı olarak verilen çok küçük ve çok büyük sayıları ifade etmek için kullanılan değerleri tanımlamak için kullanılır. float türünden iki kat daha fazla duyarlılığa sahiptir.

Tanımlama yerleri, şekilleri ve ilk değer verilmesi (Initialization)

Tanımlama Standart C de üç ayrı yerde değişken tanımlanabilir. Main fonksiyonundan önce, Bloklar başlar başlamaz yani { ve } işaretleri arasında ve Fonksiyonlarda parametre olarak tanımlanabilirler. Bu üç tanımlama yerinin kendine göre farklılıkları vardır.

Genel kullanımı: DeğişkenTürü değişkenAdı ; ÖRNEK: long int maas ;

Eğer istenirse… Değişken isminden sonra atama işareti olan = kullanılarak ilk değer ataması da yapılabilir. İçerisinde ilk değer olmayan değişkenlerin içerisindeki değerler tanımlanma yerine göre değişir.

ÖRNEK: int a; a=1; yerine int a=1; aynı ifadelerdir.

ÖRNEK: int a, b, c; /*aynı satırda aynı türde olan değişkenler tanımlanabilir. Okunabilirlik açısından her virgülden sonra bir boşluk bırakılır*/ char m='k'; double n=5.05;

…:Dikkat:… main fonksiyonunun üstünde tanımlanan değişkenlerin ilk değerleri verilmemişse otomatik olarak sayısal olanlar 0 diğerleri boş olarak belirlenirler. Fakat fonksiyon içerisinde tanımlanan değişkenlerin ilk değerleri verilmediğinde hafızada tanımlandıkları yerdeki bulunan rasgele değerler olacaktır. Bu konuya çok dikkat edilmesi gerekir. GENEL GİRİŞ-ÇIKIŞ FONKSİYONLARI