230 likes | 699 Views
TEMEL C PROGRAMLAMA DERSİ - 1. HAZIRLAYAN GÖKHAN YALINIZ. PROGRAMLAMA DİLLERİ. NEDEN YÜKSEK SEVİYE DİLLER(C). Yazılışı ve anlaşılırlığı kolaydır. Kullanılan derleyici yazılan programı makine diline çevirir.
E N D
TEMEL C PROGRAMLAMA DERSİ - 1 HAZIRLAYAN GÖKHAN YALINIZ HUNROBOTX2012
PROGRAMLAMA DİLLERİ HUNROBOTX2012
NEDEN YÜKSEK SEVİYE DİLLER(C) • Yazılışı ve anlaşılırlığı kolaydır. • Kullanılan derleyici yazılan programı makine diline çevirir. • Günümüzde birçok şirket programlama dili olarak yüksek seviye dilleri kullanır.Özellikle C dili temel olarak alınır. • Program direk olarak yönetilebilir hale gelmez.Bunun için birkaç adım gerekir,bu da size yazdığınız programda hata bulurken kolaylık sağlar. • Birçok bilgisayar tarafından derlenebilir. • Mikroişlemcileri programlarken en çok kullanılan dil C dilidir. HUNROBOTX2012
SAYI SİSTEMLERİ 10luk (Decimal) taban :Günlük hayatta kullandığımız sayı tabanıdır.(0,1,2,3,4,5,6,7,8,9 ) (13245)10=1x10^4 + 3x10^3+2x10^2+4x10^1+5x10^0 2lik(Binary) taban:Bilgisayar sistemlerinde en çok kullanılan sayı tabanıdır.(0,1) (11011)2=1x2^4 + 1x2^3+0x2^2+1x2^1+1x2^0 HUNROBOTX2012
8lik(Octal) taban:Bu sayı sistemi binary arasında kolay dönüşüm sağladığından tercih edilir.(0,1,2,3,4,5,6,7) (13245)₈=1x8^4 + 3x8^3+2x8^2+4x8^1+5x8^0 16lık(Hex) taban:Bu sayı sistemi binary arasında kolay dönüşüm sağladığından tercih edilir.Pic programlamada genelde hex sayı sistemi tercih edilir.0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(5) (132AB) ₁₆=1x16^4 + 3x16^3+2x16^2+10x16^1+11x16^0 HUNROBOTX2012
87 / 2 = 43 (kalan 1) Sayının 0. biti 1 43 / 2 = 21 (kalan 1) Sayının 1. biti 1 21 / 2 = 10 (kalan 1) Sayının 2. biti 1 10 / 2 = 5 (kalan 0) Sayının 3. biti 0 5 / 2 = 2 (kalan 1) Sayının 4. biti 1 2 / 2 = 1 (kalan 0) Sayının 5. biti 0 1 / 2 = 0 (kalan 1) Sayının 6. biti 1 87 = 101 0111 DecimalSayı Sisteminden BinarySayı Sistemine Dönüşüm Octal Sayı Sisteminden BinarySayi Sistemine Dönüsüm. (1 4 6)₈ 1 100 110 (1 100 110)₂ • (2 C)₁₆ • 0010 1100 • ( 0010 1100 )₂ Hex Sayı Sisteminden Binary Sayı Sistemine Dönüşüm HUNROBOTX2012
( 1 0 1 0 1 0 1 )₂ 2^6 2^5 2^4 2^3 2^2 2^1 2^0 64 16 4 1 85 (85)10 BinarySayı Sisteminden Decimal Sayı Sistemine Dönüşüm Binary Sayı Sisteminden OctalSayi Sistemine Dönüsüm. (11 101 111 )₂ 3 5 7 ( 357)₈ E A (1110 1010)₂ Binary Sayı Sisteminden Hex Sayı Sistemine Dönüşüm (E A)₁₆ HUNROBOTX2012
BİNARYDE 4 İŞLEM 2 lik sistemde toplama 2 lik sistemde toplama (10110)2 + (01010)2 (100000)2 (10110)2 - (01010)2 (01100)2 2 lik sistemde çarpma 2 lik sistemde bölme (110011)2 / (11)2 = (?)2 (110101)2 * (111)2 = (?)2 (110101)2 x (101)2 (110101)2 (000000)2 + (110101)2 (100001001)2 110111 |11___ -11____|10010 011 - 11 001 HUNROBOTX2012
C Dilinde Program Yazarken İzlenen Adımlar • Kod derleyiciye yazılır.(Sourcecode) • Derleyici yazımsal olarak hata olup olmadığına bakar(Compile) • Program önceden yazılmış hazır kodlar ile yazılan kodları birleştirir.(Linker) • Birleştirilen program kaydedilir(Loader) HUNROBOTX2012
Yazılım Geliştirme Metodu • Verilen problem tam olarak anlaşılmalıdır.(Problem) • Problem analiz edilir giriş çıkış ve ek bilgiler öğrenilir.(Analyse) • Problemin algoritması oluşturulur.(Design) • Yazılan program test edilir(Test) • Yazılan program kaydedilir(Maintanance) HUNROBOTX2012
Basit Bir C Örneği //Kütüphaneler #include <stdio.h> //Bu kütüphanetemeldeprintf-scanf // kullanımıiçineklenir. //Standard Input Output #include <stdlib.h> //Bu kütüphanedetemelde system statement'ını //kullanmakiçineklenir. int main () { // Ana program:HerProgramdakesinlikle //birana-main fonksiyonolmakzorundadır printf("C programlama\n"); //Algoritmikkodların C dilineaktarıldığıkısım system("pause"); return(0); } HUNROBOTX2012
C Dili Elementleri • Önişlemci komutları • Yorum • Ana fonksiyon • Degişken tanımları ve veri tipleri • Yönetilebilir komutlar • Degişmez tanımları • Tanımlayıcılar HUNROBOTX2012
Önişlemci Komutları • Temel olarak #include ve #define olarak ikiye ayırabiliriz. #include Daha önceden yazılmış programları(kütüphane) eklemek için kullanılır. (Örn: #include <stdio.h>) #define Program tarafından sürekli kullanılan sabit sayı veya sayıların yerine programa anlaşılırlık katabilecek bir isim verilir. (Örn:#define PI 3.14 ) HUNROBOTX2012
Yorum Yazılan programın daha sonra tekrar kullanıldığında veya başka bir kişi tarafından incelendiğinde, daha kolay ve hızlı anlaşılması için kullanılır.Program hiçbir şekilde yorumları işlemeyecektir. // bu işaretten sonra tek bir satıra yorum yazılabilir. /* */ Bu işaretler arasına istenildigi kadar satıra yorum yazılabilir. HUNROBOTX2012
Ana Fonksiyon • C de her programın bir ana fonksiyonu olmak zorundadır.Programın baslangıcı ve bitişi bu fonksiyon içinde olacaktır. intmain(void) { } seklindedir. HUNROBOTX2012
Değişken Tanımları ve Veri Tipleri • Değisken:Bilgisayarın hafızasında program için hücre ayırılan kısımdır. • Değişken tanımlarken küçük harf kullanılır,sayı ile başlamaz,ve işaret olarak yalnızca altçizgi(_) kullanılır. • Degişken tanımı “veri tipi degişken ismi” şeklinde yapılır. (Örn: doublesayi;) Veri tipleri int : Veri tipi tamsayı olması halinde kullanılır. double:Veri tipi kesirli sayı olması halinde kullanılır. char:Veri tipi karakter olması halinde kullanılır. (Örn int numara; doublesayi; char harf; ) HUNROBOTX2012
Yönetilebilir Komutlar • Algoritma için kullanılan komutlardır.Temel olarak 3’e ayırılır. Giriş Çıkış fonksiyonları ve diğer Fonksiyonlar Giriş fonksiyonu(scanf);Dışardan alınacak veriler için kullanılır. scanf(“%d”,&numara); Çıkış fonksiyonu(printf);Dışarı ile iletişim saglamak bilgi vermek icin kullanılır. printf(“Girdiğiniz değer %d”,sayi); Diğer fonksiyonlar;Diger kütüphanelerde tanımlı veya özgün olarak yazılmış fonksiyonlardır. system(“cls”); Atama Komutları; Kullanılan değiskene veri tipine uygun olarak değer atanır int x=5; return komutu HUNROBOTX2012
Değişmezler • C diline has anlamları olan kelimelerdir. • Başka bir amaç için kullanlmaz. return if else while do int double …….. HUNROBOTX2012
Tanımlayıcılar • Değişken ve fonksiyonlara verilen isimler olabilir. • Standart tanımlayıcılar olabilir. Bu tanıtıcılar C kütüphanelerinde daha önceden belirlenmiştir.(printf,scanf….)Değiştirebilirsiniz fakat önerilmez. Örneğin printf yerine yaz isimini verebilirsiniz.Ancak sizin dışınızda birinin anlaması için güçlük çıkaracaktır. HUNROBOTX2012
Soru Vakti HUNROBOTX2012