İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

C Dersleri 3– Kullanıcıdan Değer Alma (değişkenler ve scanf fonksiyonu)

T

trgy

Misafir
C Dersleri 3– Kullanıcıdan değer alma (değişkenler ve scanf fonksiyonu)

İlk iki dersimizde bir programın nasıl derlenip çalıştırıldığını öğrendik ve printf fonksiyonunu kullanarak ekrana yazı yazdırdık şimdi sizden isteğim bu derse başlamadan önce printf fonksiyonunu ile adınızı soyadınızı yazdırmak hem bu sayede önceki dersi tekrar etmiş hem de el alışkanlığı kazanmış olacaksınız.Neyse fazla uzatmadan başlayalım.

Değişken dediğimiz şeyler nedir ne işe yarar?

Değişkenler kullanıcının girdiği değerleri saklayabilen veya program çalışırken içine değer atabilen veri saklayıcılardır ve bu değişkenleri tanımlayabilmek için önüne tipini yazmamız gerekmektedir.Yani eğer bi x değişkeni tanımlamak ve bunun içinde karakter saklamak istiyorsak bunun karakter oldugunu belirtmemiz lazım.
PHP:
#include<stdio.h>
int main()
{
	int x;
	x = 19;
	printf("x degiskeni %d",x);
	return 0;
}
şimdi bu örneği birazcık inceleyelim.

PHP:
int x;

Burda x adında bir değişken tanımlıyoruz.int ingilizce integer kelimesinin kısaltmasıdır.Türkçede tamsayı demektir yani biz bu x değişkenine sadece tamsayı girebiliriz.

PHP:
x=19;

Burda ise x diye tanımladığımız değişkene 19 değerini veriyoruz.Biz x'in değerini bir daha değiştirmediğimiz sürece program x gördüğü yerde 19 değerini kullanıp ona göre işlem yapacaktır.

PHP:
printf("x degiskeni %d",x);

Printf komutunu zaten geçen ders öğrenmiştik.Burda kullandığımız %d ekrana bir integer değişken yazdıracağını belirtiyor.Hangi değişkeni yazdırcağını ise tırnaktan sonra bir virgül koyarak belirtiyoruz yani burda program %d gördüğü yerde x değişkenine bakıyor ve %d yazan yere 19 yazdırıyor.Programın çıktısı ise şu şekilde olur:

x degiskeni 19

Peki ya birden fazla değişken olursa bunu nasıl yazdırabiliriz?

Örneğimizi hemen genişletelim

PHP:
#include<stdio.h>
int main()
{
	int x;
	int y;
	x = 19;
	y = 21;
	printf("x degiskeni %d y degiskeni %d",x,y);
	return 0;
}

Yaptığım değişikliği hemen farkedip ne çıkcağını tahmin edebiliyorsunuzdur umarım.

PHP:
	int x;
	int y;
	x = 19;
	y = 21;

x ve y olarak iki tane değişken tanımladık ve x değişkenine 19 değerini y değişkenine ise 21 değerini atadık.Yeri gelmişken belirmek istedim bunu tek satırda da şu şekilde tek satırda da yazabiliriz int x=19, y=21; iki değişkenimizin tipi de integer olduğu için araya virgül koyarak ikisini tek satırda tanımlayıp tanımladığımız an içine değer atayabiliriz.

PHP:
	printf("x degiskeni %d y degiskeni %d",x,y);
Burda önemli olan yer ise yazdığımız %d ler ve tırnaktan sonra değişkenlerin yerleri.Şimdi bu programımızı çalıştırırsak eğer çıktımız aşağıdaki gibi olur

x degiskeni 19 y degiskeni 21

gelin kodda biraz değişiklik yapalım ve bunların toplamlarını ve farklarını yazdıralım

PHP:
#include<stdio.h>
int main()
{
	int x;
	int y;
	int fark;
	x = 19;
	y = 21;
	fark=x-y;
	printf("x degiskeni %d y degiskeni %d\ntoplamlari %d farkları % d",x,y,x+y,fark);
	return 0;
}
bu sefer fark isminde bi değişken tanımladık ve bu değişkenin değerini x ten y yi çıkartarak atadık ve sonra printf fonksiyonuna bakcak olursak

PHP:
	printf("x degiskeni %d y degiskeni %d\ntoplamlari %d farkları % d",x,y,x+y,fark);
ilk %d x değişkenini ifade ediyor 2.si y değişkenini 3.sü x+y yi ifade ediyor yani printf fonksiyonu içinde de matematik işlemleri yaptırabiliyoruz.Son %d ise fark değişkenini ifade ediyor yani çıktımız şu şekilde oluyor:

x degiskeni 19 y degiskeni 21
toplamlari 40 farkları -2


Buraya kadar integer değişkenleri tanımlamayı e yazdırmayı öğrendik şimdi ise diğer tipteki değişkenlere ve kullanıcıdan değişkenler için değer almaya bakalım.

İlk olarak kullanacağımız değişken tiplerinden bahsedeyim

PHP:
int : tamsayı    	         printf("%d",degisken);         scanf("%d",&degisken);
char : karakter 	                 printf("%c",degisken);         scanf("%c",&degisken); 
double : ondalıklı sayı         printf("%lf",degisken);         scanf("%lf",&degisken);
float : ondalıklı sayı	         printf("%f",degisken);          scanf("%f",&degisken);

double ile float arasındaki fark double float tan daha uzundur.
tanımladığımız karakterlere değer atamak istiyorsak '' arasına girmemiz gerekiyor örnek olarak char x='a'; burda x diye bir karakter tanımladık ve bu değişkenimize a karakterini atadık.
Örnek :

PHP:
#include<stdio.h>
int main()
{
	char x;
	int y;
	double z;
	printf("Bir karakter giriniz : ");
	scanf("%c",&x);
	
	printf("\nBir tamsayısı giriniz : ");
	scanf("%d",&y);
	
	printf("\nBir ondalıklı sayı giriniz : ");
	scanf("%lf",&z);
	
	printf("girilen x karakteri %c y tamsayısı %d z ondalıklı sayısı %lf",x,y,z);
	return 0;
}

yavaş yavaş örneklerin büyüdüğünü görüyoruz size tavsiyem örnekleri kendiniz yazın ve öğrendiğiniz şeyleri birazcık daha değiştirip farklı şeyler yapmaya çalışın mesela bundan önceki örnekte bir tane daha değişken tanımlayıp onu da toplama çıkartmaya dahil edebilirsiniz.Hadi örneğe biraz bakalım.

PHP:
	char x;
	int y;
	double z;

Tahmin ettiğiniz gibi x isminde bi karakter y isminde bi integer z isminde bir double tanımlıyoruz.
PHP:
	printf("Bir karakter giriniz : ");
	scanf("%c",&x);

Burda printf fonksiyonuyla kullanıcıdan karakter girmesi gerektiğini ekrana yazdırıyoruz.Scanf fonksiyonu ise kullanıcının girdiği değeri alıp istediğimiz bir değişkene atma işine yarıyor.Yukarda verdiğim listede hangi tip için nasıl oldugunu belirtmiştim.Burda da görüyoruz ki tırnak içinde %c ile bi karakter girilmesi gerektiğini belirtmiş ve girilen değerin x e atılması gerektiğini söylemişiz.Burda dikkat etmemiz gereken en önemli nokta ise değişken isminden önce & işaretini koymak yoksa compilerınız hata verir ve kodumuz çalışmaz.

PHP:
	printf("\nBir tamsayısı giriniz : ");
	scanf("%d",&y);

kullanıcıdan karakter bilgisini aldıktan sonra kullanıcıdan tamsayı girmesini istiyoruz ve bunu y değişkeninin içine atıyoruz.Tamsayılarda hep %d kullanmamız gerektiğini unutmayalım.

PHP:
	printf("\nBir ondalıklı sayı giriniz : ");
	scanf("%lf",&z);

şimdi ise kullanıcıdan ondalıklı sayı girmesini istedik ve scanf ile %lf kullanarak kullanıcının girdiği değeri z değişkenine atadık.

PHP:
	printf("girilen x karakteri %c y tamsayısı %d z ondalıklı sayısı %lf",x,y,z);

Kullanıcıya doldurttuğumuz değişkenleri ekrana yazdırıyoruz.Şimdi karakter olarak m tamsayı olarak 71 ondalıklı sayı olarak ta 18.16 girdiğimi düşünürsek programımız çalıştıktan ve değerleri girdikten sonra ekran görüntümüz şu şekilde olacaktır.

Bir karakter giriniz : m

Bir tamsayısı giriniz : 71

Bir ondalıklı sayı giriniz : 18.16
girilen x karakteri m y tamsayısı 71 z ondalıklı sayısı 18.16


3. dersin sonuna geldik eğer isterseniz kullanıcıdan iki sayı girmesini isteyip bu sayıların toplamlarını çarpımlarını farklarını be bölümlerini ekrana yazdıran bir program yapabilirsiniz.
 

Loi

0
İyinet Üyesi
Katılım
13 Kasım 2006
Mesajlar
6,192
Reaction score
44
Konum
localhost
exeyi derleyip çıktı aldığımızda türkçe karakterleri görebilmek için ne yapmalıyız?
 
T

trgy

Misafir
Türkçe karakterlerde sorun çıkmıyor zaten daha doğrusu çıkmaması lazım.
 

Loi

0
İyinet Üyesi
Katılım
13 Kasım 2006
Mesajlar
6,192
Reaction score
44
Konum
localhost
Maalesef çıkıyor
21mdkj8.png
 
T

trgy

Misafir
Haklısın çıkıyormuş. Ben ingilizce eğitim gördüğüm için ve ingilizce yazdığım için dikkat etmemişim.

sepulchral vermiş zaten cevabı.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst