Üye Ol (Üye olduğunuzda tüm reklamlar gizlenecektir)
Temel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) - MekanBursa.com
MekanBursa.com  
Automatic Translations (Powered by Powered by Google):
Afrikaans Albanian Arabic Belarusian Bulgarian Catalan Chinese Croatian Czech Danish Dutch English Estonian Filipino Finnish French Galician German Greek Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Taiwanese Thai Turkish Ukrainian Vietnamese Welsh Yiddish

Geri git   MekanBursa.com > BiLGiSaYaR DüNYaSı > Programlama Dilleri > C / C++ / C#

Özel Arama

NasilYaparizNet-Mükemmel Yemek ve Pasta Tarifleri
Temel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) Hakkında: Temel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) konusu ile ilgili daha detaylı bilgiye, forumumuzun  Programlama Dilleri Katagorisinde ve  C / C++ / C# Bölümünde bulunanTemel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) Konusunu MekanBursa.com Kalitesi İle Görüntülemektesiniz;Özet=>Temel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) Bu derste printf ve scanf in kullanımları kontrol operatorleri if ve switch kontrol statement larını ve while dongusunu ilsiycez... Once ...
Yeni Konu aç Cevapla
 
Share Seçenekler
Alt 07-09-2008   #1 (permalink)

Temel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler)

            

Temel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler)
Bu derste printf ve scanf in kullanımlarıTemel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) kontrol operatorleriTemel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) if ve switch kontrol statement larını ve while dongusunu ilsiycez...
Once gecen dersin odevinin yorumlarını yapalım. Girdi olarak virgüllü sayı veya harf yazın demistik. Yapanlar gördü ki yanlıs sonuclar veriyor program. Bunun sebebi girdimiziTemel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) programa int yani tam sayı olarak tanıtmamız. Girdi virgüllü olunca tam sayı kısmı alınıp öyle işlem yapılıyor dogal olarak. Yada harf girince harfi 61 diye bir tam sayı olarak kabul ediyor. Bu compiler' a ve girdiğiniz harfe gore degisebilir. 61 e takılmayın. Önemli olan burada beklenmedik sonuçlar aldığımızı gozlemlemek ve değişken turlerinin onemini anlamak...

printf ve scanfin kullanımları:

printf(*quot;hello*quot;): bu ornegi inceleyelim:

prinft her fonksiyon gibi yanında parantezler açılarak kullanılır.parantezlerin içinde iki kısım vardır. Birincisi *quot;*quot; isaretlerinin icinde kalan kısım ikincisi *quot;*quot; isaretlerinin icinde olmayan kısım. ikinci kısım değişkenlerin değerlerini ekrana verirken kullanılır. Bu orneğimizde değişken olmadıgı icin ikinci kısım yok.Birinci kısım yani *quot;*quot; lerin icinde kalan kısım ekrana yazılacak yazıları belirler.Bu örnekte ekrana *#8220;hello*#8221; yazılır.Birinci kısımda kullanılan bazı özel karakterler vardır. Bunlar olduğu gibi ekrana yazılmaz.Yazılacak yazının formatını belirler.Mesela \n karakteri alt satıra geç demektir.

printf(*quot;hello\nhello*quot;) yazarsak ekrandaki görünümü şöyle olur:

hello

hello

özel karakterlerden biri de % işaretidir. Bu işaretTemel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) bir değişkenin değeri ekrana yazdırılacaksa değişkenin turunu ve ekranda yazılacağı yer ve formatı belirlemek için kullanılır . % den sonra gelen kısım degiskenin hangi türde kabul edileceğini söyler. Mesela %d tam sayı demektir. *quot;*quot; işaretlerinin içinde %d olan yere tırnak işaretlerinin dışında kalan değiskenin değeri ekrana yazdırılır. Örnek:

x=3;

printf(*quot;degiskenin degeri %d dür*quot;Temel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler)x);

burda ekrana gelecek olan yazı şöyledir:

degiskenin degeri 3 dür

gordugunuz gibi %d yerine x in değeri geliyor. Biz bir önceki dersimizde *quot;*quot; lerin icine başka bir yazı yazmadık. Sadece %d yazdık. Bu yüzden sadece ekrana değişkenin değeri geldi.

printf sadece bir değişkenle kullanılmak zorunda değildir.

x=3;

y=4;

printf(*quot;%d %d*quot;Temel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler)xTemel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler)y);

bu ornekte ekrana

3 4

şeklinde bir output gelir.Gordugunuz gibi her degisken icin bir tane %d yazdık.

printf(*quot;x'in degeri %d y'nin degeri %d*quot;Temel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler)xTemel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler)y); seklinde yassaydık output soyle olacaktı:

x'in degeri 3 y'nin degeri 4



scanf in kullanımı da çok benzerdir. Tek fark *quot;*quot; işaretlerinin içine herhangi bir yazı yazmaya gerek duymamız. Ve değişkenlerden önce

*amp; işareti konulması.

scanf(*quot;%d %d*quot;Temel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler)*amp;xTemel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler)*amp;y);

bu örnekte ekrana 3 5 yazdığımızda *#8220;x*#8220;e 3 *#8220;y*#8221; ye 5 atanır. %d lerin arasında boşluk bıraktığımıza dikkat edin. Boşkul bırakmasaydık inputumuzu da 35 seklinde girmemiz gerekirdi...

Şimdi kontrol operatorlerini gorelim:

*gt; : büyük mudur ?

*lt; : küçük mudur ?

== : eşit midir ?

!= : eşit değilmidir ?

*gt;= : büyük veya eşit midir ?

*lt;= : küçük veya eşit midir ?

*amp;*amp; : ve

|| : veya

bu sorguların cevapları doğru ise yanıt 1Temel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) yanlış ise yanıt 0 olur. Peki bu sorguları nerde kullanırız ? Bunlar kontrol işlemleriyle kullanılır. Bu islemlerin baslıcaları if ve switch dir:

if in kullanımı:

if ( x==3)

{

}

seklinde kullanılır. if den sonra acılan parantezlerin icine kontrol edilecek durum yazılır. Eger durum dogru (1) ise { } lerin icindeki islemler yaplılır. Degil (0) ise { } lerin icindeki islemler gecilir. Bu ornek eger x degiskeni 3 e esit ise aşağıdakileri yap seklinde acıklanabilir.

if ( x== 3 *amp;*amp; y*lt;10) mesela burda eger *#8220;x*#8221; 3 e esit ise ve *#8220;y*#8221; de 10 dan kucuk ise assagıdakileri yap demek oluyor. Bu iki durumdan biri bile yanlıs ise durum yanlıs olarak kabul edilir. *amp;*amp; yerine || kullansaydık iki durumdan biri bile dogru olsa durum dogru kabul edilirdi. ve ile veya nın farkı budur.

*#8220;=*#8221; ile *#8220;==*#8220;isaretlerini karıstırmayalım. Birincisi deger atamak icin kullanılırken ikincisi degerin esitligini kontrol etmek icin kullanılır.

else :

if *quot;eger*quot; demektir else de *quot;degilse*quot; anlamına gelir. Bir if satement ının sonuna else yazarsanız. Durum yanlıs ise yapılacakları belirleyebilirsiniz.

if(x==3)

{

y=y+1;

z=z-1;

}

else

{

y=y-1;

z=z+1;

}

yukarıda: eger x 3 e esitse y ye bir ekleTemel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) z den bir cıkar.x 3'e esit degilse(else) y yi bir azalt z ye bir ekle. Demek oluyor. else i kullanmak zorunda degilsiniz. else i kullanmazsanız durum yanlıs ise yapılacak islemleri belirlememis olursunuz. Durum yanlıs ise if in icindekiler kale alınmaz.

switch:

switch bir durumun bir kaç ihtimalini goz onune alarak. Yapılacakların belirlenmesini sağlar.

kullanımı:

switch(x)

{

case 3:

printf(*quot;x 3 e esitmis*quot;);

case 4:

printf(*quot;x 4 e esitmis*quot;);

default:

printf(*quot;x 3 e de 4 e de esit degilmis*quot;);

}

switch in yanına gelen parantezlerin icine kontrol edilecek degisken yazılır. case lerden sonra da x in neye esit olup olmadıgı kontrol edilir. Bu ornekte: x 3 e esit ise ekarana *quot;x 3 e esitmis*quot; yazTemel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) x 4 e esit ise ekrana *quot;x 4 e esitmis*quot; yazTemel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) *#8220;x*#8221;Temel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) yukardaki durumların hicbirine uymuyorsa(default) *quot;x*#8221; 3 e de 4 e de esit degilmis*quot; yaz. switch in kullanımı da budur. Ama sadece tek degiskeni ve esitlik durumunu kontrol edebilir. Bu nedenle ben switch i pek sevmem ve kullanmam. daha cok islerimizi if ile gorecez...

C de encok kullanacagımız seylerden biri de dongulerdir. Donguler bi islemi tekrarTemel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) tekrar yaptırmaya yarar.

Bu gunluk while dongusunu anlatacam:

while(x*lt;10)

{

}

while ın kullanım formatı bu sekildedir. parantez icindeki durum dogru oldugu surece durmadan { } lerin icindeki islemler gerceklestirilir. Bi ornekle acıklayalım.

y=15;

x=1;

while(x*lt;3)

{

y=y-x;

x=x+1;

}

bunun yapacagı işi acıklayalım:

ilk basta x=1 y=15 dir. programTemel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) x*lt;3 mudur diye kontrol etti baktıki dogru. Sonra while in icine girdi. y=y-x; i isleme soktu.

Yani *#8220;y*#8221; yi *#8220;y*#8221; eksi *#8220;x*#8221; e esitledi. Yani y nin yeni degeri 15 - 1=14 oldu. *#8220;x*#8221; i *#8220;x+1*#8221; e yani 2 ye esitledi. x in yeni degeri 2 oldu. Sonra tekrar başa dondu. baktı *#8220;x*lt;3*#8221;(x küçük 3) mudur. 2*lt;3 dür yani dogru. Tekrar while ın icine girdi. y=y-x; i tekrar calıstırdı.*#8221;y*#8221; 14 olmuştu. *#8220;x*#8221; de 2. yeni*#8221;y*#8221; 14-2 yani 12 oldu. *#8220;x*#8221; de tekrar 1 arttırıldı ve 3 oldu. Sonra tekrar basa dondu. Baktı x*lt;3 mü hayır 3*lt;3 doğru değil.

while döngüsü tamamlandıgında x in degeri 3 y nin degeri de 12 oldu.

Dongulerin mantıgı da boyle... Dongulerin uzunlugunu sınırlamak icin genelde x=x+1 gibi bir satır bulunur. Bu satıra denk gelen bir satır vardır: x++; bu x in degerini bir artır demektir. x--; de x in degerini 1 azalt demektir. Aklımızda bulunsun.

şimdi örnek bir program:

bu program 0 dan verilen bir sayıya kadar olan tüm sayıların toplamını buluyor. Mesela 5 yazarsak bize 1+2+3+4+5 yani 15 veriyor.

#include*lt;stdio.h*gt;
main()
{
int iTemel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) xTemel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler) toplam;
scanf(*quot;%d*quot;Temel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler)*amp;x);
toplam=0;
i=1;
while(i*lt;=x)
{
toplam=toplam+i;
i++;
}
printf(*quot;%d*quot;Temel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler)toplam);
retırn 0;
}

bu prgramı calıstırıp inceleyin. Gecen dokumandaki ödev kolaydı bu hafta yeni başlayanlar için kazık bir ödev veriyorum. Girdiginiz sayının asal olup olmadıgını bulan bir program yapacaksınız. Girdiginiz sayı asalsa ekrana 1 degilse 0 yazacak.

Biraz ipucu veriyim.Asal sayının ne oldugunu herkes biliodur heralde bi while dongusu yapıp girilen sayıyı 2 den baslayarak girilen sayıya kadar tek tek boldureceksiniz. Ve her seferinde kalanın 0 olup olmadıgını kontrol ettireceksiniz. Butun sayılara bolumunden kalan hic 0 cıkmassa o sayı asaldır demeeki... Yani 1 ve kendisi dışında hic bir sayıya tam bolunmuyo demektir.

Kalanı kontrol etmek icin bir onceki dersimizde verdigimiz % operatorunu kullanacaksınız. Mesela

x=10;

y=3;

z=x%y;

derseniz z = 1 olur



Temel C Dokümanları 3 (Girdi Çıktı Fonksiyonları,Kontrol Operatörleri ve Döngüler)

Arthur isimli Üye şimdilik offline konumundadır   Share on facebook Alıntı ile Cevapla
Yeni Konu aç Cevapla
Share

Bookmarks

Etiketler
3, Çıktı, dökümanları, döngüler, fonksiyonları, girdi, kontrol, operatörleri, temel, ve


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Kapalı


Başka adreslerde içeriğimizi paylaştığınızda lütfen kaynak belirtmeyi unutmayınız, duyarlılığınız için teşekkürler. Sayfalarımızda bulunan içeriklerin telif haklarıyla ilgili bir şikayetiniz / sorunuz varsa bize ulaşmak için admin@mekanbursa.com email adresine iletebilirsiniz.. If you OWN the copyrights to any content we publish or offer for download and you want them to be REMOVED from our web site, please contact us admin@mekanbursa.com with some proof of ownership of copyright and they will be removed immediately.


Bütün Zaman Ayarları WEZ +3 olarak düzenlenmiştir. Şu Anki Saat: 01:00 AM .


Translations delivered by vBET Translator 2.3.10
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0 ©2009, Crawlability, Inc.