YTÜROK TEMEL C PROGRAMLAMA EĞİTİMİ

Slides:



Advertisements
Benzer bir sunumlar
Bilgisayar Bilimlerine Giriş-2
Advertisements

STRİNG FONKSİYONLARI.
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Soru1: 1’den 4’e kadar olan tamsayıları ekrana tek satırda görülecek şekilde yazdıran bir programı aşağıdaki metotları kullanarak yazınız. Bir printf ifadesi.
Karar Verme: Eşitlik ve Karşılaştırma Operatörleri
Nöbetçi Kontrollü Döngü
Göstericiler (Pointers)
Bölüm 2 C Dilinin Temelleri
switch - case Yapısı Döngü Yapıları
C Programlama Diline Giriş
Yrd. Doç.Dr. Nilgün GÜLER BAYAZIT
Atama ve Girdi/Çıktı Komutları
Bölüm 2: Program Denetimi
BİL 112 Programlamaya Giriş: C
Javascript Oğuz İNAL.
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
String Kütüphanesindeki Arama Fonksiyonları
Bölüm 10 Yapılar ve Birleşimler
Bölüm 5 Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
Program Kontrol İfadeleri
Soru1: Kullanıcıdan iki tam sayı girmesini isteyen ve daha sonra büyük olan sayı ile beraber ‘en büyüktür’ ifadesi yazan, ancak sayılar birbirine eşitse.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Bilgisayar Programlama
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
C ile Programlamaya Giriş
Bölüm 5 Döngü Komutları while Komutu Diğer Operatörler Bileşik Komut
FONKSİYONLAR.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Akış Kontrol Mekanizmaları
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
DÖNGÜLER.
Bilgisayar Programlama
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Fonksiyonlar Fonksiyon Tanımı
Temel Giriş/Çıkış Fonksiyonları
C Programlama Diline Giriş
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
PROGRAM DENETİM DEYİMLERİ
Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri Dizgi Çıktı İşlemleri Dizgi Fonksiyonları Karakter Fonksiyonları Gösterge Dizgileri.
Bugünkü Konular Döngüler ve Akış Diyagramları C de Döngü Tanımlama
2. HAFTA 2. Hafta.
Bölüm 3 Atama ve Girdi/Çıktı Komutları Bölüm 3 Atama ve Girdi/Çıktı Komutları Atama Komutu Operatörler İsim Sabitleri Veri Tipi Dönüşümü Çıktı Fonksiyonu.
Döngü Komutları. for deyimi bir alt limitten, bir üst limite kadar programın belirli bir parçasını tekrar eder. for deyiminde sayaç artış oranı da verilmelidir.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
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.
TC Windows Editörü DevC++. KURULUM PROGRAMIN KURULACAĞI YER BURADA BELİRLENİYOR.
Örnek Sorular Bilgisayar Programlama BIL 107. Soru 1: Ekran çıktısında 66 yazması için boşlukları doldurunuz ______ i = 'A'; printf(____, i__); CEVAP:
Bölüm 3 Atama ve Girdi/Çıktı Komutları
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
C Programlama Dili Bilgisayar Mühendisliği.
C’de Fonsiyonlar Aslı Ergün.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Bölüm 2 C Dilinin Temelleri
PINAR KARTALO Ğ LU.  Belirli sayıda i ş lemlerin tekrarlanması için kullanılan döngülerdir. for döngüleri ba ş langıç ve biti ş de ğ erleri arasında.
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
BİLGİSAYAR programlama II
Bilgisayar Bilimi Problem Çözme Süreci-2.
Bölüm 2: Program Denetimi
Bölüm 3 Atama ve Girdi/Çıktı Komutları
Bölüm 2 C Dilinin Temelleri
Sunum transkripti:

YTÜROK TEMEL C PROGRAMLAMA EĞİTİMİ

C’ye Genel Bakış C programlama dili Dennis Ritchie tarafından 1972 yılında oluşturuldu. C’nin bugün dünyada en fazla kullanılan yazılım dili olmasındaki sebepler: *Güçlü ve esnek bir dil olması *Yapabileceklerinizin hayal gücünüzle sınırlı olması *Çok fazla derleyiciye, kütüphaneye ve öğrenilmesi için gerekli birçok yardımcı kaynağa sahip olması *C’nin fonksiyonlar şeklinde yazılabilmesidir.

Bir C programında bulunması gerekli komutlar #include<stdio.h> //Kütüphane int main() // Temel Fonksiyon { return 0; /*Programın Sonlanması İçin Gerekli ifade*/ }

Kütüphaneler Bütün C programlarının başında yazılır. Yazılmış bir kütüphaneyi program içinde kullanmak isterseniz başında #include < ekleyeceginizkutuphane> yazmalısınız. koymalısınız.Kütüphaneler fonksiyonları barındırır; C dilinde yazacağınız programın amacına göre hazır kütüphaneleri ya da hazırlamış olduğunuz kütüphaneleri ekleyerek fonksiyonlardan yararlanabilirsiniz. Örnek: #include<stdio.h> // Standart input output kütüphanesi { printf(), scanf() gibi } #include<math.h> // Matematiksel fonksiyonların yer aldığı kütüphane { sqrt() , abs( ) , asin() , acos() gibi } #include<stdlib.h > // Yazıyı tamsayıya çeviren { atoi( ) , max( ), min( ) } Not:Fazladan ekleyeceğimiz her kütüphane programımızın boyutunu büyütmektedir.Gereksiz kütüphaneleri include etmeyin!

Değişken Tanımlama C dilinde gerek fonksiyonları kullanırken, gerek matematiksel işlemler yaparken gerekse diğer gerekli alanlarda değişkenlere ihtiyacımız vardır. Değişken tanımlarken mesela : int xdegiskeni; yazabiliriz. Buradaki xdegiskeni bir değişkendir. Değişkenlere istediğimiz ismi verebiliriz x y elma armut mahmut vs… Yukarıdaki tanımlamada kullanılan int ise tanımlamış olduğumuz xdegisken’inin bir integer yani tamsayı olduğunu compiler’a tanıtır. int aslen bir değişken tipidir. Değişken tiplerini inceleyelim. Not: C dilinde yazdığımız her ifade, her tanımlama noktalı virgül ‘ ; ‘ ile son bulmalıdır. Böylece compiler’a yazdığımızın son bulduğunu anlatmış oluruz.

Değişken Tipleri Değişken tanımlarken hangi değişken tipi kullanacağımız çok önemlidir.Gereksiz yere kullanılacak daha büyük yer kaplayan bir değişken, yazdığımız programımızı büyütecektir. Tipler: char x; // x adında 1 byte ‘lık karakter değişkeni ( Signed: -128 tan 127 e kadar, Unsigned : 0 dan 255 e kadar sayılar geçerli ) int y; // y adında 2 veya byte’lık bir tamsayı oluşturur. ( Signed : -2147483648 to 2147483647 ‘e kadar sayı alabilir.) unsigned int a; // a adında pozitif bir değişken tamsayı; ( Unsigned 0 dan 4294967295’ e kadar sayı girilebilir. ) float b; // b adında bir rasyonel değişken tanımlanır. ( 7 haneye kadar tüm rasyonel sayılar ) NOT: Eğer istersek mesela int x=5; şeklinde, direk x’i 5 e atayabiliriz.

Bildiklerimizi Ufak bir Programın İçinde Kullanalım! #include<stdio.h > // Kütüphane int main( ) // Program Başlangıcı { int x; // x diye bir tamsayı tanımladık. printf(« Lutfen bir tamsayi giriniz»); // printf() fonksiyonuyla ekrana yazı gönderdik. scanf(«%d»,&x); //Kullanıcının gireceği tamsayıyı x değişkenine atadık. printf(« Girilen sayi %d dir. », x) ; // Ve printf() fonksiyonuyla bu x değişkenini ekrana verdik. return 0; }

Yazdırma Komutu printf(): Ekrana yazdırma komutu olan printf’de istersek değişkenleri de yazdırabiliriz.Eğer sadece kullanıcıya mesaj vermek istiyorsak puts(«mesajiniz» ) daha kullanisli ve daha düşük boyutlu bir fonksiyondur. printf(« bir degisken : %f »,y) ; Yukarıda y değişkenini yazdırırken y’nin bir float olduğunu göz önüne alarak mesaj bölümü içinde %f yazdık. y bir karakter olsaydı %c , tamsayı ya da long int olsaydı %d yazabilirdik. Not: C dilinde boşluklar önemsizdir, yukarıdaki ifadeyi printf(« bir degisken : %f » ,y) ; printf(« bir degisken : %f »,y) ; veya printf(« bir degisken : %f » ,y) ; şeklinde yazarsak da bir sıkıntı yaşanmaz. Yazılım dillerinde boşluklar algılanmaz.

Yazdırma Komutu: printf() printf ile çalışırken boşluk elde etmek istiyorsak, \n ile alt satırda yazdırmaya devam edebiliriz. Örnek: printf(«Deneme1 \n Deneme2 \n Deneme3 Deneme4») Çıktı: Deneme1 Deneme2 Deneme3 Deneme4 \t ile tab yapabiliriz. Örnek: printf(«Deneme1 \t Deneme2»); Çıktı: Deneme1 Deneme2 \a ile makineden ses çıkartabiliriz. Örnek: printf(«\a\a\a») Çıktı: Dıt dıt dıt!

scanf() Fonksiyonu Kullanıcının keyboard’dan veri girişi yapmasını istiyorsak, ya da başka bir dosyadan , başka bir yerden programımıza veri girişi yapmak istiyorsak scanf( ) kullanabiliriz. Mesela : scanf (« %d », &x); // Burada x tamsayısı kullanıcı tarafından girilir. scanf(« %d %f »&y , &m) // Burada kullanıcıdan ilk önce y tamsayısını ENTER’a bastıktan sonra m rasyonel sayısını girmesini isteyebiliriz.

C’de Operatörler C dilinde birçok matematiksel operatörü kullanabiliriz; örneğin 4 işlemi yapmamıza yarayan + - * / gibi. Tanımladığımız 2 değişken üzerinde bunları kullanabiliriz. X+Y ; , X/Y ; gibi.. Bunun yanında Not: Matematikte kullandığımız eşittir , « = » ile ifade edilmez. X=Y ; dediğimizde Eğer int y=5; int x; şeklinde tanımlanmışsa x=y ; ifadesinde y’nin değeri x üzerine işlenmiş olur. Not:Matematikte kullandığımız eşittiri kullanmak istersek , çift eşittir « == » kullanmamız gerekir.

Basit Program Kontrolü : if Çeşitli amaçlarda yazacağımız programlarla , istediğimizi gerçekleştirmemiz için program akışını kontrol etmemiz gerekir. Bunun için birçok ifade vardır , bazıları if, while ve for’dur. Şimdi kısaca bunlardan bahsedelim. if : if döngüsü olarak da bilinen bu döngüde ilişkisel operatörler olan büyüktür > , küçüktür <, büyük eşit >=, küçük eşit <= kullanılabilir. Bu döngüyü şekilsel olarak gösterirsek: if (şart ) //mesela x>y ise { ifade1; // yaptırmak istediğimiz bir ifadeler ifade2; }

Basit Program Kontrolü : if if ile beraber kullanılan bir yardımcı ifade vardır ki, bahsetmeden olmaz. Tabiki else’den söz ediyoruz. Kullanım şeması kısaca şu şekildedir. if (şartımız) // mesela x>y ise ifade1; // ifade 1 i gerçekleştir. else ifade2; // eğer x>y değilse ifade 2 yi gerçekleştir. Eğer 2 den fazla durumdan bahsediyorsak şu şekilde yazabiliriz: if (1. Şartımız) İfade1; else if ( 2. şartımız) İfade2; İfade3 gibi

Basit Program Kontrolü : if Şimdi de if ile oluşturulmuş bir programla bildiklerimizi pekiştirelim. int main() // Program Başlangıcı { int a,b; // a ve b adında 2 integer tanımlanıyor. printf(« 1 . Sayıyı giriniz: \n"); scanf(« %d ", & a); // Girilen sayı a üzerine tanımlanıyor. printf(« 2. Sayıyı Giriniz:\n "); scanf(« %d ", &b); // Girilen sayı b üzerinde tanımlanıyor. if(a<b) printf("%d büyüktür %d den :\n",b,a); if(a==b) printf("%d=%d",a,b); if(a>b) printf("%d büyüktür %d: ‘den\n",a,b); getch(); return (0); }

Basit Program Kontrolü:while Şimdi de while’dan bahsedelim. Kullanım şemasını gösterecek olursak; while (şart) //Herhangi bi şart kullanılabilir, genelde 2 sayının birbirine göre durumu karşılaştırılır. { İfade1; // istenilen herhangi bi ifade ya da fonksiyon kullanılabilir. İfade2; İfade3; } while’da eğer şart sağlanmazsa içindeki ifadelere bakılmaksızın direk atlanır ve program sonraki komutları yürütmeye devam eder.

Basit Program Kontrolü:While Şimdi de while ile yazılmış bir programı inceleyelim. //Faktoriyel Hesaplama Algoritması int Cevap=1; // Cevap degiskeni 1 olarak tanımlandı. int x=5; // x degiskeni 5 olarak tanımlandı. while(x>0) // x’in pozitif oldugu sürece { if(x>1) Cevap = Cevap * x ; //Önceki 1 olan Cevap degiskeni üzerine Cevap * x işleniyor. x--; // x sayısını 1 azaltmış olduk. } else // x 1’den büyük değilse x--; // x’i bir azalt.

Basit Program Kontrolü:for while’a nazaran çok daha fazla kullanılan for döngüsü C dili için çok önemlidir. Kullanım şemasından bahsedecek olursak: for (başlangıç; şart; artış ) ifade; Örnek: * for(x=4;x<20; x++) // tam 17 defa aşağıdaki ifade print edilir. printf(«Robotik Otomasyon Kulübü»); * for(y=50;y>10;y--) gibi kullanılabilir. Not: for ile yapabilecekleriniz tamamen sizin hayal gücünüze bağlıdır.2 for döngüsünü iç içe de kullanabilir, while ve ifle beraber de kullanabilirsinz.

Basit Program Kontrolü: for For döngüsüyle ilgili bir örneği inceleyelim. int tek=0,cift=0,sayac; for(sayac=0;sayac<10;sayac++) // sayaç 0’dan 10 ‘a kadar artırılıyor. { if(sayac%2==1) // Eğer sayaçın modu(2’ye bölündüğünde veren kalan) 1 se tek=tek+sayac; // 1+3+5+7+9 = 25 else cift=cift+sayac; // 0+ 2 +4 +6 +8 =20 }

Basit Program Kontrolü: for Basit bir örnek daha inceleyelim. int i,j; // i ve j adında 2 tamsayı tanımlanıyor. for(i=10;i>=1;i--) // i=10 değerinden her iterasyonda 1 azaltılarak 1 e ulaşacak. { for(j=10;j>=1;j--) // j=10 değerinden her iterasyonda 1 azaltılarak 1 e ulaşacak. printf("*"); // * Döngü boyunca ekrana * yazdırılıacak } printf("\n"); // Alt satıra geçmeye yarar.

Ferhat MAÇİN ferhatmacin@gmail.com Sorular?? Ferhat MAÇİN ferhatmacin@gmail.com YTÜROK