#include <stdio.h>
#include <conio.h>
int main(){
printf("\t\\\\Bu bir programdir//\n\t\tMENU\n1- Oyunu Baslat\n2- Kayitli Oyuna Gir\n3- Cikis");
getch();
return 0;
}
2-
a) printf("%d %f",xy); .......Y........... // x ile y arasinda virgül bulunmalı ve adres operatoru kullanımalıdır.
b) puts("Programlama yazarak ogrenilir."); .....D............
c) scanf("%d",x); ..........Y ......// &x şeklinde kullanımalıdır
d) gets(&x); ..........Y...... // gets de adres operatörune gerek yoktur.
3-
#include <stdio.h>
#include <conio.h>
int main(){
int x=3,y;
printf("x= %c\n",x); \\ Bu bir yorum satırıdır. // x int olduğundan %d kullanılmalı
scanf("%d",y); // y nin başına & kulanılmalıdır
printf("y= %d\n",); // virgülden sonra y yazılmalıdır
puts("Sayilar yukarida verilmistir.); // noktadaan sonra " yazılmalı.
getch();
return 0;
}
programın doğrusu
#include <stdio.h>
#include <conio.h>
int main(){
int x=3,y;
printf("x= %d\n",x); \\ Bu bir yorum satırıdır. // x int olduğundan %d kullanılmalı
scanf("%d",&y); // y nin başına & kulanılmalıdır
printf("y= %d\n",y); // virgülden sonra y yazılmalıdır
puts("Sayilar yukarida verilmistir."); // noktadan sonra " yazılmalı.
getch();
return 0;
}
olur.
----------------------------------------------------------------------------------------------------------------------------------
Operatörler
Değişken veya sabitler üzerinde işlem yapmamızı sağlayan simgelerdir.
Aritmetik Operatörler
Operatör Açıklama Örnek Anlamı
+ Toplama x+y x ve y yi toplar
- Çıkarma x-y x ve y nin farkı
* Çarpma x*y x ve y nin çarpımı
/ Bölme x/y x ve y nin oranı
% Mod x&y x/y nin kalanı
Arama Operatörleri
Operatör Açıklama Örnek Anlamı
= Atama x=7 7 yi x e atar
+= Toplayarak Atama x+=y x=x+y
-= Çıkararak Atama x-=y x=x-y
*= Çarparak Atama x*=y x=x*y
/= Bölerek atama x/=y x=x/y
%= Kalanı atama x%=y x=x%y
++ Bir arttırma x ++ veya ++x x=x+1
-- Bir Azaltma x-- veya --x x=x-1
Karşılaştırma ve Mantıksal Operatörleri
Operatör Açıklama Örnek Anlamı
> Büyüktür x>y x, y ' den büyük mü ?
< Küçüktür x<y x, y ' den küçük mü?
>= Büyük Eşit x>=y x, y ' den büyük yada eşit mi?
<= Küçük Eşit x<=y x, y ' den küçük yada eşit mi?
== Eşittir x==y x, y ye eşit mi?
!= Eşit Değil x!=y x, y den farklı mı?
&& Ve x>2 && x<10 x 2 den büyük ve 10 dan küçük mü?
|| Veya x<2 || x>10 x 2 den küçük veya 10 dan büyük mü?
Yukarıdaki operatörleri program yazarken sürekli kullanırız. Bu operatörler programı yazarken bize yön verecek , işlem yaptıracak ve algoritmalar yazmamızı sağlayacaktır. Bunların haricinde bit düzeyinde işlem yapan operatörler de vardır. Bunları sonraki derslerimizde anlatacağım.
#include <stdio.h>
#include <conio.h>
int main(){
int x=8,y=3,z;
// Aritmetik operatörler
z=x+y;//x ile y toplar z ye atar = burda atama görevi görür , z = 11
printf("%d\n",z);
z=x-y;//x ile y nin farkını alır z ye atar , z = 5
printf("%d\n",z);
z=x*y;//x ile y yi çarpar z ye atar , z = 24
printf("%d\n",z);
z=x/y;//x ile y nin oranını alır z ye atar , z = 2
printf("%d\n",z);
z=x%y;//x ile y nin modunu alır z ye atar , z = 2 kalan 2 dir.
printf("%d\n\n\n",z);
// Atama Operarörleri
x+=y; // x=x+y; anlamına gelir , yani x ile y yi toplar x e atar , x= 8+3 = 11
printf("%d\n",x);
x-=y; // x=x-y; anlamına gelir , yani x ile y nin farkını alır , x = 11-3= 8
printf("%d\n",x);
x*=y; // x=x*y anlamına gelir , yani x ile y nin çarpımını alır , x = 8 * 3 = 24
printf("%d\n",x);
x/=y; // x=x/y anlamına gelir , yani x ile y nin bölümünü alır , x = 24 / 3 = 8
printf("%d\n",x);
x%=y; // x=x%y anlamına gelir, yani x ile y nin modunu alır, x= 8 % 3 = 2
printf("%d\n",x);
x++; // x=x+1 anlamına gelir , yani x= 2+1 = 3
printf("%d\n",x);
x--; // x=x-1 anlamına gelir , yani x= 3-1 = 2
printf("%d\n",x);
getch();
return 0;
}
x++ , ++x ve x--, --x işlemleri
x++ x=x+1 anlamına gelse bile bu bir atama operatörü dür . Bazı işlemlerde farklı sonuçlar verebilir . Hadi bunu inceleyelim :
int x = 8 , y=3 , z ; tanımlı olsun.
x++ veya ++ x dediğimizde x i 1 arttırır , böylece sonraki işlemlerde x 9 olarak alınır.Çıkarmada da aynı şekildedir.
Fakat x++ gibi operatörler tek başına kullanılmadıkları zaman atama sırasına dikkat edilmelidir.
Örneğin:
z = (x++) + y ; dediğimizde x in 1 arttığını düşünürüz sonra y ile toplarız sonucu 12 buluruz. Bu tamamen yanlıştır. Çünkü programlar = ifadesinin solundan sağına doğru atama yapılır.
Anlatmak istediğimi anladığınızı düşünüyorum. Peki ++x kullansaydık ne olacaktı ?
Mantığını bir kere oturttunuz mu bir daha bununla ilgili yanlış yapmazsınız.Son bir örnek daha yapalım.
int x=3,y=5,z;
z= (y++)+(++y)+x; // Önce y nin değeri işleme alınır sonra y 1 arttırılır yani işleme 5 i alırken y nin değeride 6 olacak ++ y de y nin değeri 1 arttırılır yani 6+1 = 7 sonra y yi işleme alacağız , yani 7 yi işleme alırız. En sonunda da x i yani 3 ü işleme alırız. Yani
z = 5 + 7 + 3 = 15 olur.
Bakın y++ da işleme y nın değerini aldıkdan sonra sonraki işlemler için y yi 1 arttırıyoruz.
Evet benim operatörlerle alakalı söyleyeceklerim bunlar sonraki derste görüşmek üzere ...
Hiç yorum yok:
Yorum Gönder