Ara Sınav (Vize) 10 soru

Nesneye Yönelik Programlama Vize Deneme Sınavı -2

Kaynak: https://lolonolo.com/2022/08/11/nesneye-yonelik-programlama-vize-deneme-sinavi-2/

📖 Konu özeti (sınav öncesi tekrar)

Nesneye Yönelik Programlama Vize Deneme Sınavı -2

Nesneye Yönelik Programlama Vize Deneme Sınavı -2

10 soru
Şıkka dokun, anında açıklamasını gör — ya da çalışma modunda tüm cevapları aç.
Soru 1
I – var sehir;
II – var sehir = “İstanbul”;
III – int 3yas;
Yukarda verilen değişken tanımları ile ilgili hangi ifade veya ifadeler doğrudur?
BDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

var ile tanımlanan değişkene tanım anında değer atanmalıdır, çünkü tip atanan değerden çıkarılır; bu yüzden var sehir; hatalıdır. int 3yas; da değişken adı rakamla başladığı için geçersizdir. Yalnızca var sehir = "İstanbul"; doğrudur.

Soru 2
int türündeki bir değişkenin boyutu kaç byte’tır?
DDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

C#'ta int tipi 32 bitlik işaretli bir tam sayıdır; 32 bit = 4 byte eder. Karşılaştırma için short 2 byte, long 8 byte'tır.

Soru 3
I – double tutar;
II – string ad;
III – int boyut;
Yukarda verilen değişken tanımları ile ilgili hangi ifade veya ifadeler doğrudur?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Üç tanım da geçerlidir: double tutar; ondalıklı sayı, string ad; metin, int boyut; tam sayı tipinde değişken tanımlar. Değişken adları harfle başladığı ve tipler doğru yazıldığı için hata yoktur.

Soru 4
C# dilinde sizeof işleci ile ilgili aşağıdakilerden hangisi doğrudur?
ADoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

C#'ta sizeof işleci verilen değer tipinin bellekte kapladığı alanı byte cinsinden döndürür; örneğin sizeof(int) 4 değerini verir. Türü öğrenmek için ise typeof veya GetType() kullanılır.

Soru 5
C# dilinde Kutulama (Boxing) işleminin amacı nedir?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Kutulama (boxing), int gibi bir değer tipini object gibi bir referans tipine dönüştürmektir: object o = 5;. Değer, heap üzerinde oluşturulan bir nesnenin içine konur.

Soru 6
C# dilinde Kutudan Çıkartma (Unboxing) işleminin amacı nedir?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Kutudan çıkarma (unboxing), daha önce kutulanmış bir referans tipini (object) tekrar değer tipine açık dönüşümle çevirmektir: int x = (int)o;. Kutulamanın tersi işlemdir.

Soru 7
I – Örtülü Dönüşüm (Implicit Cast) işlemini destekler
II – Açık Dönüşüm (Explicit Cast) işlemini destekler
III – Tür dönüşümünde her zaman veri kaybı yaşanır.
C# dili için yukarda verilen tür dönüşüm işlemleri ile ilgili hangi ifade veya ifadeler doğrudur?
CDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

C# hem örtük (implicit, ör. int'ten long'a) hem de açık (explicit, ör. (int)3.7) tür dönüşümünü destekler. Ancak her dönüşümde veri kaybı olmaz; küçük tipten büyük tipe yapılan örtük dönüşümlerde kayıp yaşanmaz. Bu yüzden I ve II doğrudur.

Soru 8
I – int a = (int) 3.4;
II – long b = (long) 2.4;
III – int c = (int) 4.0;
C# dili için yukarda verilen tür dönüşüm işlemleri ile ilgili hangi madde yada maddelerde veri kaybı yaşanır?
CDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

Ondalıklı bir sayı tam sayıya açıkça dönüştürüldüğünde ondalık kısım atılır. (int)3.4 3, (long)2.4 2 olur; bu iki dönüşümde 0.4'lük kısım kaybolur. (int)4.0 ise 4 olur ve ondalık kısım zaten sıfır olduğundan veri kaybı yoktur.

Soru 9
I – ushort
II – long
III – int
C# dili için yukarda verilenden maddelerden hangisi veya hangileri değer türündeir (value type) ?
EDoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

ushort, long ve int sayısal tiplerdir ve C#'ta tüm temel sayısal tipler değer tipidir (struct). Değer tipleri veriyi doğrudan saklar; bu yüzden üçü de değer tipidir.

Soru 10
I – string
II – double
III – uint
C# dili için yukarda verilenden maddelerden hangisi veya hangileri referans türündeir (reference type) ?
ADoğru cevap
Açıklama 🤖 Yapay zekâ açıklaması

C#'ta string bir referans tipidir (System.String sınıfı). double ve uint ise sayısal değer tipleridir. Bu yüzden yalnızca I referans tipidir.