C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur.

Benzer belgeler
En kucuk calisabilir birime satetement denir Statements semicolon (;) ile sonlanir Yalniz basina ; null statement i ifade eder

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

Programlamaya Giriş Karar Yapıları, Tekrarlı İfadeler(Döngüler)

Giri. Program yazmaya balamadan önce

C++ Operatörler (Operators)

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

OPERATÖRLER Alıştırmalar

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

Pros and Cons of Pointers. Pointers. Avantajlar. Dezavantajlar

NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING)

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin);

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Java da Program Denetimi ve Operatörler

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BMT 106 Algoritma ve Programlama II Bahar Dönemi

HSancak Nesne Tabanlı Programlama I Ders Notları

Kontrol Yapıları (2)

YZM 2105 Nesneye Yönelik Programlama

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

Her veri tipine yetecek ve ancak o kadar anabellek alanı ayrılır. Programcı, ana bellekte ayrılacak adresin büyüklüğünü bilerek değişkenlerini

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Algoritma ve Programlama: Karar Yapıları ve Döngüler

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-2 Değişken Kavramı ve Temel Operatörler

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

C derleyicisinin içeriği

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

HSancak Nesne Tabanlı Programlama I Ders Notları

1 PROGRAMLAMAYA GİRİŞ

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

İstanbul Üniversitesi Elektrik Elektronik Mühendisliği GENEL KAVRAMLAR. Kaynak: C ve Sistem Programcıları Derneği Kurs Notu. Öğr.Gör.Dr.

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Bölüm 2 - C ile Programlamaya Giriş

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

Nesne Tabanlı Programlama

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

Java da İşleçler, Ders #3 (4 Kasım 2009)

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

10/17/2007 Nesneye Yonelik Programlama 3.1

DATA STRUCTURES. Part I C# Programlama Dili Temelleri

Java: printf() Metodu İle Çıktıyı Biçemleme

BÖLÜM 4: DEĞİŞKENLER, SABİTLER VE OPERATÖRLER

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Veri Tanımları ve Mantıksal İşlemler

C Programlama Dilininin Basit Yapıları

Nesne Yönelimli Programlama

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

TEMPLATES. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1

Program AkıĢ Kontrol Yapıları

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

Bölüm 4 C de Program Kontrolü

BİLG Dr. Mustafa T. Babagil 1

Programlama Dilleri III 1

/*int sayi1, sayi2,toplam=0;

Genel Programlama II

BMT 101 Algoritma ve Programlama I 5. Hafta. Yük. Müh. Köksal Gündoğdu 1

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

C#(Sharp) Programlama Dili

for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; }

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

Koşullu Önermeler (if else)

Bölüm 7. İfadeler ve atamalar ISBN

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Chapter 8. Komut düzeyi kontrol yapıları ISBN

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

Programlama Dilleri 1. Ders 4: Diziler

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Bölüm 3 Yapısal Programlama

Pointers (İşaretçiler)

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

PASCAL PROGRAMLAMA DİLİ YAPISI

Dr. Fatih AY Tel: fatihay@fatihay.net

BİL-142 Bilgisayar Programlama II

C Programlama printf() Fonksiyonu

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe

PROGRAMLAMAYA GİRİŞ DERS 2

Transkript:

C++ Statements En küçük çalışabilir birime statement (ifade) denir. Statements semicolon (;) ile sonlandırılır. Yalnız başına ; null statement ifade eder Örnek: while (*str++ = *inbuf++) ; { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur. Compound statement in ; ile sonlanma zorunluluğu yoktur (fakat sonlanırsabuhatadeğildir). 9/15/2007 Nesneye Yonelik Programlama 2.1

C++ control structures Control structures programınakışını koşula bağlı olarak değiştirir. goto koşulsuz istenilen konuma gitme if koşul doğruysa devamındaki ifadeyi çalıştır if-else İki yollu koşul while koşulu doğru olduğu sürece tekrarlanır for sayaç kontrollü tekrarlama do-while koşul doğruysa tekrarla (en az bir kere) switch çok yollu dallanma 9/15/2007 Nesneye Yonelik Programlama 2.2

goto statement Koşulsuz istenilen konuma gitme (Unconditional jump) goto <statement label> Örnek: count = count + 1; goto exitpoint; exitpoint: return 0; 9/15/2007 Nesneye Yonelik Programlama 2.3

9/15/2007 Nesneye Yonelik Programlama 2.4

Structured programming Structured programming (Yapısal programlama) bir programlama disiplinidir. sadece high-level (yüksek) seviyeli kontrol yapıları kullanılır goto ifadesini kullanmaktan kaçınılır. Boehm ve Jacopini, sadece if-else ve dowhile yapıları kullanılarak programlama yapılabileceğini göstermiştir (1966). 9/15/2007 Nesneye Yonelik Programlama 2.5

if control structure if (grade >= 60) cout << Passed ; if(x>y) { } 9/15/2007 Nesneye Yonelik Programlama 2.6

if-else control structure if (<expression>) <if-statement> else <else-statement> Örnek: if (grade >= 60) cout << Passed ; else cout << Failed ; 9/15/2007 Nesneye Yonelik Programlama 2.7

9/15/2007 Nesneye Yonelik Programlama 2.8

Conditional (?:)) Operator C++ daki tek ternary operator (üçlü operatör) if-else kontrol yapısıyla ilgilidir <expr>? <True-statmt> : <False-statmt> Örnek: cout<< (grade >= 60? Passed : Failed ); Dahaönceverilenif-else örneğiyle aynı işvlevi görür ama fark olarak bir sonuç ürettiğine dikkat edilmelidir. 9/15/2007 Nesneye Yonelik Programlama 2.9

while control structure while (<expression>) statement ; 9/15/2007 Nesneye Yonelik Programlama 2.10

örnekler int product = 2; while (product <=1000) product = 2 * product; int dummy; while (true) { cin >> dummy; cout << dummy * 2 << endl } // end while 9/15/2007 Nesneye Yonelik Programlama 2.11

C++ daki Assignment Operators Syntax Örnek Anlamı += c += 7; c = c + 7; -= d -= 4; d = d 4; *= e *= 5 e = e * 5; /= f /= 3 f = f / 3; %= g %= 9 g = g % 9; 9/15/2007 Nesneye Yonelik Programlama 2.12

Increment ++ ve Decrement -- Operators örnek isim Anlamı ++a Preincrement a yi 1 artır ve sonra a nın (Önceden artır) değerini ifadede kullan b++ Postincrement b nin değerini ifadede (Sonradan artır) kullan ve sonra b yi 1 artır --c d-- Predecrement (Önceden azalt) Postdecrement (Sonradan azalt) 9/15/2007 Nesneye Yonelik Programlama 2.13

for control structure Kullanım şekli: for ( <expr1>; <expr2>; <expr3>) <statement> <expr1> sayaç değişkeninin baslangıçdeğeri atanması <expr2> döngü devamlılık koşulu <expr3> sayaç değişkeninin artım ifadesi Bu ifadenin while karşılığı: <expr1> while ( <expr2>) { <statement> <expr3> } 9/15/2007 Nesneye Yonelik Programlama 2.14

for Kontrol yapısı Örnek: int count; for (count=1; count <= 10; count++) cout << count <<endl; Örnek: for (int i=1; i<=100; i++) for (int i=100; i>=1; i--) for (int i=7; i<=77; i+=7) for (int j=99; j>=0; j-=11) 9/15/2007 Nesneye Yonelik Programlama 2.15

do-while control structure do <statement> while ( <expression>) 9/15/2007 Nesneye Yonelik Programlama 2.16

do-while # include <iostream> using namespace std; int main( ) { int counter = 1; do { cout << counter++ << ; }while (counter <= 10) cout << endl; return 0; } 1 2 3 4 5 6 7 8 9 10 9/15/2007 Nesneye Yonelik Programlama 2.17

continue statement En yakın while, do veya for döngüsünün aktif iterasyonunun sonlanmasına neden olur. while ve do döngüleri kontrol ifadelerinin doğruluğuna göre devam ederler veya sonlandırılırlar. for döngülerinin çalışması <expr2> deki şartın sağlanmasına bağlı olarak yerine getirilir. while (cin >> integer) { if (integer >= 100) continue // process number under 100 } // end while 9/15/2007 Nesneye Yonelik Programlama 2.18

break ifadesi En yakın while, do, for veya switch ifadesini sonlandırır. Program akışı sonlanan döngü ifadesinden sonra gelen ifade ile çalışmaya devam eder. for (int x=1; x <=10; x++) { if (x == 5) break; // process the non-five value of x cout << x << ; } // end for 9/15/2007 Nesneye Yonelik Programlama 2.19

9/15/2007 Nesneye Yonelik Programlama 2.20

switch kontrol yapısı switch ( <expression> ) { case <value_1>: <statement_1> break; case <value_2>: <statement_2> break; case <value_3>: <statement_3> break; default: <default_statement> break; }; // en switch 9/15/2007 Nesneye Yonelik Programlama 2.21

9/15/2007 Nesneye Yonelik Programlama 2.22

Mantıksal Operatörler Koşula bağlı kontrol yapıları koşula bağlı olarak program akışının nereden devam etmesi gerektiğine karar verirler. C++ da 3 tane mantıksal operatör vardır Örnek İsim Öncelik! expr1 Mantısal negatifleme Yüksek expr2 && expr3 Mantıksal VE Orta expr4 expr5 Mantıksal VEYA Düşük 9/15/2007 Nesneye Yonelik Programlama 2.23

!, && ve!expr1 Eğer expr1 false ise,!expr1 true değerini alır expr2 && expr3 Eğer expr2 ve expr3 nin her ikisi de true ise, expr2 && expr3 true olur. Aksi halde false expr4 expr5 Eğer expr4 ve expr5 den en azından biri true ise expr4 expr5 true değeri alır. Aksi halde false 9/15/2007 Nesneye Yonelik Programlama 2.24

Mantıksal İfade Örnekleri! true && false! ( true && false) true false && true false true && false false (false true) && (false true) false true true false true 9/15/2007 Nesneye Yonelik Programlama 2.25

Virgül Operatörü (,) Virgül operatörü birden fazla ifadeyi birleştirmek için kullanılır., ile birbirine bağlanmış ifadelere virgül ifadeleri (comma expression) denir. Virgül ifadelerindeki ifadelerlar soldan sağa doğru işlem görürler. En sağdaki ifadeninin değeri virgül ifadesinin değerine eşittir. Örnek: b = (a=2, a=5, a+2 ); for (i=1, j=20; i<= 19, j-- ) 9/15/2007 Nesneye Yonelik Programlama 2.26

C++ da Data Abstraction Bilgisayarlar donanım destekli, üzerlerinde doğrudan işlem yapılabilen bir kaç tip doğal veri tipine (native data types) sahiptir. Bits, bytes, words, long words Integers, booleans, floating point Diğer veri tipleri bu doğal veri tiplerinden yararlanarak oluşturulurlar (data abstraction) Türetilmiş veri tipleri (Derived data types) (arrays, pointers, structures, classes, ) veri soyutlaştırma (data abstraction) desteğiyle oluşturulurlar. 9/15/2007 Nesneye Yonelik Programlama 2.27

9/15/2007 Nesneye Yonelik Programlama 2.28

9/15/2007 Nesneye Yonelik Programlama 2.29

Tip Deklarasyonu (Type( Declaration) int i, j, k; int i=5, j=7; bool alarm_status = false; char ch1= a, ch2= b ; float sample_mass; const double pi=3.14159265358979 int main( ); float f ( int ); void g (int, float ); 9/15/2007 Nesneye Yonelik Programlama 2.30

Aritmetik Veri Tipleri Integral data types (tamsayı veri tipleri) bool unsigned (char, short, int, long) enumeration (user-defined) signed (char, short, int, long) Floating point data types (kayan nokta veri tipleri) float double long double 9/15/2007 Nesneye Yonelik Programlama 2.31

Boolean Type (bool( bool) Tipi boolean olan bir data, iki değerden birini alablir: true veya false Verilerin Tamsayı (integers) tipinden boolean tipine dönüştürülmeleri halinde (Örneğin, Kontrol yapısındaki aritmetik ifadeler) 0 false Sıfırdan farklı tamsayılar true ya dönüştürülür. 9/15/2007 Nesneye Yonelik Programlama 2.32

Karakter Tipi, Character type (char) char tipi değişkenler karakter katarlarını tutarlar. Karakter katarları harfler (büyük veya küçük harfler), rakamlar, noktalama işaretleri, semboller, keçış karakterleri (örneğin, yeni satır (line-feed), zil sesi (sound the bell)), biçim (örneğin, yatay girinti (tab), satır sonu (end-of-text)) temsil ederler ASCII, 128 taneden oluşan 7 bitlik karakter kodlarının düzenlenmesine imkan verir. 9/15/2007 Nesneye Yonelik Programlama 2.33

Örnek #include <iostream.h> using namespace std; int main ( ) { char c; cin >> c; cout << The value of << c << is << int (c) << endl; } 9/15/2007 Nesneye Yonelik Programlama 2.34

signed ve unsigned char Bilgisayarlar karakterler için 8 bit (1 byte) hafıza bloğu kullanırlar. char 0,, 127 değerlerin karakter karşılıklarını garanti eder. Bu aralığın dışındaki değerler bilgisayarın dizaynına bağlıdır. unsigned char 0,, 255 signed char -128,., 127 9/15/2007 Nesneye Yonelik Programlama 2.35

Character constants char c = a ; char digit = 4 ; char newline = \n ; char tab = \t ; 9/15/2007 Nesneye Yonelik Programlama 2.36

Tamsayı Tipleri - Integer types Üç değişik şekli: int, signed int, unsigned int int -işaretli tamsayı unsigned int -işaretsiz tamsayı (positive) signed int - int le eşanlamlı signed - signed int le eşanlamlı unsigned - unsigned int le eş anlamlı Üç değişik boylu: short int, int, long int short int - en az 16 bit boyunda int - 32 bit olabilir long int - en az 32 bit boyunda short - short int le eş anlamlı long - long int le eş anlamlı 9/15/2007 Nesneye Yonelik Programlama 2.37

Tamsayı Sabitler - Integer constants Decimal Octal Hexadecimal 0 00 0x0 2 02 0x2 63 077 0x3f 83 0123 0x53 L, long int i gösterir 34L U, unsigned int i gösterir 43U 9/15/2007 Nesneye Yonelik Programlama 2.38

Floating-point types C++ üç tip Kayan nokta gösterimine (floating point data type) sahiptir: float - single precision double long double - double precision - extended precision Kayan nokta sabitleri 1.23, 0.23, 1.2e10, 1.23e-13 varsayılan olarak bu sabitlerin tipi double dir. Kayan nokta sabitler f veya F ile belirlenir: 2.05f, 3.14159F 9/15/2007 Nesneye Yonelik Programlama 2.39

Tip Dönüştürme D (static_cast tatic_cast) Hesaplama veya değerlendirme (Evaluation) sırasında bir değişkenin tipinin değiştirilmesi işlemine tip dönüştürme (casting) denir. C de tip dönüştürme daha güçlü olmakla beraber tehlikelidir. Kullanımı: static_cast <tip> (değişken) Örnek: static_cast <float> (total) 9/15/2007 Nesneye Yonelik Programlama 2.40

// Example of static_cast use #include <iostream> #include <iomanip> using namespace std; int main ( ) { int total = 0, gradecounter = 0, grade; float average = 0.0; cout << "Enter grade, -1 to end "; cin >> grade; while ( grade!= -1 ) { total += grade; gradecounter++; cin >> grade; } if ( gradecounter!= 0) { average = static_cast<float>(total) / gradecounter; cout << "Class average is " << setprecision(2) << setiosflags (ios::fixed ios::showpoint) << average <<endl; } else cout << " No grades were entered" << endl; system("pause"); return 0; } 9/15/2007 Nesneye Yonelik Programlama 2.41

Bir tipin in bellekte kapladığı alanı (size) belirlemek Bazen belli bir tipteki verinin bellekte kapladığı alanı belirlemek gerekli olur. C++, bir degiskenin bellekte kapladığı alanı bir karakterin bellekte kapladığı alan cinsinden verebilir. Bunun için C++ sizeof operatörüne sahiptir. sizeof (char ) = 1 sizeof (char ) <= sizeof (short ) <= sizeof ( int ) <= sizeof (long) sizeof ( float ) <= sizeof (double ) <= sizeof (long double ) sizeof ( int ) < = sizeof (signed int ) <= sizeof (unsigned int ) 9/15/2007 Nesneye Yonelik Programlama 2.42

Enumeration Types Bazen sonlu sayıda tamsayı değeri alabilen yeni tipler oluşturmak faydalı olabilir. Örnek: {red, yellow, blue} Bunun için C++ da enumerated data type tanımlamak mümkündür enum color {red, yellow, blue}; Varsayılan olarak 0, 1, 2,. tamsayıları birinci, ikinci, üçüncü,. elemanlarla eşleştirilir. color door_color = color (2); // blue Aritmetik işlemlerinde enumerated tipler tamsayılara dönüştürülür (yellow + 1 == 2) işleminin sonucu true dur. 9/15/2007 Nesneye Yonelik Programlama 2.43