Kocaeli Üniversitesi Bilgisayar Mühendisliği Programlama 2 Dersi Final Sınavı. A Grubu



Benzer belgeler
/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Fonksiyonlar (Altprogram)

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Diziler (Arrays) Çok Boyutlu Diziler

Sınav tarihi : Süre : 60 dak.

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

ALGORİTMA VE PROGRAMLAMA I

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

Dr. Fatih AY Tel: fatihay@fatihay.net

ALGORİTMA VE PROGRAMLAMA II

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Eln 1001 Bilgisayar Programlama I

Algoritma ve Programlama: Karar Yapıları ve Döngüler

BÖLÜM 5: TEMEL GİRİŞ/ÇIKIŞ FONKSİYONLARI

C Programlama Dilininin Basit Yapıları

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

Bölüm 8, Yrd. Doç. Dr. A. Kadir YALDIR PAÜ Bilgisayar Mühendisliği Bölümü BÖLÜM 8: DİZİLER

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

8. İŞARETCİLER (POINTERS)

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

Pointer Kavramı. Veri Yapıları

BÖLÜM 11: YAPISAL VERİ TİPLERİ

ÇOK BOYUTLU DİZİLER VE DİNAMİK BELLEK YÖNETİMİ İLE İLGİLİ ÖRNEKLER

/* Çember alanını hesaplar */

ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING)

İnternet Programcılığı Dersi 2.Dönem Ders Notu

ALGORİTMA VE PROGRAMLAMA I

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

C Konsol Giriş Çıkış Fonksiyonları

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar.

Programlama Dilleri Laboratuvarı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

STRİNG DİZİLER(KATARLAR)

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler

Bölüm 2 - C ile Programlamaya Giriş

Dizgiler. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir. Bu karakterlerin her biri aslında bir tamsayı ile ifade edilir.

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

C PROGRAMLAMA D İ L İ

Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri hafta -

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER

Yrd. Doç. Dr. Caner ÖZCAN

ELN1001 BİLGİSAYAR PROGRAMLAMA I

BİL1001 Bilgisayar Bilimlerine Giriş 1

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

Telefon Rehberi Uygulaması

Programlama Dilleri 1. Ders 5: Göstericiler

PROGRAMLAMAYA GİRİŞ DERS 2

ALGORİTMA VE PROGRAMLAMA I

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Hazır Fonksiyonlar {\} /\ Suhap SAHIN Onur GÖK 1

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

HSancak Nesne Tabanlı Programlama I Ders Notları

Özyineleme (Recursion)

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Adım Adım C-II. Eksik kalmış konular

ALGORİTMA VE PROGRAMLAMA II

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

Temel Giriş/Çıkış Fonksiyonları

C PROGRAMLAMA D İ L İ

Final Sınavı Soruları Güz, Süre: 90 Dakika

BÖLÜM 9: POINTERLER (İŞARETÇİLER)

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Giriş. ENF102 Jeoloji

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

Yrd. Doç. Dr. Caner ÖZCAN

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

Yrd. Doç. Dr. Caner ÖZCAN

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

ALGORİTMA VE PROGRAMLAMA I

BLM 111 ALGORİTMA VE PROGRAMLAMA I

BÖLÜM 7: DÖNGÜ KONTROL YAPILARI

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

BİLG Dr. Mustafa T. Babagil 1

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

ALGORİTMA VE PROGRAMLAMA I

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

Hafta 13 Fonksiyonlar

Strings(Karakter Dizisi)

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

Fonksiyonlar -Genel Test- A

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Program Çözümleme. Aşağıdaki örneklerde printf() ve scanf() fonksiyonlarının işlevleri gösterilmektedir. Liste 1.1. Çözümleme:

ALGORİTMA VE PROGRAMLAMA II

Transkript:

Kocaeli Üniversitesi Bilgisayar Mühendisliği Programlama 2 Dersi Final Sınavı A Grubu Ad Soyad: 11.06.2012 Numara: İmza: 1.) Aşağıdaki pointer bildiriminin anlamı hangisidir? int(*(*ptr1)())[2]; A.) ptr nin fonksiyon işaretçisi olduğu B.) ptr nin fonksiyonu işaret eden bir dizi olduğu C.) ptr nin geri dönüş türü bir dizi işaretçisi olan bir fonksiyon işaretçisi olduğu D.) ptr nin fonksiyonu işaret eden bir dizi olduğunu Cevap C dir. En baştaki int değerinden fonksiyona ait bir geri dönüş değeri olduğu ve bu geri dönüş değerinin dizi işaretçisi olduğu anlaşılmaktadır. 2.) Aşağıdaki C kodu derlenip çalıştırıldığında ekran çıktısı aşağıdakilerden hangisidir? int a[2][4]=3,6,9,12,15,18,21,24}; printf("%d %d %d",*(a[1]+2),*(*(a+1)+2),2[1[a]]); A.) 15 18 21 B.) 21 21 21 C.) 24 24 24 D.) Hiçbiri E.) Derleyici hatası Cevap :B dir. İki boyutlu bir dizi tanımlanıp değerleri atanmıştır. printf() içinde üç tane değerin ekrana bastırılacağı görünmektedir. a[1][4]=3,6,9,12,15} 0. Satırdaki değerler a[1][4]=15,18,21,24} 1. Satırdaki değerler printf() içinde bastırılacak ilk değer, a dizinin 1. satırında olan 2. indisli değerdir.(21) 2. Bastırılan değer ise dizilerin pointer gösteriminden yararlanılıp yine aynı yerdeki sayının bastırılması sağlanmıştır. 3. Bastırılacak ifadede yer alan 2[1[a]] aynı zamanda a[1][2] gösterimi ile eşdeğerdir. Bu yüzden yine 21 değeri bastırılır. 3.) Aşağıdaki C kodu derlenip çalıştırıldığında ekran çıktısı aşağıdakilerden hangisidir? int num,a=5; num=-a--; printf("%d %d",num,a);} A.) 5 4 B.) -4 4 C.) -4 5 E.) -5 4 Cevap : E dir. Decrement(azaltma) operatörü değişkenden sonra kullanıldığı için ilk önce değişkenin değeri diğer değişkene aktarılır, sonra değişkenin değeri bir azaltılır. Böylece a değişkenin değeri 5 iken num değikeninine -5 atanır(num=-a--;) daha sonra a nın değeri 1 azaltılır. Printf() ile ekrana -5 4 bastırılır. 4.) Aşağıdaki C kodunun çıktısı hangisidir? #define max printf("%d",max); A.) 0 B.) Null C.) -1 Cevap : D dir. Define tanımlamasındaki max değişkenine değer ataması yapılmadığı için derleyici hata verecektir. Örnek olarak: #define max 10 şeklinde bir tanımlama yapılsaydı, ekrana 10 değeri yazdırılacaktı. Ama şuan ki durumda derleyici hata verecektir. 5.) Aşağıdaki C kodunun çıktısı hangisidir? for(printf("1");!printf("0"); printf("2")) printf ("Sachin"); A.) 10sachin2 B.) 10sachin C.) 10sachin210sachin2 D.) 10 E.) Derleyici hatası Cevap D dir. For döngüsünün 3 tane parametresi bulunmaktadır. Bunlar başlangıç, koşul ve artış parametreleridir. İlk parametre olan printf("1") kod sonucunda ekrana 1 değeri basılır ve koşul kontrol edilir koşul kontrolü yapılırken printf("0") kodu çalıştırlır ve ekrana 0 değeride basılıor ve daha önce ekrana basılan başlangıç değeri sıfır değerinden farklı olduğu için döngüden çıkılır. Böylece akranda 10 değeri görüntülenir.

6.) Aşağıdaki C kodunun çıktısı hangisidir? int main() struct employee unsigned id: 8; unsigned sex:1; unsigned age:7; }; struct employee emp1=203,1,23}; clrscr(); printf("%d\t%d\t%d",emp1.id,emp1.sex,emp 1.age); getch(); } A.) 203 3 23 B.) 1 203 23 C.) 203 1 23 D.) 23 203 1 E.) 203 203 203 Cevap : C dir. Bir yapı tanımlanıp ilk değerleri atanmıştır ve değerleri ekrana bastırılmıştır. 7.) Aşağıdaki C kodu çalıştırıldığında çıktısı hangisi int check=2; switch(check) case 1: printf("d.w.steyn"); case 2: printf(" M.G.Johnson"); case 3: printf(" Mohammad Asif"); default: printf(" M.Muralidaran"); } A.) M.G.Johnson B.) M.Muralidaran C.) M.G.Johnson Mohammad Asif M.Muralidaran Cevap : C dir. Switch içinde check değişkeni kontrol edilmiştir. Bu değişken 2 ye setlendiği için case:2 kodundan itibaren de hiç break komutu kullanılmadığından C deki çıktıyı üretir. 8.) Aşağıdaki C kodu çalıştırıldığında çıktısı hangisi int a=100; if(a>10) printf("m.s. Dhoni"); else if(a>20) printf("m.e.k Hussey"); else if(a>30) printf("a.b. de villiers"); A.B. de Villiers (Birden fazla doğru durum vardır.) Cevap : A dır. İlk if yapısı sağlandığı için diğer yapılara girmeden A şıkkındaki çıktıyı üretir. 9.) Aşağıda verilen bilgilerden hangisi yanlıştır? A.) Dizi elemanlarının tamamı aynı tiplerden oluşurken, yapı(structure) elemanlarının tamamı aynı tipli de farklı tipli de olabilir. B.) Bir yapı değişkeni normal bir değişken gibi fonksiyona argüman olarak verilemez. C.) malloc() fonksiyonundan geriye dönen değere atanan işaretçi(pointer) bellekte tutulacak verinin yerini gösterir. D.) İki boyutlu bir dizinin her bir sütunu yine iki boyutlu bir dizi gibi düşünülebilir. E.) String tanımlaması yapılırken dizi notasyonu kullanılırsa(char [] gibi) bellekte aynı miktarda yer işgal eder. Pointer notasyonu(char * gibi) kullanılırsa bellekte farklı miktarda yer işgal eder. Cevap B dir. A-Yapıların elemanları farklı türlerden olabilirken, diziler aynı türlü olmalıdır. Mesela struct isci int tc; char cinsiyet; string isim; float maas }; gibi int dizi[10] tanımlamasında ise dizinin tüm elemanları int türündendir. B-yapı değişkeni fonksiyonlara arguman olarak verilebilir. Mesela son quizlerde hurdaya çıkacak arabların yaşını fonksiyonla buldurmuştuk. C-malloc() fonksiyonundan geriye dönen değer verinin bellekte tutulacağı yeri işaret eder. D- mesela a[2][4]=3,6,9,12,15,18,21,24} tanımlamasındaki her bir sutün da 3,15}6,18}9,21}12,24} kendi iiçinde iki boyutlu ([1][2]) bir dizidir. E- Stringi char dizi[10] şeklinde tanımlarsak 10 karakterlik bir string tanımlamış oluruz. char *dizi şeklinde ise değişken uzunlukta olmuş olur. 10.) Makroyu hangisi tanımlar? A.) printf() fonksiyonunu simüle eden #define ön işlemci komutudur. B.) Geriye değer dönebilen #define ön işlemci komutudur. C.) scanf() fonksiyonunu simüle eden #define ön işlemci komutudur. D.) Hiçbiri E.) Fonksiyon gibi davranan #define ön işlemci komutudur. Cevap : E dir. Son quizlerde de 3 tane saıyı makro kullanarak küçükten büyüğe doğru sıralamanızı istemiştik. Yani makrolar fonksiyon gibi davranan #define ön işlemci komutudur; ama printf() veya scanf() gibi standart giriş/çıkış işlemlerini sümüle etmezler. Fonksiyon gibi davranmalarına rağmen geriye değer döndürmezler. A.) M.S. Dhoni B.) A.B. de villiers C.) M.S Dhoni M.E.K Hussey

11.) Aşağıdaki C kodu parçasında x in son değeri ne #define z x #define y x #define x y int x = 1; int y = 2; x = y + z; } } Cevap C dir. int x = 1 işlemi ile x, y ve z değişkenlerine de 1 değeri atanır. Daha sonra int y = 2 işlemi ile de y ve x değişkenlerine 2 değeri atanmış olur yani : y=2,x=2 ve z=1 değerlerini gösterir. Son olarak x = y + z işlemi ile x=2+1 =3 sonucu döndürülür ve böylece x değişkeni 3 değerini gösterir. A.) 1 B.) 2 C.) 3 D.) 4 E.) 5 12.) Aşağıdaki a ve b için hangi scanf kullanılır? float a; double b; A.) scanf("%f %f", &a, &b); B.) scanf("%lf %Lf", &a, &b); C.) scanf("%f %Lf", &a, &b); D.) scanf("%f %lf", &a, &b); E.) scanf("%f %f", a, b); Cevap D dir. Scanf ile değişkenlerin kullanımına ait tablo aşağıda gösterilmiştir.

Kocaeli Üniversitesi Bilgisayar Mühendisliği Programlama 2 Dersi Final Sınavı 2. Eğitim A Grubu Ad Soyad: 11.06.2012 Numara: İmza: 1. Aşağıdaki C kodunun ekran çıktısı hangisidir? int *p1,**p2; double *q1,**q2; printf("%d %d ",sizeof(p1),sizeof(p2)); printf("%d %d",sizeof(q1),sizeof(q2)); getch(); float avg(float,float,float); float p=1, q=2, r=-2, a; a=avg(p,(q=4, r=-12, q), r); printf("%f",a); getch(); } float avg(float x,float y,float z) return (x+y+z)/3; } A.) 1 2 4 8 B.) 2 4 4 8 C.) 2 4 2 4 D.) 4 4 4 4 E.) 2 2 4 4 Cevap : D dir. Sistemin mimari ve derleyiciye bağlı olarak değişmektedir. İnteger ile double nellekte aynı miktarda yer işgal ederler. Sistemin 16-bitlik olduğunu kabul edersek cevap 2 2 2 2 olmalı, 32-bitlik kabul edersek 4 4 4 4 olmalıydı. 2. Aşağıdaki C kodu derlenip çalıştırıldığında ekran çıktısı aşağıdakilerden hangisidir? char arr[]="c Question Bank"; char *p; p+=3; p=arr; p+=3; *p=100; printf("%s",arr); A.) C Question Bank B.) C Quesdion Bank C.) C Qdestion Bank D.) C Q100estion Bank E.) Derleyici hatası Cevap :C dir. p işaretçisi arr dizisini işaret etmektedir. Daha sonra işaretçinin işaret ettiği yer 3 karakter ileri yer değiştilip oraya decimal olarak 100 değeri ekleniyorki bu da hexal 64 de karşılık gelmektedir(d karakteridir). En son olarak stringin son hali yazdırılıyor. 3. Aşağıdaki C kodunun çıktısı hangisidir? A.) 0.111111 B.) 1.000000 C.) -0.777777 D.) -1.000000 E.) Derleyici Hatası Cevap B dir. Avg fonksiyonu sadece bir kez çalıştırılır. İçerideki parentez integer bir değer olmadığı için derleyici parantez içerisindeki en son değer olan 4 değerini işleme alır yani fonksiyon avg(1,4,-2) değerleri ile çalıştırılır ve 1.000000 değeri elde edilir. Derleyicinin q değeri olarak 4 değerini almasının sebebi de parantez içerisinde q=4 atamasının yapılmış olmasıdır. 4. Aşağıdaki C kodu çalıştırıldığında çıktısı hangisi int i; for(i=0;i<5;i++) int i=10; printf(" %d",i); i++; } A.) 10 11 12 13 14 B.) 10 10 10 10 10 C.) 0 1 2 3 4 Cevap : B dir. for döngüsü içinde i değişkeni her seferinde yeniden 10 a atandığından yan yana 5 tane 10 yazdırılır. 5. Aşağıda verilen string fonksiyonlarından hangisinin açıklaması yanlıştır? A.) strcmp( str1,str2 ): str1 ve str2 yi karşlaştırır B.) strcpy( str1,str2 ): str2 yi str1 e kopyalar

C.) strncpy(s1,s2,n): s2 içinde buluna ilk n karakteri s1 e kopyalar D.) strcat( str1,str2 ): str1 i str2 ye ekler E.) strrev( str ): str yi ters çevirir Cevap : D dir. strcat str2 yi str1 e ekler. 6. Aşağıdaki C kodu çalıştırıldığında çıktısı hangisi int main() struct field int a; char b; }bit; struct field bit1=5,'a'}; struct field *p=&bit1; p->a=45; printf("\n%d",bit1.a); A.) 5A B.) 4A C.) 45 D.) A4 E.) 5A45 Cevap : c dir. field isimli bir struct an bit1 isimli bir değişken tanımlanıyor. Sonra bu değişkeni işaret eden bir pointer tanımlanıp yapının a elemanına 45 değeri atanıyor. Bu değer de printf() ile ekrana bastırılıyor. 7. Aşağıdaki C kodu çalıştırıldığında çıktısı hangisi #include <string.h> #define L 10 main() int money=10; switch(money*5) case L: printf("willian"); break; case L*2:printf("Warren"); break; case L*3:printf("Carlos"); break; default: printf("lawrence"); case L*4:printf("Inqvar"); break; } A.) Willian B.) Warren C.) LawrenceInqvar (default kullanımı yanlış) Cevap : C dir. switch içindeki değer money*5=50 olduğundan default anahtar kelimesine kadar hiçbir case e uymaz. Default olarak Lawrence ekrana bastırılır; fakat sonunda break komutu olmadığından alt case ifadesi de işleme sokulur ve Inqvar da yazdırılır. 8. Aşağıdaki C kodu çalıştırıldığında çıktısı hangisi int a=5,b=10; if(++a ++b) printf("%d %d",a,b); else printf("john Terry"); A.) 5 10 B.) 6 10 John Terry C.) 6 10 D.) 5 11 E.) John Terry Cevap : C dir. if içerinde veya lı bir koşul vardır. Veya lı koşullarda koşulun soldan sağa doğru işlenmesi söz konusudur. İlkin ++a koşuluna bakılır bu da 6 değeri yanı sıfırdan farklı bir değer olduğundan 1 e karşılık gelir. Bu yüzden ++b ifadesinin işlenmesine gerek kalmaz. Ekrana 6 ve 10 değerleri yazdırılır. 9. Aşağıdaki programa hangi ifade(statement) eklenirse doğru bir şekilde çalışır? void main() 1. 2 int j, *ptrj; 3. 4 *ptrj=3; 5. } A.) 3. Satıra *ptrj=&j; eklenmelidir. B.) 3. Satıra * ptrj=&&j; eklenmelidir. C.) 3. Satıra ptrj=**j; eklenmelidir. D.) 3. Satıra *ptrj=j; eklenmelidir. E.) 3. Satıra ptrj=++j; eklenmelidir. Cevap. Bu şekliyle de çalışır; ama burada önemli olan bir pointer ın bir integer değişkeni nasıl işaret ettiği sorulmaktadır. ptrj=&j; olmalıdır. Şıklarda yanlışlıkla A şıkkında * işareti konulduğu için bu soru İPTAL edilmiştir. D şıkkında ise pointerın hangi değişkeni işaret ettiği belli olmadığından bu şık da kabul edilmemiştir. 10. Aşağıdaki program parçacığındaki 3 sayıları arasındaki fark nedir? int num[3]; num[3] =5; A.) İlki dizinin belirli bir elemanı, ikincisi tiptir. B.) İlki dizinin boyutu, ikincisi dizinin belirli bir elemanıdır. C.) İlki dizinin belirli bir elemanı, ikincisi dizinin büyüklüğüdür. D.) Her ikisi de dizinin belirli bir elemanını gösterir. Cevap: B dır. ilk satırdaki 3 sayısı dizinin boyutu/eleman sayısını ifade ederken, ikinci satırdaki 3 num dizisinin 3.indisli elemanını(belirli bir elemanını) göstermektedir. 11. Aşağıdaki C kodu parçasında x in değeri ne int a = 10; int *b = &a, c = *&a; int x = c+a/*b;

A.) 10 B.) 11 C.) 12 D.) 13 E.) Syntax error Cevap E dir. Derleyici int x = c+a/*b; bildiriminde /*b satırını açıklama satırı olarak algılayacaktır. /* ifadesi açıklama satırının başladığını gösterir. Doğru ifade int x = c+a/ *b şeklinde olmalıydı. Yani / simgesi ile *b pointer ı arasında bir boşluk olmalıydı. 12. Aşağıdaki C kodu çalıştırıldığında çıktısı hangisi void main () int i = 0, a[3] ; a[i] = i++; printf ( %d",a[i]) ;} A.) 1 B.) 2 C.) 3 D.) 4 Cevap E dir. a dizisine ilk olarak i değeri atanır ve daha sonra i değişkenin değeri arttırılır. Yani adizisinin sıfırıncı elemanına 0 değeri atanır ve daha sonra i değişkeninin değeri bir olur. Ekrana a[0] değeri yazdırıldığında 0 değeri ekran çıktısı olarak görüntülenir. Not: Sınav süresi 50 dakikadır. Cevap anahtarına grubunuzu işaretlemeyi unutmayınız. Başarılar. Doç Dr. Nevcihan DURU