3. Ders Konuları
Programlamaya giriş: C Dili
Veri tipleri
Ekran Giriş/Çıkış komutları
Program kontrol ifadeleri
Döngüler
Fonksiyonlar
Pointer’lar
Stringler
5. Genel Kavramlar
TOC
Bilgisayarın Temel Birimleri
Bilgi Saklama
Bilgisayara İstediğimiz İşleri Nasıl Yaptırırız
C Programlama Dili Nedir?
C Programının Derlenmesi
8. Bilgisayarda Bilgilerin
Kodlanması
Bilgisayarda bilgiler, iki farklı durumun
belirlenmesi ile kodlanır.
Bu iki farklı durum:
Bir telden akım geçip geçmemesi,
Bir kartın delinip delinmemesi
Manyetik şerit üzerinde bir bölgenin N veya S kutup
Matematiksel olarak bu iki farklı durum
0(sıfır) ve 1 (bir) ile gösterilir.
9. Bilgi Saklama
Bir Bayt Bilgi Saklama
Bir bayt alanı içinde 256 (28) farklı bilginin saklanması mümkündür.
Bir Bit Bilgi Saklama
10. Bilgi Saklama
(101)2 = (1 x 22) + (0 x21) + (1 x 20)
(101)2 = (1 x 4) + (0 x 2) + (1 x 1) = (5)10
12. Problem çözme
Problem çözmede, soruna hemen girişmek
yerine, dikkatli ve sistematik yaklaşım ilke
olmalıdır.
Problem iyice anlaşılmalı ve mümkün olduğu
kadar küçük parçalara ayrılmalıdır.
13. “Discourse on Methods”
Descartes
Doğruluğu kesin olarak kanıtlanmadıkça, hiç birşeyi
doğru olarak kabul etmeyin; tahmin ve önyargılardan
kaçının
Karşılaştığınız her güçlüğü mümkün olduğu kadar
küçük parçalara bölün
Düzenli bir şekilde düşünün; anlaşılması en kolay
olan şeylerle başlayıp yavaş yavaş daha zor ve
karmaşık olanlara doğru ilerleyiniz
Olaya bakışınız çok genel, hazırladığınız ayrıntılı
liste ise hiçbir şeyi dışarıda bırakmayacak kadar
kusursuz ve eksiksiz olsun
15. Her algoritma aşağıdaki
kriterleri sağlamalıdır.
1.Girdi: sıfır veya daha fazla değer dışarıdan
verilmelidir.
2. Çıktı: En azından bir değer üretmeli
3. Açıklık: Her işlem(komut) açık olmalı ve
farklı anlamlar içermemeli
4. Sonluluk: Her türlü olasılık için algoritma
sonlu adımda bitmeli
5. Etkinlik : Her komut kişinin kalem veya
kağıt ile yürütebileceği kadar basit olmalı
16. 1. Başla
2. Ahizeyi kaldır
3. Sinyali kontrol et, sinyal yoksa arızaya haber ver ve 9. adım’a git
4. Eğer telefon numarası yurt dışında ise iki kere sıfır tuşuna bas ve
ülke ve alan kodunu tuşla, 6. adıma git
5. Eğer telefon numarası şehir dışında ise bir kere sıfır tuşuna bas ve
alan kodunu tuşla
6. Telefon numarasını tuşla
7. Eğer hat meşgul ise ya da cevap vermiyorsa 9. adıma git
8. Telefon konuşmasını gerçekleştir
9. Telefonu kapat
10. Bitiş
Algoritma
Örnek: Telefon Etmek
Bilgisayara İstediğimiz İşlemleri Nasıl Yaptırırız?
17. Bilgisayara İstediğimiz İşlemleri Nasıl Yaptırırız?
Komut
Koşul
Veri
Doküman
A
Başla/Bitir
İşlem (Process): Yapılması istenen işlemle ilgili tanımlamalar
Karar (Decision): Bir karara bağlı olarak farklı yolların izlenmesi
Veri (Data): Her farklı veri grubu için farklı isim verilmelidir.
Doküman: Çıktı olarak gösterilmek istenen veriler ve işlemler
Bağlantı: Büyük yazılımlarda bir sonraki sayfadaki işlemlerin
hangi noktadan devam edeceğini göstermesi
Başla/Bitir: Akış şemasının başlangıç ve bitiş noktaları
Akış Şeması
18. Bilgisayara İstediğimiz İşlemleri Nasıl Yaptırırız?
Başla
Ahizeyi kaldır
Sinyal
var mı?
Hayır Arızaya haber ver
Evet
Yurt
dışı mı?
İki kere sıfıra
bas ve ülke , alan
kodunu tuşla
Evet
Hayır
Şehir
dışı mı?
Bir kere sıfıra
bas ve şehir
kodunu tuşla
Evet
Telefon
numarasını
tuşla
Hayır
Telefon
konuşmasını
gerçekleştir
Telefonu kapat
Meşgul/
cevap yok?
Bitir
Evet
Hayır
Örnek: Telefon
Etmek
19. Yazılım(Software)
İşletim Sistemi
(MS Windows xx, Unix, IBM –OS, etc)
Database Programları
(Oracle, Sybase, MS SQL Server, etc.)
Office programları
(Word, Excel, Powepoint)
Programlama dilleri
(QBasic, Fotran, Pascal, C, C++, .Net etc.)
20. Programlama Dilleri Tarihçesi
(Sembolik kodlar)
Assembly (makina kodu)
FORTRAN (FORmula TRANslation –1954)
(matematiksel işlem ağırlıklı, bilgisayara bağımlılık
göstermeyen bilimsel çalışmalarda kullanılmak üzere)
COBOL (Common Business-Oriented Language)
(Bilgi depolamak ve işlemek)
Yüksek seviyeli diller (PL/I, Algol,
Pascal, Basic,...)
21. Dillerin Karşılaştırması
Düşük seviyeli Diller
Hızlıdır
Yüksek Seviyeli Diller
Kolay anlaşılır
Kolay yazılabilir
Her bilgisayarda uygulanabilir
Çok hızlı programlar yazmak mümkün olmamıştır
22. Programlama Dilleri Türleri
Sırasal diller (Q basic)
Yapısal Diller (pascal, C)
Nesne Yönelimli Diller (C++, Java, EIFELL,
.Net)
23. C’nin Kısa Öyküsü
1970 AT&T Bell Lab. Dennis M.Ritchie
B dili üzerine kurulu bir yapı
Unix işletim sisteminin yazımı için yaratıldı
Bell Lab., Akademik çevre, askeri proje
1975 yılından itibaren her yerde...
24. C’nin avantajları
C’de yazılan programlar Assembler’a göre daha
kısa zamanda yazılabilir, daha anlaşılabilir ve daha
hızlıdır
C derleyicileri sahip oldukları geniş fonksiyon
kütüphaneleri ve zengin işlemci grubu sayesinde
esnek bir yapıya sahiptir.
İfadelerden tasarruf sağlar:normal matematiksel
ifadeler, C’nin zengin operatörleri vasıtasıyla çok
daha kısa ve basit bir biçime getirilebilir.
Diğer sistemlere adapte edilebilen büyük
programlar hızlı bir şekilde kolayca yazılabildiği için
özellikle sistem programlamalarında tercih edilir.
25. C Programlama Dili Nedir?
Makine diliyle iki sayıyı toplamak:
01000011100011010000111000...
Assembly diliyle iki sayıyı toplamak:
LOAD X
ADD Y
STORE Z
• C derleyicisi bir çok farklı donanım üzerinde çalışabilir.
• C ile sistem üzerinde en alt düzeydeki fonksiyonlara erişilebilir
• C ile yazılmış olan programlar oldukça hızlı çalışabilmektedir.
26. C Programının Derlenmesi
1. Programın yazılması
2. Yazım kuralları kontrolü
3. Ön işlemcinin çalışması ve programın derlenmesi
4. Programın kütüphaneden kullanılan fonksiyonlar ile
bağlanması (Birleştirme)
5. Çalışabilen program kodunun elde edilmesi
6. Programın çalıştırılması
27. • C Programın fazları:
1. Edit
2. Preprocess
3. Compile
4. Link
5. Load
6. Execute
Önişlemci program
kodu işler
Loader programı
memori’ye yükler.
CPU her bir
Instruction’ı alır ve
execute eder
Compiler object code
yaratır ve hardiskte
saklar
Linker object
code libraries’e linkler
Loader
Primary Memory
Compiler
Editor
Preprocessor
Linker
Primary Memory
.
.
.
.
.
.
.
.
.
.
.
.
Dis
k
Dis
k
Disk
CPU
Dis
k
Dis
k
Program editör yazılır
ve harddiskte saklanır
32. Genel Kavramlar
return( ): Fonksiyonun çağrıldığı yere geri
dönmesini sağlar. main( ) fonksiyonu içinde
kullanılan return() komutu programın
sonlandırılarak işletim sistemine geri dönülmesini
sağlar.
35. Örnek Program
Ekranda “Bu benim ilk programim.” cümlesini görüntüleyecek
programı yazınız.
#include <stdio.h>
int main(void)
{
printf(“Bu benim ilk programim. “);
return(0);
}
Çıktı:
Bu benim ilk programim.
Genel Kavramlar
36. Yazım ve Noktalama Kuralları
Noktalı Virgül: Her komutun bittiği yer ‘;’
işareti ile belirtilir.
Ayraç İşaretleri: C dili bloklardan oluşur.
Bloklar ‘{‘ ve ‘}’ ayraç işaretleri içinde
belirtilen komutların bir araya gelmesi ile
oluşur.
Açıklama Satırları: Program içindeki
açıklamanın başlangıç ve bitiş noktaları
“/*” ve “*/” işaretleri ile belirlenmelidir.
#include <stdio.h>
int main(void)
{
printf(“Ilk program“);
return(0);
}
37. Yazım ve Noktalama Kuralları
include <stdio.h>
int main (void)
{
/*Bu program bilgisayarinizin ekranina
Merhaba Dunya kelimelerini yazar.*/
printf(“Merhaba Dunya”);
return(0);
/*Burasi programin sonudur*/
}
38. Yazım ve Noktalama Kuralları
Bir bloğu oluşturan tüm
komutlar ve açıklama
satırları ayraç işaretlerine
göre daha içeride yazılır.
Böylece blokların
birbirinden ayrılması ve
yazılan program kodunun
daha anlaşılır bir hale
gelmesi sağlanır.
include <stdio.h>
int main (void)
{
/*Bu program ekrana
Merhaba kelimesini
yazar.*/
printf(“Merhaba”);
return(0);
/*Burasi programin
sonudur*/
}
39. C Kütüphaneleri
Yapılan işin özelliğine göre programa dahil edilir.
Kodu daha önce yazılmış, programcının
kullanımına hazır fonksiyonları içerir.
Bu fonksiyonların her defasında tekrar tekrar
yazılması engellenmiş olur ve daha standart bir
yapıda yaygın olarak kullanımı sağlanır.
Standart girdi/çıktı: <stdio.h>
Matematiksel işlemler: <math.h>
Dizgiler: <string.h>
40. c kütüphaneleri
<STDIO.H>
clearerr Reset error indicators.error sinyallerini resetler
fclose Close a stream.yazdiginiz streami kapar
feof Check if End Of File has been reached.dosyanin sonunu kontrol eder
ferror Check for errors.erorleri kontrol eder
fflush Flush a stream.streami duzenler
fgetc Get next character from a stream.stream'de bir sonraki karakteri alir
fgetpos Get position in a stream.stream'in pozisyonunu alir
fgets Get string from a stream.stream'den diziyi alir
fopen Open a file.dosya acar
fprintf Print formatted data to a stream.stream'in icindekileri yazdirir
fputc Write character to a stream.streamin icine bir nesne girmenizi saglar
fputchar Write character to stdout.karakter yazar
fputs Write string to a stream.dizi yazar stream'e
fread Read block of data from a stream.stream'deki bilgileri okur
freopen Reopen a file using a different file mode.farkli modda dosya acar
fscanf Read formatted data from a stream.streamdeki bilgileri okur
fseek Reposition stream's position indicator.streamin pozisyonunu tekrar
belirler
fsetpos Reposition file pointer to a saved location.streamin gosterdigi yerin
pozisyonunu tekrar yapar we kaydeder
ftell Return the current position of the file pointer.eski gosterdigi yere geri
doner
fwrite Write block of data to a stream.bilgileri yazmanizi saglar streame
41. getc Get the next character.bir sonraki karakteri alir
getchar Get the next character from stdin.stdin de bir sonraki karakteri
alir
gets Get a string from stdin.stdin'den diziyi alir
getw Get the next int value from a stream.streamde degeri int olan
nesneyi alir
perror Print error message.eror msj ini ekrana yazar
printf Print formatted data to stdout.outputu yazar
putc Write character to a stream.stream e karakter yazar
putchar Write character to stdout.outputu yazar
puts Write a string to stdout.dizi yazar
putw Write an integer to a stream.integet=tamsayi yi streame yazar
remove Delete a file.dosyayi siler
rename Rename a file or directory.dosyaya yeni isim verir
rewind Reposition file pointer to the beginning of a stream.streami ilk
gosterdigi yere geri dondurur
scanf Read formatted data from stdin.girdiginiz herhangi birseyi okur
setbuf Change stream buffering.
setvbuf Change stream buffering.tampon deistirir
sprintf Format data to a string.dizinin formatini yazar
sscanf Read formatted data from a string.dizinyi formatina gore okur
tmpfile Open a temporary file.temp file i acar
tmpnam Generate a unique temporary filename.tek dosya ismi uretir
ungetc Push a character back into stream.karakteri streamin icine geri
alir
42. <STDLIB.H>
abort Abort current process returning error codeislemden cikar
abs Return absolute value of integer parametertmsayinin mutlak degeriyle doner
atexit Specifies a function to be executed at exitozellesmis fonksiyonu calistiri we cikar
atof Convert string to doublestringi double a cevirir
atoi Convert string to integerintegera cevirir
atol Convert string to longlong a cevirir
bsearch Binary search
calloc Allocate array in memoryhafizada yer acar
div Divide two integer values
ecvt Convert floating point value to string
exit Terminate calling processprogramdan cikar
fcvt Convert floating point value to string
free Deallocate dynamically allocated memoryhafizayi siler
gcvt Convert floating point value to stringnesneyi deisken bir strnge cevirir
getenv Get string from environmentortamdan strng alir
itoa Convert integer to stringdiziyi tamsayiya cevirir
labs Return absolute value of long integer parametermutlak deger tamsayiylar geri doner
ldiv Divide two long integer values2 tamsayiyi boler
lfind Linear search
lsearch Linear search
ltoa Convert long integer value to stringdiziyi long integera cevirir
malloc Allocate memory blockhafizada yer acar
max Return the greater of two parametersmaximum degerle geri doner
min Return the smaller of two parametersminimum degerle geri doner
putenv Create or modify environment variableyeni bir variable yaratir
qsort Sort using quicksort algorithmsort sralama yapar
rand Generate random numberkafadan sayi uretir
realloc Reallocate memory blockhafizada istediginiz sekilde yer acar
srand Initialize random number generatorkafadan uretilen sayiya deger werir
strtod Convert string to double-precision floating-point value
strtol Convert string to long integerdiziyi integer a cevirir
strtoul Convert string to unsigned long integer
swab Swap bytes
system Execute commandkodu calistirir
ultoa Convert unsigned long integer to string
43. <STRING.H>
memchr Search buffer for a charactertamponu karaktere gore arar
memcmp Compare two buffersiki tamponu karsilastirir
memcpy Copy bytes to buffer from buffertamponun boyutunu dierine kopylar
memmove Copy bytes to buffer from buffertamponun boyutunu dierine geciri
memset Fill buffer with specified charactertamponu ozel karakterlerle doldurur
strcat Append stringdizi ekler
strchr Find character in stringdiziden istediginiz karakteri bulur
strcmp Compare two stringsiki diziyi karsilastirir
strcoll Compare two strings using locale settingsiki diziyi yerel ayarlarla karsilastirir
strcpy Copy stringdizi kopyalar
strcspn Search string for occurrence of charcter setdizinin karakter kumesini werdiginiz occurrence e
gore arar
strerror Get pointer to error message stringdizinin error msj ini gosterir
strlen Return string lengthdizinin uzunlugunu bulur
strncat Append substring to stringwerilen biseyi dizinin sonuna ekler
strncmp Compare some characters of two stringsdizinin istediginiz yere kadar olan yerlerini karsilastirir
strncpy Copy characters from one string to anotherbir diziyi dierine kopylar
strpbrk Scan string for specified charactersdizinn ozel karakterlerini scan eder
strrchr Find last occurrence of character in stringdizideki son elemani bulur
strspn Get length of substring composed of given characterskarsilastirilan iki karakterin boyutunu alir
strstr Find substringaltdiziyi bulur
strtok Sequentially truncate string if delimiter is found
strxfrm Transform string using locale settings
<TIME.H>
asctime Convert tm structure to stringdiziyi tm ye cevirir
clock Return number of clock ticks since process startislemin basladigi ana geri doner
ctime Convert time_t value to stringdiziyi time_t degerine cevirir
difftime Return difference between two timesiki zmn arasindaki farki alir we bununla geri doner
gmtime Convert time_t value to tm structure as UTC timeUTC time tipindeki yapiyi time_t degerine cevirir
localtime Convert time_t value to tm structure as local time
mktime Convert tm structure to time_t valuetm yapisini time_t degerine cevirir
time Get current timesimdiki zmni alir
44. MATH.H
abs Return absolute value of integer parametertamsayinin mutlagiyla geri doner
acos Calculate arccosinecosinusun arc ini esaplar
asin Calculate arcsinesinusun arc ini hesaplar
atan Calculate arctangenttanjantin arc ini hesaplar
atan2 Calculate arctangent, 2 parameters2 parametrenin arc tanjantini hesaplar
atof Convert string to doublediziyi double a cevirir
ceil Return the smallest integer that is greater or equal to xen kucuk tamsayiyla geri
doner bu x(verilen sayiya) esit yada byuk olmali
cos Calculate cosinecosinus hesaplar
cosh Calculate hyperbolic cosinecosinusun parabolunu hesapar
exp Calculate exponentialussunu hesaplar
fabs Return absolute value of floating-pointdeiskenin mutlak degeriyle geri doner
floor Round down valueen alt sewiyedeki degerle geri doner
fmod Return remainder of floating point divisiondeisken bolumundn kalan sayiyla geri
doner
frexp Get mantissa and exponent of floating-point value
labs Return absolute value of long integer parametertamsayinin mutlak degeriyle geri
doner
ldexp Get floating-point value from mantissa and exponent
log Calculate natural logarithmdogal logaritma hesaplar
log10 Calculate logarithm base 1010 tabanindaki logaritmayi hesaplar
modf Spli floating-point value into fractional and integer parts
pow Calculate numeric powersayisal ussunu hesaplar
sin Calculate sinesinus hesaplar
sinh Calculate hyperbolic sinesinusun parabolunu hesaplar
sqrt Calculate square rootkarekok hesaplar
tan Calculate tangenttanjant hesaplar
tanh Calculate hyperbolic tangenttanjantin parabolunu hesaplar
47. Tanıtıcılar: Özel amaçlı sözcüklerin dışında yapılan
tanımlamalardır. Tanıtıcı isimleri
içinde harf (a ..z, A.. Z), sayı (0..9) veya alt çizgi
(underscore ‘_’) bulunabilir.
bir harf ya da alt çizgi ‘_’ işareti ile başlamalıdır.
içinde özel karakterler ( #, $, &, ö, ş “ v.b. ) bulunamaz.
C dilindeki özel amaçlı sözcüklerden biri olamaz.
büyük-küçük harfler farklı (case-sensitive) algılanır.
Örnek: ogrenci_yasi _06_yili_ucreti ucret Short
C Dilindeki Sözcükler
48. Değer Sabitleri
Tamsayılar: 0-9 rakamlarından oluşan, ondalık değerleri olmayan
sayılardır. Örnek: 3 5
Reel Sayılar: tam ve ondalık kısımları olan sabitlerdir.
Örnek: 5.7 4.2
Karakterler: tek tırnak işareti arasında bulunur.
Örnek: ‘A’ ‘k’
Dizgiler: Çift tırnak işareti “ ” ile tanımlanırlar ve birden fazla
karakterin bir araya gelmesinden oluşurlar.
Örnek: “Merhaba” “2” “aa12aa”
50. Değişkenler
Program içinde kullanılan temel nesnelerdir.
Farklı tipteki verilerin (int, double, char) bellekte tutulması için
kullanılır.
Bu isimler ile bellek hücrelerine veri aktarabilir ve bu hücrelerde
saklanan veriler program içinde kullanılabilir.
toplam
Bellek görüntüsü
Örnek: char cinsiyet;
double maas;
int x,y;
51. Başka bir basit program: İki
tamsayının toplanması
#include <stdio.h>
main()
{
int sayi1, sayi2, topla;
printf("İlk tamsayıyı girinizn");
scanf("%d",&sayi1);
printf("İkinci tamsayıyı girinizn");
scanf("%d",&sayi2);
topla=sayi1+sayi2;
printf("Toplam = %dn",topla);
return 0;
}
52. Değişken Kavramı
Bilginin bellekte belli bir adresten başlıyarak
belli bir uzunluğu işgal etmesi, bilginin
varlığını gösterir ve bu bilginin
isimlendirilmesine değişken denir
54. C’de tanımlı Veri Tipleri
Tip Aralık Uzunluk
(byte)
unsigned char 0..255 1
char -128…127 1
int -32768…32767 2
short int -32768…32767 2
unsigned int 0…65535 2
unsigned long 0…4,294,967,295 4
long -2147483648.. 2147483647 4
float 3.4*10-38.. 3.4*10+38 4
double 1.7*10-308.. 1.7*10+308 8
long double 3.4*10-4932.. 1.1*10+4932 10
55. printf ÇIKIŞ Fonksiyonu
Printf (Format Stringi, Değer Listesi);
Çıkış Format Stringi: “ ”
Açıklama kısımları
Çıkış formatının belirtildiği kısımlar: %
Escape düzeninin verildiği kısımlar:
56. Çıkış format karakterleri
Nümerik Değerler için Karakterler için
Tip karakterleri Çıkış biçimi Tip karakterleri Çıkış biçimi
d İşaretli tamsayı c Tek
karakter
i İşaretli tamsayı s string
u İşaretsiz tamsayı % % karakteri
f Gerçel sayı
e Üssel gerçel sayı
ld Long tamsayı
lf Double gerçel
sayı
57. ESCAPE Düzeni Karakterleri
n Kursoru bir alt satırın başına getirir (yeni satır-new line)
r Kursoru satırın başına getirir (carriage return)
b Kursoru bir kolon geri çeker
a Zil sesi verir
t Yatay tab
v Printer için yeni satır başı
f Printer için yeni sayfa başı
0 NULL karakteri
Sadece karakteri
” Sadece “ karakteri
59. // scanf IeBirdenFazlaVeriOkumak.c
#include <stdio.h>
int main() {
int sayim1, sayim2, sayim3;
printf("lutfen 3 tamsayi giriniz:");
scanf("%d%d%d",&sayim1, &sayim2, &sayim3);
printf("nbugun %d kere guldum, %d kere costum ve %d kere
kere somurttum!",sayim1, sayim2, sayim3);
return 0;
}
60. Giriş Format Karakterleri
Tip karakterleri Çıkış biçimi
d İşaretli tamsayı
D Long işaretli
tamsayı
u İşaretsiz tamsayı
U Long işaretsiz
tamsayı
e Üssel gerçel sayı
f Gerçel sayı
lf Double gerçel sayı
c Karakter
s String
61. Operatörler
Operatörler belli bir amaca yönelik olarak bir bilgiyi
daha değişik bir forma sokan veya iki bilgiden yeni
bir bilgi edinilmesini sağlayan sembolik araçlardır.
Atama Operatörü (=)
Aritmetik operatörler (*, /, +,-,%,++,--)
Karşılaştırma operatörlerin (>,<,>=,<=,==,!=)
Mantık Operatörleri (&&, ||,!)
Adres operatörü (&)
Boyut operatörü (sizeof)
Üçlü koşul operatörü (?:)
Ve diğer operatörler
62. Atama Operatörü
Bir değeri bellekteki bir değişkene atamak için eşit (=)
karakteri kullanılır.
Bu sembol sağındaki değeri solundaki değişkene atar.
int x;
int y=8; /*ilk değer ataması*/
main()
{x=10;
y=x;
t=5; /*yanlış: t değişkeni tanımlanmadı */
}
63. Aritmetik işlem operatörleri
C’de tamsayılar ve gerçel
sayıların işlenmesi için
gerekli tüm operatörler
mevcuttur.
İkili Operatörler
Toplama operatörü (+)
Çıkartma operatörü (-)
Çarpma operatörü (*)
Bölme operatörü (/)
Mod operatörü (%)
Tekli (Unary) Operatörler
Arttırma operatörü (++)
Eksiltme operatörü (--)
Birleşik Atama operatörleri
Basit hali Kısatılmış hali
x=x+y x+=y
x=x-y x-=y
x=x*y x*=y
x=x/y x/=y
x=x%y x%=y
65. 1 //matematikselOperatorler.c
2
3 # include <stdio.h>
4
5 int main() {
6 int a=4;
7 int b=7;
8 int c=9;
9
10 a = a + 1;
11 a++;
12
13 ++b;
14 c--;
15
16 a = b++;
17 a = ++b;
18
19 c = ++a;
20 c = b--;
21 c= --b;
22
23 printf("a: %dn",a);
24 printf("b: %dn",b);
25 printf("c: %dn",c);
26 printf("a mod b: %dn",a%b);
27 printf("b mod c: %dn",b%c);
28
29 return 0;
30 }
66. 1 //matematikselOperatorler.c
2
3 # include <stdio.h>
4
5 int main() {
6 int a=4;
7 int b=7;
8 int c=9;
9
10 a = a + 1; // a= 5
11 a++; // a=6
12
13 ++b; // b=8
14 c--; // c=8
15
16 a = b++; // a=8, b=9
17 a = ++b; // a=10, b=10
18
19 c = ++a; // a=11, c=11
20 c = b--; // b=9, c=10
21 c= --b; // b=8, c=8
22
23 printf("a: %dn",a); // a=11
24 printf("b: %dn",b); // b=8
25 printf("c: %dn",c); // c=8
26 printf("a mod b: %dn",a%b) // 3
27 printf("b mod c: %dn",b%c) // 0
28
29 return 0;
30 }
67. Karşılaştırma operatörleri
Karşılaştırma sonucunun doğru veya yanlış
olmasına dayanan bir sonuç üretir.
Yanlış ise 0 (sıfır)
Doğru ise 1 (Bir)
Örnek : a=2, b=10 ve c=5 ise
a>b koşulu 0 (Yanlış)
a>=2 koşulu 1 (Doğru)
b!=c koşulu 1 (Doğru)
10==b koşulu 1 (Doğru)
c<=4 koşulu 0 (Yanlış)
‘a’ > ‘b’ koşulu 0 (yanlış)
69. sizeof Boyut Operatörü
Verilen bir tipin veya değerin hafızada işgal ettiği
bölgenin bayt olarak sayısını verir.
Kullanımı: sizeof(tip)
cevap
sizeof(char) 1
sizeof(int) 2
sizeof(float) 4
sizeof(double) 8
int x;
sizeof(x) 2
70. Üçlü Koşul(Ternary)
Operatörü(?:)
Üçlü koşul operatörü(?:), bir ifadenin doğru
veya yanlış olmasına göre farklı ifadelerin
yerine getirilmesini sağlar.
ifade1 ?ifade2 : ifade3
Örnek: z=max(x,y)
z=(x>y) ? x : y;