1.SORU. Genişlemiş ascii karakterlerinin kodlarını karşılarına yazan C programını a. while döngüsü, b. do-while c. for döngüleri ile ayrı ayrı yazınız. Çözüm (while): int harf=0; while(harf<=255) { printf("\n %cnin ASCII kodu %d dir",harf,harf); harf++; Çözüm (do-while): int harf=0; do { printf("\n %cnin ASCII kodu %d dir",harf,harf); harf++; while(harf<=255); Çözüm (for): int harf=0; for (harf=0; harf<=255; harf++) { printf("\n %cnin ASCII kodu %d dir",harf,harf); harf++;
2.SORU. Aşğıdaki program ne yapar? Aynı işi bir tek printf() fonksiyonu ile yapan bir C programı yazınız. #include <math.h> main() { int ch; ch = 0; while( ch <= 255 ) { printf(" '%c':%3d ",ch,ch);ch++; printf(" '%c':%3d ",ch,ch);ch++; printf(" '%c':%3d ",ch,ch);ch++; printf(" '%c':%3d ",ch,ch);ch++; printf(" '%c':%3d ",ch,ch);ch++; printf(" '%c':%3d ",ch,ch);ch++; printf("\n"); Çözüm: Program genişlemiş ascii karakterlerinin karşısına ascii kodlarını yazar. Listeyi 6 sütun halinde verir. Aynı işi tek bir printf() ile yapan program şöyledir: #include<stdio.h> main() { int ch=0,i; while(ch<=255) { for (i=1; i<=6; i++) { printf("%5c %d ",ch,ch); ch++; printf("\n");
3.SORU. A,E;I;O;U harfleri büyük sesli harfler, a,e,i,o,u harfleri küçük sesli harflerdir. Klavyeden girilen bir metindeki küçük ve büyük sesli harflerin sayısını bulan bir C programı yazınız. Metin girişini durdurmak içi $ karakterini kullanınız. Metindeki ardışık karakterleri okutmak için getchar() fonksiyonunu kullanınız. #include<stdio.h> main() { char ch; int sessiz=0, ksesli=0, bsesli=0, sesli=0, buyuk=0, kucuk=0, toplam=0, say_a=0, say_e=0, say_o=0, say_u=0, say_i=0,say_a=0, say_e=0,say_o=0,say_u=0,say_i=0; ch='?'; while(ch!='$') { ch=getchar(); toplam++ ; if (islower(ch)) { kucuk++; switch(ch) { case'a': say_a++ ; k case'e': say_e++ ; k case'i': say_i++ ; k case'o': say_o++ ; k case'u': say_u++ ; k default: sessiz++; if(isupper(ch)) buyuk++;
switch(ch) { case'a': say_a++; b case'e': say_e++; b case'i': say_i++; b case'o': say_o++; b case'u': say_u++; b default : sessiz++; printf("toplam harfler :%d\n",toplam); printf("buyuk harfler :%d\n",buyuk); printf("kucuk harfler :%d\n",kucuk); printf("sessiz harfler :%d\n",sessiz); printf("bsesli harfler :%d\n",bsesli); printf("ksesli harfler :%d\n",ksesli); printf("say_a harfler :%d\n",say_a); printf("say_e harfler :%d\n",say_e); printf("say_o harfler :%d\n",say_o); printf("say_u harfler :%d\n",say_u); printf("say_i harfler :%d\n",say_i); printf("say_a harfler :%d\n",say_a); printf("say_e harfler :%d\n",say_e); printf("say_o harfler :%d\n",say_o); printf("say_u harfler :%d\n",say_u); printf("say_i harfler :%d\n",say_i);
4.SORU. 1-20 arasındaki tam sayıların karşılarına kareköklerini yaza bir C programı yazınız. #include <math.h> main() { double sayi,kkok; sayi=0.0; do { printf("sayi=%f \t karekok=%f\n",sayi,sqrt(sayi)); sayi +=1.0; while(sayi<=20);
5.SORU. Radyan cinsinden bir açının tanjantını veren tan() fonksiyonu math.h başlık dosyasındadır. 0 0-90 0 arasındaki açıları 5 0 -şer derece aralıklarla tanjantlarını listeleyen bir C programı yazınız. #include <math.h> main() { float pi=3.141592654; double aci=0.0; do { printf("aci=%f \t tanjanti=%f\n",aci,tan(aci*pi/180.0)); aci+=5.0; while(aci<=90);
6.SORU. 0-9 sayaklarını, büyük harfleri ve küçük harfleri birer satırda gösteren bir C programı yazınız. main() { int i; char ch ; printf("\nsayilar :\n"); i=48 ; while (i<=58) { printf("%c", i); i++ ; i=65; printf("\nbüyük Harfler :\n"); while(i<=90) { printf("%c <=> %d",i,i); i++; i=97; printf("\nküçük Harfler :\n"); while (i<= 122) { printf(" %c <=> %d",i,i); i++;
7.SORU. Klavyeden girilen iki sayının ekok ını bulan bir C programı yazınız. int a, b, max; printf("iki tamsayi giriniz: "); scanf("%d %d", &a, &b); max=(a>b)? a : b; /* en buyuk deger max degiskenine aktariliyor */ while(1) { /* Daima doğru */ if(max%a==0 && max%b==0) { printf(" %d ile %d icin ekok = %d", a, b,max); /* dögüden çık */ ++max;
8.SORU. Klavyeden girilen iki sayı için ekok ile ebob bulan bir C programı yazınız. int a, b, x, y, t, gcd, lcm; printf("iki tam sayi giriniz\n"); scanf("%d%d", &x, &y); a = x; b = y; while (b!= 0) { t = b; b = a % b; a = t; gcd = a; lcm = (x*y)/gcd; printf("%d ile %d nin ebob = %d dir.\n", x, y, gcd); printf("%d ile %d nin ekok = %d dir.\n", x, y, lcm);
9.SORU. Bir dersten sınıfın not ortalamasını hesaplayan bir C programı yazınız. int N=0, puan, toplam_puan=0; float ortalama; printf("puanları giriniz. \n Bitince '101' yaziniz> \n" ); while (puan!= 101) { printf("%d -inci ogrencinin puanını giriniz> ", N); scanf("%d", &puan); toplam_puan += puan; N++; ortalama = (toplam_puan -puan ) / (N-1) ; printf("sınıf Ortalamasi : %.2f",ortalama); Uyarı: Son girilen 101 sayısının toplam_puan dan çıkarılması ve N sayacının 1 eksiltilmesi gerektiğine dikkat ediniz.
10.SORU. Klavyeden girilen bir tam sayının sayakları (digits) toplamını bulunuz. int n, t, sum = 0, kalan; printf("bir tamsayı giriniz\n"); scanf("%d", &n); t = n; while (t!= 0) { kalan = t % 10; sum = sum + kalan; t = t / 10; printf("%d sayısının sayakları toplamı = %d dir. \n", n, sum);