ELN1001 BİLGİSAYAR PROGRAMLAMA I



Benzer belgeler
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é

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

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

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

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

PROGRAMLAMAYA GİRİŞ DERS 2

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

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

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

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

BMT 106 Algoritma ve Programlama II Bahar Dönemi

Sınav tarihi : Süre : 60 dak.

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

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

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

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

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

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

Genel Programlama II

Temel Giriş/Çıkış Fonksiyonları

Temel Dosya İşlemleri. Kütük Organizasyonu 1

Eln 1001 Bilgisayar Programlama I

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

Hafta 8 C Dilinde Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

C PROGRAMLAMA D İ L İ

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

C Programlama Dilinde Değişkenler

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

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

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

C Programlama Dilininin Basit Yapıları

Ders 2: Veri Tipleri, Değişkenler ve Sabitler

Bigisayar Programlama

1 PROGRAMLAMAYA GİRİŞ

C Programlama printf() Fonksiyonu

C Programlama. Öğr. Grv. Mustafa AKSOĞAN. Akçadağ MYO

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

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

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir.

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

PASCAL PROGRAMLAMA DİLİ YAPISI

HSancak Nesne Tabanlı Programlama I Ders Notları

Fonksiyonlar (Altprogram)

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

C Konsol Giriş Çıkış Fonksiyonları

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

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

Programlama Dilleri 1. Ders 4: Diziler

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Hafta 13 Fonksiyonlar

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

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

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA

Temel Bilgisayar Programlama

Dr. Fatih AY Tel: fatihay@fatihay.net

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

ELN1001 BİLGİSAYAR PROGRAMLAMA I

BÖLÜM 11: YAPISAL VERİ TİPLERİ

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

DOSYA İŞLEMLERİ Programlama dilleri hafta -

YZM 2105 Nesneye Yönelik Programlama

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

C++ Dersi: Nesne Tabanlı Programlama

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

ALGORİTMA VE PROGRAMLAMA II

2 ISINMA TURLARI - DERLEYİCİ VE DERLEME KAVRAMLARIYLA BİRLİKTE GCC DERLEYİCİSİNE BİR BAKIŞ

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

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

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

Nesne Yönelimli Programlama

PROGRAMLAMA. Dosyalama İşlemleri. Yrd. Doç. Dr. Bülent Çobanoğlu. Sakarya Üniversitesi Mekatronik Mühendisliği. Yrd.Doç.Dr.

Yrd. Doç. Dr. Caner ÖZCAN

Giriş. ENF102 Jeoloji

BİL1001 Bilgisayar Bilimlerine Giriş 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

ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING)

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

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

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

8. İŞARETCİLER (POINTERS)

Nesne Tabanlı Programlama

BMB1002 Bilgisayar Programlamaya Giriş. Dosyalar. Prof. Dr. Necmettin Kaya

Nesne Tabanlı Programlama

/*int sayi1, sayi2,toplam=0;

C Dosyalama. Öğr. Gör. M. Ozan AKI. Rev 1.0

Temel Bilgisayar Programlama

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Programlama Dillerinde Kullanılan Veri Tipleri

Programlama Dilleri III 1

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING)

10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI

Transkript:

ELN1001 BİLGİSAYAR PROGRAMLAMA I C & C++ İlk Program Sabitler, Değişkenler Veri Tipleri, Operatörler Koşullar ve Karar Verme C & C++ C++, 80 li yılların başında AT&T Bell Laboratuarlarında geliştirilmiştir. C++ 1998 yılında standardize edilmiştir. C++ programlama dili C programlama dilinin geliştirilmiş halidir. C++ programlama dili ile nesne yönelimli programlar yazmak mümkündür. C++ diline başlamadan önce C dilinin temel özelliklerini öğrenmek gerekmektedir. 1

C & C++ İlk Program : mil_km_donustur.cpp Önişlemci Direktifleri Açıklama Satırları Kütüphaneler H Header Dosyaları Sabitler Anahtar Kelimeler Ana Fonksiyon Değişkenler Standart Tanıtıcılar Dönüşüm belirteçleri Operatörler Noktalama İşaretleri 2

Açıklama Satırları Açıklama satırları, program yazımında zorunlu olmayan, satırların hangi görevi yaptığını, fonksiyonun ne görev yaptığını veya programda nereye gelindiğini açıklayan ifadelerdir. Derleme esnasında derleyici açıklama satırlarını değerlendirmeye almaz. C tarafından iki tip açıklama bloğu iki tipte tanımlanır: Birden fazla satır için /* AÇIKLAMA */ Tek satırda bitecek ise // AÇIKLAMA veya /* AÇIKLAMA */ Açıklama satırları programla ilgili dökümantasyonun parçalarıdır. Kütüphaneler H Header Dosyaları Programlamada, özellikle C ve C++ programlama dillerinde, header veya include dosyası, genellikle kaynak kodu formundaki dosyalardır. Bir başka kaynak kodunun içine derleyici tarafından otomatik olarak dahil edilirler. Genel olarak header dosyaları, kullanıldığı herhangi bir başka kaynak kodunun başlangıcında(head) derleyici direktifleri ile dahil edilirler. Yaygın olarak altrutinleri, fonksiyonları, değişkenleri ve tanıtıcıları içerirler ve kullanıldığı kaynak kodunun kullanımına açarlar. C ve C++ dillerinde standart kütüphane fonksiyonları, geleneksel olarak header dosyalarında tutulur. 3

C Standart kütüphanesi Header dosyaları assert.h complex.h ctype.h errno.h fenv.h float.h inttypes.h iso646.h limits.h locale.h math.h setimp.h Signal.h stdarg.h stdbool.h stddef.h stdint.h stdio.h stdlib.h string.h tgmath.h time.h wchar.h wctype.h stdio.h kütüphanesi fonksiyonları fclose fopen freopen fdopen femove fename fewind tmpfile clearerr feof ferror fflush fgetpos fgetc fgets fputc fputs ftell fseek fsetpos fread fwrite getc getchar gets printf vprintf fprintf vfprintf sprintf snprintf ssprintf perror putc putchar fputchar scanf vscanf fscanf vfscanf sscanf vsscanf setbuf setvbuf tmpnam ungetc puts_(c) 4

Önişlemci Direktifleri Önişlemci direktifleri, derleme işlemi öncesinde, programın yazımını yeniden düzenleyen C önişlemcisine iletilen komutlardır. Önişlemci direktifleri diyez - # karakteri ile başlar, arkasından önişlemci direktifi ve gerekli argümanlar gelir. Üç temel direktif kullanılabilir: Header dosyalarını kaynak koduna dahil etmek için #include direktifi: #include <stdio.h> veya #include stdio.h Makro ve sabit tanımlamaları için #define direktifi: #define MIL_KM 1.609 #define MIL_KM(x) ((x) *1.609) Koşullu derleme için #if direktifi: #if, #ifdef, #ifndef, #else, #elif ve #endif direktifleri koşullu derleme içindir. Önişlemci Direktifleri Önişlemci, header dosyasının içeriğini yazıldığı noktadan itibaren programa ekler. Önişlemci direktifi, kendisini takip eden kod için geçerlidir. Bu sebeple genellikle programın başına yazılırlar. Bir programda birden fazla önişlemci direktifi bulunabilir. Bu durumda her direktif ayrı bir satırda ifade edilir. #include <stdio.h> #include <math.h> #define MIL_KM 1.609 5

#define önişlemci direktifi ve sabitler #define önişlemci direktifi, genellikle kaynak kodunda karışıklıktan kurtulmak ve kaynak kodunun daha anlaşılır olmasını sağlamak için, uzun nümerik ifadelerin veya karakter dizilerinin yerine kısa anlaşılır ifadeler yerleştirmek için kullanılır. Örnek: #define MIL_KM 1.609 km=mil_km*mil; (mil*1.609 yerine) #define PI 3.14159 alan=pi*r*r (3.14159*r*r yerine) SABİTLER Tamsayı sabitler 123, -31, 0, 562321, +78 Reel sayı sabitler 0.00026, -0.97, 435.29, +487.0 Tek karakterli sabitler a, 2, ;,!, @ Dizi Sabitleri Uludağ Üniversitesi, Mühendislik Mimarlik Fakültesi, Elektronik Mühendisliği Bölümü Oda No:432 6

Önceden Tanımlı Ters bölü Karakter Sabitleri Escape Sequences Sabit \a \b \f \n \r \t \v \ \ \? \\ \o Anlamı Çan sesi (Sesli alarm) Geri boşluk (Backspace) Sayfa ileri(formfeed) Yeni satır Satırbaşı (Carriage return) Yatay tab (Horizontal tab) Düşey tab (Vertical tab) Tek tırnak (Single quote) Çift Tırnak (Double quote Soru işareti Ters Bölü (Back slash) Boş karakter (NULL) Printf( Mil olarak mesafeyi giriniz:\n ); Printf( Dikkat:\a ); Printf( Mesafeyi giriniz:\n\a ); Printf( Bir\n\İki\n\Üç\n\a ); Bir İki Üç Printf( Bir\t\İki\t\Üç\t\a ); Bir İki Üç Anahtar Kelimeler Programlama dillerinde, dilin kullandığı ve programcının farklı bir amaç için kullanamayacağı kelimelere anahtar kelimeler adı verilmektedir. Programcı, bu anahtar kelimeleri, asıl amacı dışında, örneğin değişken tanımlamak, sabit tanımlamak, fonksiyon tanımlamak gibi amaçlar için asla kullanamaz. Bütün anahtar kelimeler, dilin yapısına uygun şekilde kullanılmalıdır. 7

Anahtar Kelimeler (C) auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile Anahtar Kelimeler (C++) asm auto bool break case catch char class const const_cast continue default delete do double dynamic cast else enum explicit export extern false float for friend goto if inline int long mutable namespace new operator private protected public register reinterpret_cast return short signed sizeof static static_cast struct switch template this throw try typedef typeid typename union unsigned using virtual void volatile wchar_t while 8

Ana Fonksiyon - MAIN Bir program bir veya daha fazla fonksiyonun bir araya gelmesiyle oluşur. Bir C programını çalıştırmak için, kaynak kodunda bir main fonksiyonu bulunması zorunludur. Fonksiyon bloğu fonksiyon ismi(fonksiyonun giriş ve çıkış veri tiplerini içerir), ve bunun arkasından gelen bir çift küme parantezinden oluşur. Ana Fonksiyon - MAIN int main (void) { } Parantez içerisinde fonksiyonun kabul edeceği girişler listelenirken, küme parantezleri içinde fonksiyonun yerine getireceği deyimler ve komutlar yer alır. Bu deyimler ve komutlar fonksiyonun gövdesini teşkil eder. C de her deyim veya komut noktalı virgül ; ile sonlandırılır. Fonksiyonun gövdesi, kullanıcı tanımlı fonksiyonlar veya C nin kendi standart kütüphanesinden fonksiyonların çağrılmasıyla oluşturulabilir. Kullanıcı tanımlı fonksiyonlar genellikle main fonksiyon bloğunun bitiminden sonra tanımlanabilir. 9

Örnek C Programı: Kullanıcı tanımlı Fonksiyonlar #include <stdio.h> int topla(int a,int b); float bol(int a, int b); main() { int x,y,z; float f; printf( Ilk sayiyi giriniz:\n ); scanf( %d,&x); printf( Ikinci sayiyi giriniz:\n ); scanf( %d,&y); z=topla(x,y); f=bol(x,y); printf( İki sayinin toplami=%d,x); printf( Sayilarin bölümü=%f,f); } int topla(int a, int b) { int g; g = a+b; return g; } float bol(int a, int b) { float g; g = a/b; return g; } x y z f 28 7 35 RAM 4.000000 g 35 4.000000 DEĞİŞKENLER Oluşturulan programın kendi iç işlemlerini yaparken, veri girişlerini aldığı ve üzerinden kullanıcılara sonuçları gönderdiği, program elemanlarına değişken adı verilir. Programın, değişkenleri program esnasında kullanabilmesi için değişkenlerin programın başında veya fonksiyon başlarında tanıtılması gerekmektedir. Değişken tanımlama işlemi ile: Derleyiciye program içerisinde kullanılacak tüm değişkenlerin isimlerini bildirilir. Program içinde kullanım amacına göre değişkenin tipi belirlenir. Değişken bir veri tipi almak zorundadır. Değişkenin hafıza üzerinde kullanacağı alan da seçilen veri tipi ile belirlenecektir. 10

VERİ TİPLERİ Rakamlar Birleşerek sayıları oluşturur. Sayılar: Tamsayılar Gerçel Sayılar Harfler Birleşerek yazıları oluşturur. Yazılar: Kelimeler VERİ TİPLERİ - TAMSAYILAR Tamsayılar int Pozitif ve negatiflik kriterine göre int işaretli tamsayı (hem pozitif hem negatif olabilir) unsigned int işaretsiz tamsayı (yalnızca pozitif) Hafızada kapladığı yere göre short kısa tamsayı (Hafızada 2 byte ile temsil edilir) long uzun tamsayı (Hafızada 4 byte ile temsil edilir) int veri tipi tanımlamarı: int Derleyiciye göre 2 veya 4 byte olarak değerlendirilir. unsigned int short int Derleyici int i 2 byte olarak kabul ederse etkisizdir. Aksi takdirde 2 byte olarak değerlendirilir. short unsigned int long int Derleyici int i 4 byte olarak kabul ederse etkisidir. Aksi takdirde 4 byte olarak değerlendirilir. long unsigned int 11

VERİ TİPLERİ - TAMSAYILAR int Tür ismi signed int unsigned int short int short unsigned int long int long unsigned int Uzunluk 2 (4) 2 (4) 2 2 4 4 Sınır Değerleri -32.768 32.767-2.147.483.648 2.147.483.647 0 65.535 0 4.294.967.295-32.768 32.767 0 65.535-2.147.483.648 2.147.483.647 0 4.294.967.295 VERİ TİPLERİ GERÇEL SAYILAR Gerçel Sayılar Hafızada kapladığı yere göre float 4 byte uzunluğunda double 8 byte uzunluğunda long double 10 byte uzunluğunda long, short, signed, unsigned float ile birlikte kullanılmaz. float tipi noktadan sonra 6 rakam depolarken, double tipi (long veya short) 12 rakam depolar. 12

VERİ TİPLERİ GERÇEL SAYILAR float, double, long double Tür ismi float double long double Uzunluk 4 8 10 Sınır Değerleri -10-38 -10 38 10-38 10 38-10 -308-10 308 10-308 10 308-10 -4932-10 4932 10-4932 10 4932 VERİ TİPLERİ HARFLER Harfler Depolayabildiği değere göre char (veya signed char) 1 byte -128 127 arasında değer alır. Unsigned char 1 byte 0 255 arasında değer alır. Tek karakter depolamak için kullanılır. Küçük harf büyük harf ayrı değerlendirilir. 13

VERİ TİPLERİ - VOID Fonksiyonlar tarafından kullanılır, değer olmaması anlamına gelir: void fonksiyon1 (void) Ne değer alır ne de değer döndürür. int fonksiyon1 (void) Bir değer almaz ama fonksiyonun başarı ile tamamlandığını gösteren bir değer döndürür. void fonksiyon1(int) Çalışırken üst fonksiyondan değer alır, ama fonksiyonun tamamlandığını gösteren bir değer döndürmez. DEĞİŞKENLER İSİMLENDİRME KURALLARI C de bütün değişkenler bir harf veya altçizgi karakteri (_) ile başlamak zorundadır. İlk karakterden sonra harfler, rakamlar veya altçizgi karakteri (_) gelebilir. Özel karakterler (#,$,@,%,, ) ve Türkçe karakterler (ş,ğ,ı,ş,ç,ü, ) hiçbir şekilde değişken isimlendirme de kullanılamaz. Değişken adının ilk 31 karakteri değerlendirilir. 31. karakterden sonrakiler dikkate alınmaz. Büyük harf, küçük harfle aynı değildir. int deger int Deger ayrı ayrı değişkenler olarak algılanır. C nin anahtar kelimeleri değişken adı olarak kullanılamaz. Sabitler in isimlendirmesinde de değişkenlerin isimlendirilmesi kuralları geçerlidir. Fakat, sabitlerin isimlendirilmesinde yaygın olarak büyük harf kullanılmaktadır. 14

SABİT ve DEĞİŞKENLERİN BİLDİRİMİ Sabit ve değişkenler bilgisayar hafızasında (RAM), program çalıştığı sürece tutulur. Kullanılacak her sabit ve değişken için hafızadan ne kadar yer ayrılacağı tanımlanmalıdır. Değişken ve sabitlere ayrılacak hafıza alanının derleyiciye tanıtılmasına sabit ve değişkenlerin bildirimi (declaration of constants and variables) adı verilmiştir. Bir sabit veya değişken kullanılmadan önce bildiriminin yapılması zorunludur. Bildirim, sabit veya değişkenin ismiyle, veri tipinin birleştirilmesi sonucu gerçekleştirilir: int mil; float km; char ilk_harf; const float PI=3.14; SABİT ve DEĞİŞKENLERİN BİLDİRİMİ Değişken bildirimi yapıldığı esnada, değişkene ilk değer ataması yapılabilir: float ara_toplam=0; Sabit değer ataması yapılırken değer ataması zorunludur. Sabit değerin içeriği programın çalışması esnasında değiştirilemez. 15

TANITICILAR Neyi tanıtır? Değişken Fonksiyon Değişkenler ve sabitler açısından bildirimle aynı anlama gelmektedir. Fonksiyonların tanıtımında değişken ve sabitlerin bildiriminde geçerli olan kurallar aynen geçerlidir. İki tip fonksiyon tanıtıcısı vardır: Standart tanıtıcılar: C standart kütüphanelerinden gelen fonksiyonlar: printf scanf Kullanıcı tanımlı tanıtıcılar: Kullanıcılar tarafında oluşturulan kütüphanelerden gelen veya program içinde oluşturulmuş fonksiyonlar. int topla(x,y) int bol(x,y) DÖNÜŞÜM BELİRTEÇLERİ Karakter dizisi içerisinde sıradakinin dönüşüm belirteci olduğu, derleyiciye % işareti ile bildirilir. scanf( %lf,&mil); printf( Mesafe = %f km.\n,km); printf("%c", 'a') printf("<%3c %-3c>", 'a', 'b') printf("%e", 31.4) printf("%.2e", 31.4) printf("%f", 31.4) printf("%.0f %#.0f", 31.0, 31.0) printf("%s", merhaba") a < a b > 3.140000e+01 3.14E+01 31.400000 31 31 merhaba 16

Operatörler Değişkenler ve sabitler üzerinde işlem yapabilmemize olanak verir. Aritmetik: +,-,*,/,%,++,-- İlişkisel: ==,!=,>,<,>=,<= Mantıksal:!,&&, Atama: =,+=,*=,-=,/=,%=,&=, =,^=,<<=,>>= Bit bit: &,,^,~,<<,>> Diğerleri Operatörler - Aritmetik + - * / % ++ -- Toplama Çıkarma Çarpma Bölme Modülo 1 arttır 1 eksilt Modülo: //bölme işlemi sonucunda kalanı bulur. sonuc=7%3; //sonuc 1 olacaktır. 1 arttır: //aşağıdaki iki satır birbiriyle aynı işi yapar. toplam=toplam + 1; //sonuc 1 olacaktır. toplam++; 17

Operatörler -İlişkisel ==!= > < >= <= Eşittir Eşit değildir Büyüktür Küçüktür Büyük veya eşittir Küçük veya eşittir 7 == 3 7 == 7 7!= 3 7 > 3 7 < 3 7 >= 7 7 <= 7 7 <= 9 //yanlış sonucunu verir. //doğru sonucunu verir. //doğru sonucunu verir. //doğru sonucunu verir. //yanlış sonucunu verir. //doğru sonucunu verir. //doğru sonucunu verir. //doğru sonucunu verir. x*y > z x == 10 x + 3 <= 10 Operatörler - Mantıksal! && Değil Ve Veya! Mantıksal DEĞİL operasyonu! //yanlış sonucunu üretir.!false //doğru sonucunu üretir.!(7<3) //doğru sonucunu üretir. && Mantıksal VE operasyonu a false a false false b false false false false Mantıksal VEYA operasyonu b false false a&&b false false a b false 18

Operatörler - Bit bit Değişkenlerin değerleri hafızada bit dizisi olarak saklanmaktadır. Örn. 35 0010 0011 Bit bit operatörler değişkenlerin bit dizisi halini göz önünde bulundurur. & ^ ~ << >> Bit bit VE Bit bit VEYA Bit bit EXOR Bit bit TERSLEME Sola kaydırma Sağa Kaydırma 0010 0011 (35) & 0110 0101 (101) ------------------- 0010 0001 (33) Operatörler - Atama = += *= - = /= %= &= = ^= <<= >>= x = 10 x += 10 x *= 10 x - = 10 x /= 10 x %= 10 x &= 10 x = 10 x ^= 10 x <<= 10 x >>= 10 x değişkenine 10 değerini atar. x değişkenini 10 ile toplayıp sonucu x değişkenine yazar. x değişkenini 10 ile çarpıp sonucu x değişkenine yazar. x değişkeninden 10 çıkartıp sonucu x değişkenine yazar. x değişkenini 10 a bölüp sonucu x değişkenine yazar. x değişkenini 10 a bölüp kalanı x değişkenine yazar. x değişkeniyle 10 değerinin bit bit VE sonucunu x yazar. x değişkeniyle 10 değerinin bit bit VEYA sonucunu x yazar. x değişkeniyle 10 değerinin bit bit XOR sonucunu x yazar. 10 değerini bit bit sola kaydırıp sonucu x değişkenine yazar. 10 değerini bit bit sağa kaydırıp sonucu x değişkenine yazar. 19

Operatör Önceliği Karmaşık ifadeler yan yana çok sayıda değişken, sayı ve operatör içerebilir. Z = x*y + 10*x*(4*y*y) + 5%2 x/y Bu durumda işlemlerin yapılması için bir sıralama olmalıdır. C programlama dilinde işlem sıralaması şu şekildedir. Öncelikle parantez içindekiler çalıştırılır. Eğer iç içe parantezler varsa en içteki parantezden işlem başlar. Aynı seviyedeki parantezler içinse işlem sıralaması soldan sağa doğrudur. Parantezin olmadığı operatörler için işlem sıralaması şu şekildedir. Operatör Önceliği * / % + - << >> < > <= >= ==!= & ^ && = *= Çarpma, Bölme, Modülo Toplama, Çıkarma Sola kaydırma, Sağa Kaydırma İlişkisel Operatörler Eşitlik Bit VE Bit XOR Bit VEYA Mantıksal VE Mantıksal VEYA Tüm atama operatörleri Soldan sağa Soldan sağa Soldan sağa Soldan sağa Soldan sağa Soldan sağa Soldan sağa Soldan sağa Soldan sağa Soldan sağa Sağdan sola Z = p * r % q + w / x - y 6 1 2 4 3 5 20

Noktalama işaretleri Noktalama işaretleri, derleyici açısından sözdizimsel anlama sahiptir. Program içindeki bütün deyimler, ; ile bitmelidir. Karakter dizileri, çift tırnak ( ) içinde sunulmalıdır. Programlama dili elemanları birbirlerinden virgülle ayrılırlar. printf( mesafe = %f km \n,km); Koşullar ve Karar Verme Program içinde akışın sağlanması için koşullar karşısında karar verme işlemleri gerçekleştirilir. Eğer koşul1 geçerliyse, karar karar1 olmalıdır. Eğer yağmur yağarsa, şemsiye kullanılmalıdır. Birden çok koşul aynı anda geçerli olabilir. Bu durumda bu koşullar birbirlerine mantıksal operatörlerle bağlanmalıdır. Eğer koşul1 geçerli ise VE koşul 2 geçerli ise karar2 uygulanmalıdır. Eğer yağmur yağıyorsa VE şemsiye yoksa(not!), kapalı bir yere sığınılmalıdır. Eğer hızı sınırını aştıysa VEYA kırmızı ışıkta geçtiyse, trafik cezası uygulanmalıdır. 21

Örnek Program1 Örnek Program 2 22