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

Slides:



Advertisements
Benzer bir sunumlar
C PROGRAMLAMA DİLİNE GİRİŞ
Advertisements

Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
Dosya Yönetimi Dosya, Klasör ve Sürücüler HÜSEYİN ALİOSMANOĞLU.
BÖLÜM 4 PROGRAMLAMA DİLLERİ. PROGRAMLAMA DİLLERİNDE KULLANILAN VERİ TİPLERİ Bilgisayarda işlenen veriler iki türdür: Sayısal Alfasayısal.
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
BİLGİSAYAR PROGRAMLAMA MATLAB Yrd.Doç.Dr. Cengiz Tepe.
Örnek 1 Kullanıcının girdiği bir sayının karesini hesaplayan bir program yazınız.
TC Windows Editörü DevC++. KURULUM PROGRAMIN KURULACAĞI YER BURADA BELİRLENİYOR.
9. HAFTA 25 Nisan2016. Fonksiyon M-Dosyaları Fonksiyon dosyaları ilk satırda “function” kelimesi bulunan “.m” uzantısı bulunan dosyalardır. MATLAB içinde.
PHP Nedir? ● Bir web sayfası oluşturabilmeniz için: ● HTML kullanmalısınız. ● Sayfadaki etkileşimi artırmak için ● JavaScript/VBScript ● Görselliği bütün.
Bağlama ve Kapsam Kavramları
Bölüm 5 Döngü Komutları while Komutu while Komutu Diğer Operatörler (Bileşik atama, artırma ve azaltma operatörleri ) Diğer Operatörler (Bileşik atama,
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
1 Bölüm 2 C Dilinin Temelleri Alıştırmalar Bu bölümdeki problemler “C Dersi Çözümlü Problem Kitabı”, N. E. Ça ğ ıltay, C. E. Selbes, G. Tokdemir, ve Ç.
Bölüm 2 C Dilinin Temelleri
PROGRAMLAMAYA GİRİŞ.
BİLGİSAYAR PROGRAMLAMA DERSİ
SAYILAR ve RAKAMLAR.
Excel 2007.
3. DEĞİŞKENLER Değişkenlerin kullanım ve tanımlanma şekli, o dilde program yapmayı ve programların anlaşılırlığını etkileyen önemli faktörlerden biridir.
Printf Bu komut ekrana çıktı veren komuttur. Pascalda kullanılan writeln komutuyla aynı anlamdadır.
C Programlama Dili Çağdaş Hakan Aladağ.
Algoritma ve Programlamaya Giriş
BM-103 Programlamaya Giriş Güz 2016 (3. Sunu)
EETE233 Mikrodenetleyiciler ArduIno ile Programlama
PROGRAMLAMA TEMELLERİ
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H03
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H05
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı
MAT – 101 Temel Matematik Mustafa Sezer PEHLİVAN *
Algoritma ve Programlamaya Giriş
Klavye Kullanımı.
Dosya, Klasör ve Sürücüler
Bölüm 3 Atama ve Girdi/Çıktı Komutları
Bilgisayar Mühendisliğine Giriş
3.hafta METODLAR.
1. Konfigürasyon oluşturma
PARAMETRİK HİPOTEZ TESTLERİ
Bölüm 7 İfadeler ve atamalar.
BİLGİSAYAR programlama II
BİLGİSAYAR programlama II
NİŞANTAŞI ÜNİVERSİTESİ
Arduino Programlama Dili
MİKROİŞLEMCİLER VE MİKROBİLGİSAYARLAR
Bölüm 4: Kontrol Yapıları I (Seçim Yapma)
Doğrusal Mantık Yapısı İle Problem Çözme
Fortran Proglama Dili’nin Esasları
Bilgisayar Bilimi Koşullu Durumlar.
Tezin Olası Bölümleri.
İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar)
Bilgisayar II 8 Mart Mart
?: KARŞILAŞTIRMA OPERATÖRÜ
NİŞANTAŞI ÜNİVERSİTESİ
Fonksiyonlar ve Alt Programlar
6. DÖNGÜ (TEKRARLAMA) DEYİMLERİ
Bilgisayar Bilimi Fonksiyon Yazma.
Değerler ve Değişkenler
Öğr. Gör. Sümeyye korkmaz
Algoritma Bir problemin çözümü için bir adım adım yaklaşımdır.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
BLM-111 PROGRAMLAMA DİLLERİ I Ders-10 Diziler
NİŞANTAŞI ÜNİVERSİTESİ
MTM216 GÖRSEL PROGRAMLAMA
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
NİŞANTAŞI ÜNİVERSİTESİ
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