Süre 90 dakika, sınav kapalı kitaptır.Yapmayacağınız bir soruyu işaretleyiniz. Geri kalan 8 sorudan Her soru 15 puandır, 20 puan bonustur. Başarılar J

Sınav çözümleri soruların altındadır. Genelde soruların birden fazla çözümü vardır. Bu sayfada verilen çözümler sadece örnektir.

Soru 0) Ekrana isminizi, soy isminiz ve öğrenci numaranızı yazdıran bir program yazınız. (sadece bu soru için program tam olmalı (include, return satırları gibi) ve yazım hatası bulundurmamalıdır ve kodunuz compile edildiğinde hata vermemelidir. )

#include <stdio.h>
int main(){
        printf("Şadi Evren ŞEKER 970702059");
        return 0;
}

 

Soru 1) Kullanıcıdan iki sayı okuyarak bu iki sayı arasındaki tek sayıları ekrana bastıran ve ekrana basılan sayıların toplamını en altta gösteren bir program yazınız. (kullanıcılardan okunan sayıların pozitif olduğunu kabul edebilirsiniz.)

#include <stdio.h>
int main(){
        printf("bir sayi giriniz:");
        int sayi;
        scanf("%d",&sayi);
        printf("bir sayi daha giriniz:");
        int sayi2;
        scanf("%d",&sayi2);
        int toplam=0;
        for(int i = sayi;i<sayi2;i+=2){
               printf("%d\n",i);
        toplam+=i;
        }
        printf("toplam : %d",toplam);
}

 

 

Soru 2) Aşağıdaki şıklar için ayrı ayrı veya tek bir kod yazınız.

a)Kullanıcıdan bir sınıfta bulunan öğrenci notlarını okutan bir program yazınız. Öğrenci sayısını kolay olsun diye 10 kabul edebilirsiniz. Buna göre kullanıcı 10 öğrenci için klavyeden not girecektir.

b) a’ kısmında yapılan programa ilave olarak notların ortalamasını, en büyüğünü ve en küçüğünü hesaplatınız.

c) kullanıcıdan bir not okuyarak yukarıda girilen notlardan birisi olup olmadığını bulunuz. Ekrana kullanıcının daha önceden girdiği bir not ise “not zaten girilmiş”, girmediği bir not ise, “bu not daha önce girilmemiş” yazınız.

#include <stdio.h>
int main(){
        int a[10];
        for(int i = 0;i<10;i++){
               printf("ogrenci %d notunu giriniz",i);
               scanf("%d",&a[i]);
        }
        int enbuyuk=0,enkucuk=100,toplam=0;
        for(i = 0;i<10;i++){
               if(a[i]>enbuyuk)
                       enbuyuk = a[i];
               if(a[i]<enkucuk)
                       enkucuk = a[i];
               toplam += a[i];
        }
        int ortalama=toplam/10;
        printf("en buyuk : %d en kucuk %d ortalama %d",enbuyuk,enkucuk,ortalama);
        printf("bir not daha giriniz");
    int yeninot;
        scanf("%d",&yeninot);
    int x=0;
        for(i = 0;i<10;i++){
               if(yeninot==a[i]){
               x=1;
                       printf("not zaten girilmis");
            break;
        }
        }
        if(x==0){
        printf("not girilmemis");
        }
}

 

Soru 3) Aşağıda verilen kodun çalıştırılması sonucu ekranda ne görülür, yazınız.

 

#include <stdio.h>

int main(void) {

int list[10];

int i;

for (i = 0; i < 10; ++i) {

list[i] = ++i;

}

for (i = 0; i < 10; ++i) {

printf("%d = %d\n", i,

list[i]);

}

getchar();

return 0;

}

 

0=1

1=belirsiz

2=3

3=belirsiz

4=5

5=belirsiz

6=7

7=belirsiz

8=9

9==belirsiz

 

Soru 4). kullanıcıdan bir sayı okuyarak, 1’den bu okunan sayıya kadar olan sayıların küplerinin 7 katlarının toplamını veren programı yazınız.

 

#include <stdio.h>
int main(){
        printf("bir sayi giriniz");
        int sayi;
        scanf("%d",&sayi);
        int toplam=0;
        for(int i=1;i<sayi;i++){
               toplam += i*i*i*7;
        }
        printf("sonuc: %d",toplam);
}

 

 

Soru 5). 1’den 500’e kadar olan sayılardan 2’ye ve 7’ye bölünebilen ama 5’e bölünemeyen sayıları ekrana yazan programı yazınız.

#include <stdio.h>
int main(){
        for(int i = 0;i<500;i++){
               if(i%2==0&&i%7==0&&i%5!=0)
                       printf("%d-",i);
        }
}

 

Soru 6). Kullanıcıdan saat cinsinden bir tam sayı okuyup bu saat bilgisini, gün ve hafta olarak ekrana yazan programı yazınız. (Örneğin, 5000 saat = 29 hafta + 5 gün + 8 saat)

#include <stdio.h>
int main(){
        printf("saat cinsinden bir sayi giriniz");
        int saat;
        scanf("%d",&saat);
        int gun = saat/24;
        saat= saat %24;
        int hafta = gun /7;
        gun = gun %7;
        printf("saat %d gun %d hafta %d",saat,gun,hafta);
}

 

Soru 7). Aşağıda verilen kodun hatalarını düzeltiniz. (hataları kodun üzerinde düzeltmeyiniz. Kodun tamamını yeniden yazınız.)

#insert <studyo.h>

int main()

{

int num1, num2, average;

printf(3 sayı giriniz: );

scanf(&f&f, num1, num2);

if num1>6 & num2>6

printf(Hem %num1 hem de %num2 sayıları 6’dan büyüktür.\n);

else

printf(Hem %num1 hem de %num2 sayıları 6’dan küüçktür.\n);

num1+num2 / 2 = average;

printf(Ortalamaları: %average.\n);

return 0;

}

 

 

Soru 8) Aşağıdaki şıklar için ekrana basılan değerleri yazınız

a)

#include <stdio.h>

int f(int x)

{

x = 3 + x;

return x;

}

int main(void)

{

int x = 2;

int y = f(x);

printf("%d %d\n", x, y);

return 0;

}

 

2 5

 

b)

#include <stdio.h>

int f(int x)

{

x = 3 + x;

return x;

}

int main(void)

{

int x = 2;

int y = f(f(f(x)));

printf("%d %d\n", x, y);

return 0;

}

 

2 11

 

“Computer Science is no more about computers than astronomy is about telescopes. “
(E. W. Dijkstra)