Bugünkü konular Programlama dilleri ve Syntax Generic C Program yapısı

Slides:



Advertisements
Benzer bir sunumlar
Bilgisayar Bilimlerine Giriş-2
Advertisements

STRİNG FONKSİYONLARI.
Değişken , Veri Türleri ve Operatörler
Göstericiler (Pointers)
TEMEL C PROGRAMLAMA DERSİ - 1
Programlama-II (Java ile Bilgisayar Programlama)
C PROGRAMLAMA DİLİNE GİRİŞ
Bölüm 2 C Dilinin Temelleri
Değişken Tanımlamaları
C Programlama Diline Giriş
C PROGRAMLAMA DİLİNE GİRİŞ
Atama ve Girdi/Çıktı Komutları
BPR151 ALGORİTMA VE PROGRAMLAMA - I
VERİ TİPLERİ VE DEĞİŞKENLER
SQL de Değişken Tanımlama
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Bölüm 10 Yapılar ve Birleşimler
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
Fonksiyonlar.
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
C ile Programlamaya Giriş
DEĞİŞKENLER, VERİ TÜRLERİ VE OPERATÖRLER
Temel Veri Türleri ve Operatörler
FONKSİYONLAR.
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
Algoritma & Programlama
Temel Giriş/Çıkış Fonksiyonları
VERİ TİPLERİ VE DEĞİŞKENLER
STRING‘LER Karakter Kütüphanesi Fonksiyonları
Değerler ve Değişkenler
C PROGRAMLAMA DİLİ YRD.DOÇ.DR. BUKET DOĞAN 1.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Bu günkü konular Basit I/O Expressions (ifadeler)
Bu Günkü Konular If yapısı ve karşılaştırma operatörleri
1 Yapılandırılmamış programlama Prosedür/Fonksiyon gerekliliği Prosedural Programlama Fonksiyon Tanımlama/Prototip/Çağırma Örnek fonksiyonlar Fonksiyon.
Algoritma, bir işin hangi aşamalardan geçilerek yapılacağını gösteren çalışma planıdır. Algoritma Nedir ?
flex Sözcüksel Analiz İçin Bir Araç
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.
BMS-301 Kabuk Programlama Güz 2015 (5. Sunu) (Yrd. Doç. Dr. Deniz Dal)
Adım Adım Algoritma.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
C Programlamada, benzer tipte tanımlaman değişkenleri kontrol etmede bize en çok yardım eden dostlarımız dizilerdir. Örneğin: 100 Öğrencinin bilgilerini.
BİLGİSAYAR PROGRAMLAMA Ders 3: C ile Programlamaya Giriş
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İŞ.
Algoritma ve Akış Şemaları
Bölüm 3 Atama ve Girdi/Çıktı Komutları
C Programlama Dili Bilgisayar Mühendisliği.
Algoritma ve Programlamaya Giriş
C Programlama Diline Giriş
Bölüm 2 C Dilinin Temelleri
Bölüm 1: C Programlama Diline Giriş
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
Veri Tipleri 12/4/2018.
Bilgisayar Bilimi Problem Çözme Süreci-2.
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Bölüm 3 Atama ve Girdi/Çıktı Komutları
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ş
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

Bugünkü konular Programlama dilleri ve Syntax Generic C Program yapısı Değişkenler Değişken Tipi ve İsmi Operator kullanımı Basit I/O (input/output – girdi/çıktı) scanf/printf

Problem çözümü ilke ve evreleri Gereklilik Analizi Problem ve Girdi/Çıktıları anlama Dizayn Problemi çözecek algoritma (çözüm basamakları) oluşturma Kodlama Algoritmayı bir programlama dilinde kodlama Biz bu derste C dilini kullanacağız. Test Programın doğruluğunu kontrol etme

Programlama Dilleri(PL) Programlama dilleri algoritmaları implamente etmek kullanılan kurallar bütünüdür. Bu kurallar syntax olarak adlandırılır. (veya programlama dilinin syntactic kuralları olarak isimlendirilir.) Her programlama dilinin kendi has syntax ı vardır. Bir giriş dili olarak C programlama dilini kullanacağız.

Niçin C? Basit ve Yapısaldır Uygunluk ve Taşınabilirlik En az syntax Uygunluk ve Taşınabilirlik C derleyicileri geniş bir platform desteğine sahipdir. Windows, UNIX/LINUX, embedded(gömülü) systemler System programlama için kullanılabilen bir dildir. İşletim sistemlerinin çoğu C ile yazılmıştır. En Çok Bilinendir Hemen hemen tüm programcılar C bilir C de yazılmış çok fazla açık/genel kod vardır. 4

C’nin Tarihi C’nin gelişim evreleri: CPL Combined Programming Language (Barron, 1963) BCPL Basic CPL (Richards, 1969) B (Thompson, 1970) C (Kernighan & Ritchie, 1972) ANSI C American National Standards Institute C (X3J11, 1989) 5

İlk C Programı PROBLEM Fahrenheit’ı santigrata dönüştür. #include <stdio.h> /* Fahrenheit’ı santigrata dönüştür */ main() { float fahrenheit; float santigrat; printf(“fahrenheit sıcaklığı gir: “); scanf(“%f”, &fahrenheit); santigrat = (fahrenheit-32)/1.8; printf(“%f fahrenheit derece %f santigrat dereceye eşittir\n”, fahrenheit, santigrat ); } fahrenheit dereceyi al santigrat = (fahrenheit-32)/1.8 Fahrenhayt ve Santigrat dereceleri ekrana yazdır. Başla Bitiş Kullanıcıya sıcaklık girmesini bildir

İlk C Programını anlamak #include <stdio.h> /* Fahrenheit’ı santigrata dönüştür */ main() { float fahrenheit; float santigrat; printf(“fahrenheit sıcaklığı gir: “); scanf(“%f”, &fahrenheit); santigrat = (fahrenheit-32)/1.8; printf(“%f fahrenheit derece %f santigrat dereceye eşittir\n”, fahrenheit, santigrat ); } Standart I/O kütüphanesini yükle Açıklamalar: /* …. */ arasında main(): Programın nerden başlayacağını gösterir Süslü parantezler Bir kod bloğunun başlangıç ve bitişini işaret eder.

İlk C Programını anlamak (devam) #include <stdio.h> /* Fahrenheit’ı santigrata dönüştür */ main() { float fahrenheit; float santigrat; printf(“fahrenheit sıcaklığı gir: “); scanf(“%f”, &fahrenheit); santigrat = (fahrenheit-32)/1.8; printf(“%f fahrenheit derece %f santigrat dereceye eşittir\n”, fahrenheit, santigrat ); } Değişkenler değişken bir hafıza alanıdır. İçeriği programın çalışması süresince doldurulabilir ve değiştirilebilir. float bir değişken tipidir fahrenheit ve santigrat değişken adlarıdır. İfadeler program adımlarıdır. her ifade noktalı virgül ile biter (;)

İlk C Programını anlamak (devam) #include <stdio.h> /* Fahrenheit’ı santigrata dönüştür */ main() { float fahrenheit; float santigrat; printf(“fahrenheit sıcaklığı gir: “); scanf(“%f”, &fahrenheit); santigrat = (fahrenheit-32)/1.8; printf(“%f fahrenheit derece %f santigrat dereceye eşittir\n”, fahrenheit, santigrat ); } Output - Çıktı Ekrana bir şeyler yazdırmak için printf fonksiyonunu kullan Input - Girdi Klavyeden bir şeyler okumak için scanf fonksiyonunu kullan. Hesaplama Hesaplamalar için matematiksel ifadeleri/operatörleri kullan.

C kodundan Makine Koduna dönüşüm prog.c COMPILER ASSEMBLER LINKER LOADER + OS prog.s prog.o printf.o scanf.o prog.exe program çalışması Şimdi bizim bir C programımız var. Bu nasıl makine koduna yani 1 ve 0 lara dönüştürülecek. Bilgisayarların 1 ve 0 dan anlayabildiklerini hatırlayın. C programlarını makine koduna dönüştürmek için birkaç yazılımsal bileşen kullanılıyor. Compiler(derleyici), assembler, linker, loader+OS

İlk C programının Çalışması #include <stdio.h> /* Fahrenheit’ı santigrata dönüştür */ main() { float fahrenheit,santigrat; printf(“fahrenheit sıcaklığı gir: “); scanf(“%f”, &fahrenheit); santigrat = (fahrenheit-32)/1.8; printf(“%f fahrenheit derece %f santigrat dereceye eşittir\n”, fahrenheit, santigrat ); } /* son-main*/ VERİLER fahrenheit ? ? 75.4 santigrat 24.11 ? Fahrenheit sıcaklığı gir: 75.4 fahrenheit derece 24.11 santigrat dereceye eşittir 75.4

İlk C programının Çalışması #include <stdio.h> main() { float f,s; printf(“fgir: “); scanf(“%f”, &f); s = (f-32)/1.8; printf(“%f f %f s\n”, f, s ); } VERİLER fahrenheit ? ? 75.4 santigrat 24.11 ? Fahrenheit sıcaklığı gir: 75.4 fahrenheit derece 24.11 santigrat dereceye eşittir 75.4

Generic C Program Yapısı #include <stdio.h> /* main programın başlangıcını işaret eder */ main() { /* Değişkenler programda kullanılacak verileri tutar. */ Değişken Tanımlama; /* Program basamakları: I/O, hesaplamalar (ifadeler) */ İfade1; İfade2; … İfadeN; } /* program sonu*/

Değişken Nedir? İçeriği programın çalışması boyunca doldurulabilen ve değiştirilebilen bir hafıza alanıdır. Her değişkenin bir tipi ve ismi vardır. Tip o hafıza alanında saklanacak verinin tip bilgilerini ifade eder. İsim o hafıza bölgesine ulaşmamız için bir etikettir. Hafıza sayi2 sayi1 name int sayi1; /* bir tam sayıyı depolar (152) */ float sayi2; /* bir ondalıklı sayıyı depolar (65.324) */

Değişken Tanımlama Temel değişken tanımlama formatı veritipi veriAdı, veriAdı, ... ; veritipi aşağıdakiler olabilir int /* tam sayıları tutar, 34532 */ float /* gerçek satıları tutar, 15.342 */ double /* gerçek sayıları tutar, fakat çok daha hassas*/ /* 345.22359573943 */ char /* bir ASCII karakter tutar, ‘A’ */

Değişken İsimleri C değişkenleri harf ve rakam kombinasyonlarından oluşabilirler fakat: İlk karakter harf olmak zorunda fahrenheit, santigrat, toplam, a123, i1, i2, i3 Büyük veya küçük harfler kullanılabilir Küçük ve büyük harfler aşağıdaki gibi kullanılabilir sum, Sum, SUM Alt çizgi (_) ilk karakter olabilir veya arada/sonda kullanılabilir. ogrenci_no, _ogrNo, __ogr_no__

Değişken İsimleri (devam) C değişken isimleri harf ve rakamların birleşiminden oluşabilir, fakat: Değişken isimleri boşluk, tire veya tırnak içeremez “ogrenci” : tırnaklar(“) geçersiz ogrenci-no : geçersiz karakter ( - ) ogrenci no: arada boşluk kullanılmamalı (ogrenci_no) Değişken isimleri büyük/küçük harf duyarlıdır toplam, Toplam ve toplaM hepsi farklı değişkenlerdir.

Değişken örnekleri & atama int x; /* 1 int tanımlar */ float fahrenheit, santigrat; /* 2 float tanımlar */ double d; /* 1 double tanımlar */ x = -85; /* x e -85 atanır */ d = 3.4545673; /* d ye 3.4545673 atanır */ fahrenheit = 75.0; /* fahrenheit a 75.0 atanır */ santigrat = 23.4; /*santigrat a 23.4 atanır */ = atama operatörüdür kullanım: değişken = değer; Değişkenlerin ifade ettiği hafıza alanlarındaki değerleri değiştirir. -85 3.4545673 75.0 23.4 x d fahrenheit santigrat

Değişken Tanımlama & İlk Değer Atama Değişkenlere tanımlandığı yerde ilk değer verilebilir int toplam = 32000; /* positif olabilir */ int x = -23, y = 458; /* negatif olabilir */ float f1 = 34.5; float fahrenheit = 75.3, santigrat = 0; double d1, d2 = -4.567; /* negatif olabilir*/ double d3 = 5e+3; /* bilimsel kodlama: 5x10^3 */ d1 = 675e-4; /* 675x10^-4 = 0.0675 */ 32000 -23 458 34.5 75.3 0.0 0.0675 -4.567 5000 toplam x y f1 fahrenheit santigrat d1 d2 d3

Karakter Değişkenler Tek bir karakteri ifade eder Karakterler alfabedeki (büyük/küçük) harfler 0’dan 9’a 10 rakam Bazı özel semboller +#@½%&$.*?!£‘=-:/*^(){}[]~;,<> Karakterler tırnak işareti arasında kullanılır örneğin. 'A' char c; c = 'A'; /* A harfi*/ c = '9'; /* 9 rakamı */ char c = 'c'; /* ilk değer atama */

Karakter Değişkenler (devam) Aslında karakterler 1 byte lık doğal sayıları ifade eder char tipi değişkenler hafızada 1 byte yer tutar Karakterlerin (char değişkenleri) ASCII tablosundaki değerleri… ‘A’ nın ASCII değeri 65 ‘B’ nın ASCII değeri 66 ‘0’ ın ASCII değeri 48 ‘1’ in ASCII değeri 49 http://www.asciitable.com/

ASCII Tablosu

  Özel Karakterler Karakterler tek tırnak arasında gösterilir Tırnak işaretini nasıl göstereceğiz?  char c; c = ''';  char c; c = '\''; Ters slaş(\) bir karakterin önünde kullanılırsa bu durum Escape Sequence (kaçış dizisi) olarak adlandırılır. - Kendisinden sonra gelecek Karakterin anlamını yok eder.

Escape Sequence – kaçış dizisi Ters slaş (\) ve bir karakterden oluşur. Derleyiciye sonraki karakterin normal olarak algılanması işaretini verir. Sık kullanılanlar \n sonraki satıra geç \t sonraki sekmeye geç \r satır başına dön \\ ters slaş karakteri \' tek tırnak \" çift tırnak

sizeof Operatörü sizeof operatörünü kullanarak değişken tiplerinin gerçekte hafızada kaç byte yer tuttuğunu öğrenebilirsiniz. int a = sizeof(char); /* 1 döner */ int b = sizeof(short); /* 2 döner */ int c = sizeof(int); /* 4 döner */ int d = sizeof(long); /* 4 veya 8 * döner/ int e = sizeof(float); /* 4 döner*/ int f = sizeof(double); /* 8 döner*/ 1 2 4 4/8 4 8 a b c d e f

Veri Tipleri ve Özellikleri Veri tipi boyut Aralık char 1 byte -128 : 127 unsigned char 0 : 255 short 2 byte -32768 : 32767 unsigned short 0 : 65535 int 4 byte -2147483648 :2147483647 long 4/8 byte unsigned int 0 : 4294967295 float (7 hassasiyet) 1.175494e-38 :3.402823e+38 double (15 hassasiyet) 8 byte 2.225074e-308 :1.797693e+308