En İyi 100 C Programlama Mülakat Soruları ve Cevapları (PDF)
İşte hem yeni hem de deneyimli adayların hayallerindeki işi bulmaları için C Programlama mülakat soruları ve cevapları.
Yeni Öğrenciler için Temel C Programlama Mülakat Soruları ve Cevapları
1) C'de bir artırma ifadesini veya azaltma ifadesini nasıl oluşturursunuz?
Aslında bunu yapmanın iki yolu vardır. Birincisi, artırma operatörü ++ ve azaltma operatörü – kullanmaktır. Örneğin, “x++” ifadesi x değerini 1 artırmak anlamına gelir. Benzer şekilde, “x –” ifadesi x değerini 1 azaltmak anlamına gelir. Artırma ifadelerini yazmanın bir başka yolu da geleneksel + artı işareti veya – eksi işaretini kullanmaktır. “x++” durumunda, bunu yazmanın bir başka yolu da “x = x +1”dir.
👉 Ücretsiz PDF İndir: C Programlama Mülakat Soruları ve Cevapları >>
2) Değere Göre Çağrı ile Referansa Göre Çağrı arasındaki fark nedir?
Değere Göre Çağrı'yı kullanırken, bir değişkenin değerini bir işleve parametre olarak gönderirsiniz; Referansa Göre Çağrı ise değişkenin adresini gönderir. Ayrıca Değere Göre Çağırma altında, parametredeki değer gerçekleşen işlemden etkilenmez; Referansa Göre Çağrı durumunda ise değerler fonksiyon içindeki süreçten etkilenebilir.
3) Bazı kodlayıcılar, bazı kodları silmek yerine yorum simgeleri yerleştirerek programlarında hata ayıklar. Bu hata ayıklamaya nasıl yardımcı olur?
Bir kodun etrafına /* */ yorum sembollerini yerleştirmek, aynı zamanda "yorum yapmak" olarak da anılır, programda hatalara yol açabileceğini düşündüğünüz bazı kodları, kodu silmeden izole etmenin bir yoludur. Buradaki fikir, eğer kod gerçekten doğruysa, yorum simgelerini kaldırıp devam etmeniz yeterlidir. Ayrıca, ilk etapta sildiyseniz kodları yeniden yazma zorunluluğunuzdan ve zamandan da tasarruf etmenizi sağlar.
4) Aşağıdaki ifadenin WHILE LOOP formatındaki eşdeğer kodu nedir?
for (a=1; a<=100; a++) printf ("%d\n", a * a);
Cevap:
a=1; while (a<=100) { printf ("%d\n", a * a); a++; }
5) Yığın nedir?
Yığın, veri yapısının bir biçimidir. Veriler FILO (İlk Giren Son Çıkar) yaklaşımı kullanılarak yığınlar halinde depolanır. Herhangi bir özel durumda, yığının yalnızca tepesine erişilebilir; bu, yığının içinde depolanan verileri almak için önce üst kısımdakilerin çıkarılması gerektiği anlamına gelir. Verilerin bir yığında saklanmasına PUSH, veri alımına da POP adı verilir.
6) Sıralı erişim dosyası nedir?
Bir dosyada veri saklayacak ve alacak programlar yazarken o dosyayı farklı formlarda belirlemek mümkündür. Sıralı erişim dosyası, verilerin sıralı olarak kaydedileceği şekildedir: bir veri, dosyaya birbiri ardına yerleştirilir. Sıralı erişim dosyasındaki belirli bir veriye erişmek için, doğru veriye ulaşılıncaya kadar verinin teker teker okunması gerekir.
7) Değişken başlatma nedir ve neden önemlidir?
Bu, bir değişkene programda kullanılmadan önce bir başlangıç değerinin atandığı süreci ifade eder. Başlatma olmadan, bir değişkenin bilinmeyen bir değeri olur ve bu da hesaplamalarda veya diğer işlemlerde kullanıldığında öngörülemeyen çıktılara yol açabilir.
8 Spagetti programlama nedir?
Spagetti programlama, program boyunca birbirine karışma ve üst üste binme eğiliminde olan kodlara atıfta bulunur. Kodlamaya yönelik bu yapılandırılmamış yaklaşım genellikle programcının deneyim eksikliğine atfedilir. Spagetti programlama, bir programı karmaşık hale getirir ve kodları analiz etmeyi zorlaştırır, bu nedenle mümkün olduğunca kaçınılmalıdır.
9) Kaynak Kodlarını Nesne Kodlarından Ayırın
Kaynak kodları programcının yazdığı kodlardır. Bilgisayara ne yapması gerektiğini söylemesi gereken komutlardan ve diğer İngilizce benzeri anahtar kelimelerden oluşur. Ancak bilgisayarlar kaynak kodlarını anlayamayacaktır. Bu nedenle kaynak kodları bir derleyici kullanılarak derlenir. Ortaya çıkan çıktılar bilgisayar işlemcisinin anlayabileceği formatta nesne kodlarıdır. İçinde C programlamakaynak kodları .C dosya uzantısıyla kaydedilirken, nesne kodları .OBJ dosya uzantısıyla kaydedilir.
10) C programlamada, alıntı karakterlerini (' ve “) çıkış ekranına nasıl eklersiniz?
Bu, yeni başlayanlar için yaygın bir sorundur çünkü tırnak işaretleri normalde bir printf ifadesinin parçasıdır. Tırnak işaretini çıktının bir parçası olarak eklemek için, \' (tek tırnak için) ve \” (çift tırnak için) biçim belirteçlerini kullanın.
11) '\0' karakterinin kullanımı nedir?
Sonlandırıcı boş karakter olarak anılır ve öncelikle bir dize değerinin sonunu göstermek için kullanılır.
12) = sembolü ile == sembolü arasındaki fark nedir?
= sembolü matematiksel işlemlerde sıklıkla kullanılır. Belirli bir değişkene değer atamak için kullanılır. Öte yandan “eşit” veya “eşdeğer” olarak da bilinen == sembolü, iki değeri karşılaştırmak için kullanılan ilişkisel bir operatördür.
13) Modül operatörü nedir?
Modül operatörü bir bölümün geri kalanını verir. Yüzde (%) sembolünü kullanır. Örneğin: %10 3 = 1, yani 10'u 3'e böldüğünüzde kalan 1 olur.
14) İç içe döngü nedir?
İç içe döngü, başka bir döngü içinde çalışan bir döngüdür. Başka bir deyişle, dış döngünün içinde bir iç döngünüz var. Bu senaryoda iç döngü, dış döngü tarafından belirtilen sayıda gerçekleştirilir. Dış döngünün her dönüşünde ilk olarak iç döngü gerçekleştirilir.
15) Aşağıdaki operatörlerden hangisi yanlıştır ve neden? ( >=, <=, <>, ==)
<> yanlış. Bu operatör, koşullu ifadelerin yazımında "eşit değildir" şeklinde doğru şekilde yorumlansa da, kullanılması uygun bir operatör değildir. C programlama. Bunun yerine “eşit değil” koşulunu belirtmek için != operatörü kullanılmalıdır.
16) Tercümanların derleyicilerini karşılaştırın ve karşılaştırın.
Derleyiciler ve yorumlayıcılar genellikle program kodlarının nasıl yürütüldüğüyle ilgilenir. Yorumlayıcılar program kodlarını satır satır çalıştırırken, derleyiciler programı bir bütün olarak alır ve çalıştırmadan önce nesne koduna dönüştürür. Buradaki temel fark, yorumlayıcılar söz konusu olduğunda, programın yürütmenin ortasında sözdizimi hatalarıyla karşılaşabilmesi ve oradan durabilmesidir. Öte yandan, derleyiciler tüm programın sözdizimini kontrol eder ve yalnızca hiçbir sözdizimi hatası bulunmadığında yürütmeye devam eder.
17) String değerlerini tutacak bir değişkeni nasıl bildirirsiniz?
char anahtar sözcüğü aynı anda yalnızca 1 karakter değeri tutabilir. Bir karakter dizisi oluşturarak, içinde dize değerleri saklayabilirsiniz. Örnek: “char MyName[50]; ”, maksimum 50 karakter tutabilen MyName adlı bir dize değişkeni bildirir.
18) Kıvrımlı parantezler { } tek bir kod satırını kapatmak için kullanılabilir mi?
Kıvrımlı parantezler çoğunlukla birkaç satır kodu gruplamak için kullanılsa da, tek bir satır için kullansanız bile hatasız çalışacaktır. Bazı programcılar, özellikle koşullu ifadelerde, kodları daha net göstermek için düzenlemenin bir yolu olarak bu yöntemi tercih eder.
19) Başlık dosyaları nedir ve C programlamada kullanımları nelerdir?
Başlık dosyaları aynı zamanda kitaplık dosyaları olarak da bilinir. İki temel şeyi içerirler: Bir programda kullanılan işlevlerin tanımları ve prototipleri. Basitçe söylemek gerekirse, C programlamada kullandığınız komutlar aslında her başlık dosyasından tanımlanan işlevlerdir. Her başlık dosyası bir dizi işlev içerir. Örneğin: stdio.h, printf ve scanf gibi komutların tanımını ve prototiplerini içeren bir başlık dosyasıdır.
20) Söz dizimi hatası nedir?
Sözdizimi hataları, bir programlama dilinin kullanımındaki hatalarla ilişkilidir. Yanlış yazılmış bir komut veya küçük harf modunda girilmesi gereken ancak bunun yerine büyük harf karakteriyle girilmiş bir komut olabilir. Bir kod satırının herhangi bir yerinde yanlış yerleştirilmiş bir sembol veya sembol eksikliği de sözdizimi hatasına yol açabilir.
21) Değişken nedir ve sabitlerden farkı nedir?
Değişkenler ve sabitler, her ikisinin de bir veya daha fazla karakterden (harfler, sayılar ve birkaç izin verilen sembol) oluşan tanımlayıcılar olması bakımından ilk bakışta benzer görünebilir. Her ikisi de belirli bir değere sahip olacak. Bir değişkenin tuttuğu değerler program boyunca değiştirilebilir ve çoğu işlem ve hesaplamada kullanılabilir. Sabitlere yalnızca bir defada değer verilir ve programın başına yerleştirilir. Bu değer programda değiştirilmez. Örneğin PI adında bir sabit atayıp ona 3.1415 değerini verebilirsiniz. Daha sonra her ihtiyaç duyduğunuzda 3.1415 yazmak zorunda kalmak yerine programda PI olarak kullanabilirsiniz.
22) Bir dizi içindeki değerlere nasıl erişirsiniz?
Diziler, değişken bildirimi sırasında verdiğiniz boyuta bağlı olarak bir dizi öğe içerir. Her elemana 0'dan eleman sayısı-1'e kadar bir sayı atanır. Belirli bir öğenin değerini atamak veya almak için öğe numarasına bakın. Örneğin: "intscores[5];" diyen bir beyanınız varsa, 5 erişilebilir öğeniz vardır: puanlar[0], puanlar[1], puanlar[2], puanlar[3] ve puanlar[4 ]
23) 32768 değerini saklamak için “int” veri tipini kullanabilir miyim? Neden?
Hayır. “int” veri türü -32768 ile 32767 arasındaki değerleri saklama kapasitesine sahiptir. 32768'i saklamak için bunun yerine “long int” kullanabilirsiniz. Negatif değerleri saklama niyetinde olmadığınızı varsayarak "unsigned int" komutunu da kullanabilirsiniz.
24) \n ve \t gibi iki veya daha fazla operatör tek bir program kodu satırında birleştirilebilir mi?
Evet, özellikle ihtiyaç ortaya çıkarsa operatörleri birleştirmek tamamen doğrudur.
Örneğin: şöyle bir kodunuz olabilir printf (“Hello\n\n\’World\'”)
İlk satırda "Merhaba" metnini ve sonraki iki satırda tek tırnak içine alınmış "Dünya" metnini çıkarmak için.
25) Neden tüm başlık dosyaları her C programında bildirilmiyor?
Her C programının en üstünde bir başlık dosyası bildirme seçimi, o programda hangi komutları/işlevleri kullanacağınıza bağlı olacaktır. Her başlık dosyası farklı fonksiyon tanımları ve prototip içerdiğinden, yalnızca ihtiyaç duyacağınız fonksiyonları içeren başlık dosyalarını kullanacaksınız. Her programdaki tüm başlık dosyalarının bildirilmesi yalnızca genel dosya boyutunu ve programın yükünü artırır ve iyi bir programlama stili olarak kabul edilmez.
26) Bir fonksiyonda “void” anahtar kelimesi ne zaman kullanılır?
Fonksiyonları bildirirken, o fonksiyonun bir değer döndürüp döndürmeyeceğine karar vereceksiniz. Bir fonksiyonun amacının ekranda bazı çıktıları görüntülemek olması gibi durumlarda, bu fonksiyon bir değer döndürmezse, o zaman fonksiyon başlığının en sol kısmına "void" yerleştirilmelidir. Fonksiyon çalıştırıldıktan sonra bir dönüş değeri beklendiğinde “void” yerine dönüş değerinin veri türü konur.
27) Bileşik ifadeler nelerdir?
Bileşik ifadeler, birlikte yürütülen iki veya daha fazla program ifadesinden oluşur. Bu genellikle, bir TRUE veya FALSE değerlendirildiğinde bir dizi ifadenin yürütüldüğü koşulları işlerken meydana gelir. Bileşik ifadeler bir döngü içinde de yürütülebilir. Kıvrımlı parantezler { }, bileşik ifadelerden önce ve sonra yerleştirilir.
28) Algoritmanın C programlama açısından önemi nedir?
Bir programın yazılabilmesi için önce bir algoritmanın oluşturulması gerekir. Algoritma, bir çözümün nasıl elde edilebileceğine dair adım adım prosedür sağlar. Aynı zamanda hangi süreç ve hesaplamaların dahil olduğu da dahil olmak üzere bir programın nasıl başlayacağı ve biteceği konusunda bir plan görevi görür.
29) Bir dizinin bireysel değişkenlere göre avantajı nedir?
Birden fazla ilgili veriyi saklarken dizileri kullanmak iyi bir fikirdir. Bunun nedeni, dizilerin yalnızca 1 kelime ve ardından bir öğe numarası kullanılarak adlandırılmasıdır. Örneğin: 10 öğrencinin 1 test sonucunu saklamak için 10 farklı değişken adı kullanılabilir (sınıf1, sınıf2, sınıf3… sınıf10). Dizilerde yalnızca 1 ad kullanılır, geri kalanlara dizin adı aracılığıyla erişilebilir (derece[0], derece[1], derece[2]… derece[9]).
30) Aşağıdaki çıktıyı gösterecek bir döngü ifadesi yazın:
1
12
123
1234
12345
Cevap:
for (a=1; a<=5; i++) { for (b=1; b<=a; b++) printf("%d",b); printf("\n"); }
Tecrübeli C Programlama Mülakat Soruları ve Cevapları
31) Bu ifadede yanlış olan ne? scanf(“%d”,kaçsayısı);
Whatnumber değişken adından önce bir ve işareti ve sembolü yerleştirilmelidir. Yerleştirme &, kullanıcı tarafından girilen tamsayı değerinin değişken adının “adresinde” saklandığı anlamına gelir. Bu, programcılar için yaygın bir hatadır ve sıklıkla mantıksal hatalara yol açar.
32) C'de rastgele sayıları nasıl üretirsiniz?
Rastgele sayılar C'de aşağıdakiler kullanılarak oluşturulur: rand() command
. Örneğin: anyNum = rand()
anyNum'un tamsayı türünde bir değişken olduğunu varsayarak 0'dan başlayarak herhangi bir tam sayı üretecektir.
33) Tolower() gibi geçerli bir fonksiyon adı C derleyicisi tarafından tanımsız olarak bildiriliyorsa sorun ne olabilir?
Bu hatanın en olası nedeni, o fonksiyona ait başlık dosyasının programın üst kısmında belirtilmemiş olmasıdır. Başlık dosyaları, bir C programında kullanılan işlevler ve komutların tanımını ve prototipini içerir. "tolower()" durumunda, "#include" kodu ” programın başında bulunmalıdır.
34) Yorumlar nedir ve bunları bir C programına nasıl eklersiniz?
Yorumlar bir programa bazı açıklamalar veya açıklamalar koymanın harika bir yoludur. Programın neyle ilgili olduğuna dair bir hatırlatma görevi görebilir veya belirli bir kodun veya işlevin neden buraya yerleştirildiğine dair bir açıklama görevi görebilir. Yorumlar /* ile başlar ve */ karakterleri ile biter. Yorumlar tek satır olabileceği gibi birden fazla satıra da yayılabilir. Programın herhangi bir yerine yerleştirilebilir.
35) Hata ayıklama nedir?
Hata ayıklama, bir programdaki hataları tanımlama işlemidir. Program derlemesi sırasında bulunan hatalar programın çalışmasını tamamen durduracaktır. Bu durumda programcı hatanın meydana geldiği olası kısımlara bakacaktır. Hata ayıklama, hataların giderilmesini sağlar ve beklenen program çıktısının karşılanmasının sağlanmasında önemli bir rol oynar.
36) && operatörü bir program kodunda ne yapar?
&& aynı zamanda AND operatörü olarak da adlandırılır. Bu operatörü kullanırken, bir sonraki eylemin gerçekleştirilebilmesi için belirtilen tüm koşulların DOĞRU olması gerekir. 10 koşulunuz varsa ve 1'i hariç tümü DOĞRU olarak değerlendirilemiyorsa, koşul ifadesinin tamamı zaten YANLIŞ olarak değerlendirilmiştir.
37) C programlamada bir sayının tek mi çift mi olduğunu belirlemek için hangi komut veya kod kullanılabilir?
Tek bir komut veya C'deki fonksiyon bir sayının tek mi çift mi olduğunu kontrol edebilen. Ancak, bu sayıyı 2'ye bölüp kalanı kontrol ederek yapılabilir. Kalan 0 ise, o sayı çifttir, aksi takdirde tektir. Bunu kodda şu şekilde yazabilirsiniz:
if (num % 2 == 0) printf("EVEN"); else printf("ODD");
38) Bir printf ifadesine dahil edildiğinde %10.2 formatı ne anlama gelir?
Bu format iki şey için kullanılır: çıktı numarası için ayrılan boşluk sayısını ayarlamak ve ondalık basamak sayısını ayarlamak. Ondalık noktadan önceki sayı ayrılan alan içindir, bu durumda çıkış numarası için 10 boşluk ayrılacaktır. Çıkış numarasının kapladığı alan sayısı 10'dan az ise, gerçek çıkış numarasının önüne ilave boşluk karakterleri eklenecektir. Ondalık noktadan sonraki sayı, ondalık basamakların sayısını belirler; bu durumda, 2 ondalık basamaktır.
39) Mantıksal hatalar nelerdir ve sözdizimi hatalarından farkı nedir?
Mantıksal hatalar içeren program derleme sürecini geçme eğilimindedir ancak ortaya çıkan çıktı beklenen çıktı olmayabilir. Bu, koda yanlış bir formül eklendiğinde veya yanlış bir komut dizisi gerçekleştirildiğinde meydana gelir. Sözdizimi hataları ise yanlış yazılan veya derleyici tarafından tanınmayan yanlış komutlarla ilgilidir.
40) Programlamadaki farklı kontrol yapıları nelerdir?
Programlamada 3 ana kontrol yapısı vardır: Sıra, Seçim ve Tekrar. Sıralı kontrol, bir programın yürütülmesinde yukarıdan aşağıya doğru bir akışı takip eder; öyle ki önce adım 1 gerçekleştirilir, ardından adım 2 uygulanır ve son adım gerçekleştirilene kadar devam eder. Seçim, koşullu ifadelerle ilgilidir; bu, koşulların DOĞRU veya YANLIŞ olarak değerlendirilmesine bağlı olarak kodların yürütüldüğü anlamına gelir. Bu aynı zamanda tüm kodların çalıştırılamayacağı ve içinde alternatif akışların bulunabileceği anlamına da gelir. Tekrarlar aynı zamanda döngü yapıları olarak da bilinir ve bir sayaç tarafından belirlenen bir veya iki program ifadesini tekrarlar.
41) || Nedir? Operatör ve bir programda nasıl çalışır?
|| C programlamada OR operatörü olarak da bilinir. || kullanırken Mantıksal koşulları değerlendirmek için, DOĞRU olarak değerlendirilen herhangi bir koşul, koşul ifadesinin tamamını DOĞRU olarak verecektir.
42) Stringlerin karşılaştırılmasında “if” fonksiyonu kullanılabilir mi?
Hayır. “if” komutu yalnızca sayısal değerler ile tek karakterli değerleri karşılaştırmak için kullanılabilir. Dize değerlerini karşılaştırmak için, özellikle dizelerle ilgilenen strcmp adında başka bir işlev vardır.
43) Önişlemci direktifleri nelerdir?
Önişlemci direktifleri her C programının başına yerleştirilir. Programda hangi işlevlerin kullanılacağına bağlı olarak kütüphane dosyalarının belirtildiği yer burasıdır. Önişlemci direktiflerinin bir başka kullanımı da sabitlerin bildirilmesidir. Önişlemci direktifleri # sembolüyle başlar.
44) s değişkeninin değeri 10 ise aşağıdaki koşullu ifadenin sonucu ne olur?
s >=10 && s < 25 && s!=12
Sonuç DOĞRU olacaktır. s'nin değeri 10 olduğundan, s >= 10 DOĞRU olarak değerlendirilir çünkü s 10'dan büyük değildir ama yine de 10'a eşittir. 25 10'ten küçük olduğundan s< 25 de DOĞRU'dur. Aynı şekilde, s!=12 Bu, s'nin 12'ye eşit olmadığı anlamına gelir ve DOĞRU olarak değerlendirilir. &&, AND operatörüdür ve tüm bireysel koşullar DOĞRU ise tüm ifadenin DOĞRU olması kuralını izler.
45) C'deki operatörlere ilişkin öncelik sırasını açıklayın.
Öncelik sırası, bir işlem ifadesinde veya koşullu ifadede hangi işlemin ilk önce gerçekleşmesi gerektiğini belirler. En üst öncelik düzeyinde tekli operatörler !, +, – ve & bulunur. Bunu normal matematiksel operatörler takip eder (önce *, / ve modül %, ardından + ve -). Sırada <, <=, >= ve > ilişkisel operatörleri yer alır. Bunu daha sonra iki eşitlik operatörü == ve != takip eder. Mantıksal operatörler && ve || daha sonra değerlendirilir. Son seviyede atama operatörü = bulunur.
46) Bu ifadede yanlış olan ne? ismim = “Robin”;
Bir dize değişkenine değer atamak için = işaretini kullanamazsınız. Bunun yerine strcpy işlevini kullanın. Doğru ifade şöyle olacaktır: strcpy(myName, “Robin”);
47) Bir değişkende saklanan dize değerinin uzunluğunu nasıl belirlersiniz?
Bir dize değerinin uzunluğunu elde etmek için strlen() işlevini kullanın. Örneğin, FullName adında bir değişkeniniz varsa, şu ifadeyi kullanarak saklanan dize değerinin uzunluğunu alabilirsiniz: I = strlen(FullName); I değişkeni artık dize değerinin karakter uzunluğuna sahip olacak.
48) Bir değişkeni bildirildiği anda başlatmak mümkün mü?
Evet, değişken bildiriminden sonra ayrı bir atama ifadesi yazmanız gerekmez, daha sonra değiştirmeyi planlamıyorsanız. Örneğin: char planet[15] = “Earth”; iki şey yapar: planet adlı bir dize değişkeni bildirir, sonra onu “Earth” değeriyle başlatır.
49) C dili neden orta düzey bir dil olarak kabul ediliyor?
Bunun nedeni, C dilinin yüksek seviyeli bir dil gibi davranmasını sağlayan özellikler açısından zengin olması ve aynı zamanda düşük seviyeli yöntemler kullanarak donanımla etkileşime girebilmesidir. Programlamaya iyi yapılandırılmış bir yaklaşımın kullanılması ve işlevlerde kullanılan İngilizce benzeri kelimelerin kullanılması, onu üst düzey bir dil gibi hareket ettirir. Öte yandan C, montaj dili rutinlerine benzer bellek yapılarına doğrudan erişebilir.
50) C'de programlama yaparken kullanılan farklı dosya uzantıları nelerdir?
C'deki kaynak kodları .C dosya uzantısıyla kaydedilir. Başlık dosyaları veya kitaplık dosyaları .H dosya uzantısına sahiptir. Bir program kaynak kodu her başarıyla derlendiğinde, bir .OBJ nesne dosyası ve yürütülebilir bir .EXE dosyası oluşturulur.
51) Ayrılmış kelimeler nelerdir?
Ayrılmış kelimeler standart C dili kütüphanesinin parçası olan kelimelerdir. Bu, ayrılmış kelimelerin özel anlamlara sahip olduğu ve bu nedenle başlangıçta amaçlanan amaç dışında kullanılamayacağı anlamına gelir. Ayrılmış sözcüklere örnek olarak int, void ve return verilebilir.
52) Bağlantılı liste nedir?
Bağlantılı liste, birbirine bağlı düğümlerden oluşur. C programlamada bağlantılı listeler işaretçiler kullanılarak oluşturulur. Bağlantılı listeleri kullanmak, depolama için belleği kullanmanın etkili bir yoludur.
53) FIFO nedir?
C programlamada kuyruk olarak bilinen bir veri yapısı vardır. Bu yapıda veriler FIFO formatı veya İlk Giren İlk Çıkar kullanılarak depolanır ve erişilir. Kuyruk, depolanan ilk verinin aynı zamanda erişilebilen ilk veri olacağı bir satırı temsil eder.
54) İkili ağaçlar nedir?
İkili ağaçlar aslında bağlantılı listeler kavramının bir uzantısıdır. İkili ağacın iki işaretçisi vardır; biri sol, diğeri sağ. Her bir taraf, her bir düğümün iki işaretçiye sahip olduğu ek düğümler oluşturmak için daha da dallanabilir. Hakkında daha fazla öğren Veri Yapısında İkili Ağaç Eğer ilgini çektiyse.
55) Ayrılmış kelimelerin tümü küçük harfle yazılmaz. Doğru ya da yanlış?
YANLIŞ. Tüm ayrılmış kelimeler küçük harfle yazılmalıdır; aksi takdirde C derleyicisi bunu tanımlanmamış ve geçersiz olarak yorumlar.
56) “++a” ve “a++” ifadeleri arasındaki fark nedir?
İlk ifadede, artış ilk olarak a değişkeninde gerçekleşecek ve ortaya çıkan değer kullanılacaktır. Bu aynı zamanda önek artışı olarak da bilinir. İkinci ifadede, a değişkeninin mevcut değeri, a'nın değeri artırılmadan önce bir işlemde kullanılacak olan değer olacaktır. Bu aynı zamanda postfix artışı olarak da bilinir.
57) Bu ifadede X'e ne olur: X += 15; (X'in değerinin 5 olduğu varsayılarak)
X +=15, X = X + 15 yazmanın kısa bir yöntemidir, dolayısıyla X'in başlangıç değeri 5 ise 5 + 15 = 20 olur.
58) C dilinde NAME, name ve Name değişkenlerinin hepsi aynıdır. Doğru ya da yanlış?
YANLIŞ. C dili büyük/küçük harfe duyarlı bir dildir. Bu nedenle NAME, name ve Name birbirinden tamamen farklı üç değişkendir.
59) Sonsuz döngü nedir?
Sonsuz bir döngü iki anlama gelebilir. Birincisi, döngü içindeki koşul karşılanana kadar sürekli döngüye girecek şekilde tasarlanmış olmasıdır, bundan sonra bir kesme işlevi programın döngüden çıkmasına neden olur. Sonsuz döngünün bir diğer fikri, yanlış bir döngü koşulunun yazılması ve döngünün sonsuza kadar hatalı bir şekilde çalışmasına neden olmasıdır. Sonsuz döngüler genellikle sonsuz döngüler olarak adlandırılır.
60) Program akış şeması nedir ve program yazmaya nasıl yardımcı olur?
Akış şeması, belirli bir sorunu çözmeye yönelik adım adım prosedürün görsel bir temsilini sağlar. Akış şemaları, her sembolün farklı şekillerde olduğu sembollerden oluşur. Her şekil, tüm program yapısı içindeki bir süreç, bir koşul ve hatta bir giriş/çıkış aşaması gibi belirli bir varlığı temsil edebilir.
61) Bu program bildiriminde yanlış olan ne? geçersiz = 10;
Void sözcüğü C dilinde ayrılmış bir sözcüktür. Ayrılmış sözcükleri kullanıcı tanımlı değişken olarak kullanamazsınız.
62) Bu program bildirimi geçerli mi? INT = 10.50;
INT'nin float tipinde bir değişken olduğunu varsayarsak bu ifade geçerlidir. INT'nin ayrılmış bir kelime olduğu ve başka amaçlarla kullanılmaması gerektiği düşünülebilir. Ancak, ayrılmış sözcüklerin küçük harfle ifade edildiğini hatırlayın, dolayısıyla C derleyicisi bunu ayrılmış sözcük olarak yorumlamayacaktır.
63) Gerçek argümanlar nelerdir?
Verilen bazı değerler üzerinde işlem yapması gereken fonksiyonlar oluşturup kullandığınızda, verilen bu değerleri o fonksiyona aktarmanız gerekir. Çağrılan fonksiyona iletilen değerlere gerçek argümanlar denir.
64) Yeni satır kaçış dizisi nedir?
Yeni satır kaçış dizisi \n karakteriyle temsil edilir. Bu, çıkış ekranında verileri görüntülerken yeni bir satır eklemek için kullanılır. Daha fazla \n karakter eklenerek daha fazla boşluk eklenebilir. Örneğin \n\n iki boşluk ekler. Yeni satır kaçış dizisi, gerçek çıktı ifadesinin öncesine veya sonrasına yerleştirilebilir.
65) Çıkış yönlendirmesi nedir?
Verilerin görüntü ekranı dışındaki alternatif bir çıktı kaynağına aktarılması işlemidir. Çıktı yönlendirmesi, bir programın çıktısını bir dosyaya kaydetmesini sağlar. Örneğin, COMPUTE adlı bir programınız varsa, bunu komut satırına COMPUTE >DATA olarak yazmak kullanıcıdan girdi alabilir, belirli hesaplamalar yapabilir ve ardından çıktıyı ekranda göstermek yerine DATA adlı bir dosyaya yönlendirebilir.
66) Çalışma zamanı hataları nelerdir?
Bunlar program yürütülürken oluşan hatalardır. Çalışma zamanı hatalarının oluşabileceği yaygın bir örnek, bir sayıyı sıfıra bölmeye çalıştığınız zamandır. Çalışma zamanı hataları oluştuğunda, program yürütme duraklayacak ve hangi program satırının hataya neden olduğunu gösterecektir.
67) abs() ve fabs() işlevleri arasındaki fark nedir?
Bu 2 işlev temel olarak aynı işlemi gerçekleştirir; yani verilen değerin mutlak değerini elde etmek. Abs() tam sayı değerleri için kullanılırken, fabs() kayan tip sayılar için kullanılır. Ayrıca abs()'nin prototipi de aşağıdadır. fabs() altındayken .
68) Biçimsel parametreler nelerdir?
Bir C programında işlevleri kullanırken biçimsel parametreler, çağıran işlev tarafından iletilen değerleri içerir. Değerler bu resmi parametrelerde değiştirilir ve çağrılan işlevin ana gövdesinde belirtilen işlemlerde kullanılır.
69) Kontrol yapıları nelerdir?
Kontrol yapıları, bir programda hangi talimatların gerçekleştirileceğinin sorumluluğunu üstlenir. Bu, program akışının mutlaka bir ifadeden diğerine geçmeyebileceği, bunun yerine koşullu ifadelerin sonucuna bağlı olarak bazı alternatif bölümlerin aktarılması veya atlanması gerekebileceği anlamına gelir.
70) Bir sayının pozitif mi yoksa negatif mi olduğunu kontrol edecek basit bir kod parçası yazın
If (num>=0) printf("number is positive"); else printf ("number is negative");
71) Bir “switch” ifadesi ne zaman “if” ifadesine tercih edilir?
The anahtar bildirimi tek bir değişkene veya ifadeye dayalı seçimlerle uğraşırken en iyi şekilde kullanılır. Ancak switch ifadeleri yalnızca tamsayı ve karakter veri türlerini değerlendirebilir.
72) Global değişkenler nelerdir ve bunları nasıl bildirirsiniz?
Global değişkenler programın herhangi bir yerinden erişilebilen ve değiştirilebilen değişkenlerdir. Bir değişkeni global yapmak için, değişken bildirimini programın üst kısmına, önişlemci direktifleri bölümünün hemen sonrasına yerleştirin.
73) Numaralandırılmış türler nelerdir?
Numaralandırılmış türler, programcının bir değişkene değer olarak daha anlamlı sözcükler kullanmasına olanak tanır. Numaralandırılmış tür değişkenindeki her öğe aslında sayısal bir kodla ilişkilendirilir. Örneğin, değerleri şu şekilde olan DAYS adında numaralandırılmış bir tür değişkeni oluşturulabilir: Monday, Salı… Pazar.
74) toupper() fonksiyonu ne işe yarar?
Herhangi bir harfi büyük harf moduna dönüştürmek için kullanılır. Toupper() işlevinin prototipi şurada bildirildi: . Bu işlevin bir dizenin tamamını değil, yalnızca tek bir karakteri dönüştüreceğini unutmayın.
75) Bir fonksiyonun başka bir fonksiyonda parametre olarak yer alması mümkün müdür?
Evet, C programlamada buna izin verilir. Fonksiyon prototipinin tamamını, kullanılacağı diğer fonksiyonun parametre alanına eklemeniz yeterlidir.
76) Çok boyutlu diziler nelerdir?
Çok boyutlu diziler, verileri iki veya daha fazla boyutlu bir yapıda saklama yeteneğine sahiptir. Örneğin, bir satranç oyunundaki taşların geçerli konumunu veya tic-tac-toe programındaki oyuncuların konumunu depolamak için 2 boyutlu bir dizi kullanabilirsiniz.
77) Bir dizgeyi başka bir dizgeye eklemek için C'deki hangi fonksiyon kullanılabilir?
strcat işlevi. Kaynak dize ve kaynak dizeye eklenecek dize değeri olmak üzere iki parametre alır.
78) getch() ve getche() işlevleri arasındaki fark nedir?
Her iki işlev de kullanıcıdan bir karakter giriş değeri kabul edecektir. getch() kullanıldığında, basılan tuş ekranda görünmez ve otomatik olarak yakalanıp bir değişkene atanır. Getche() kullanıldığında, kullanıcı tarafından basılan tuş ekranda görünecek ve aynı zamanda bir değişkene atanacaktır.
79) Bu iki program ifadesi aynı çıktıyı mı gerçekleştiriyor? 1) scanf(“%c”, &harf); 2) harf=getchar()
Evet, ikisi de tamamen aynı şeyi yapıyor; kullanıcının bastığı bir sonraki tuşu kabul edip onu letter adlı değişkene atamaktır.
80) C'deki yapı türleri nelerdir?
Yapı türleri öncelikle kayıtları depolamak için kullanılır. Bir kayıt ilgili alanlardan oluşur. Bu, bir grup ilgili veriyi organize etmeyi kolaylaştırır.
81) Dosyalardan yararlanacak programlar yazarken “r” ve “w” karakterleri ne anlama gelir?
“r”, “oku” anlamına gelir ve verinin alınacağı bir dosyayı girdi olarak açar. “w”, “yazma” anlamına gelir ve çıktı için bir dosya açar. Bu dosyada saklanan önceki veriler silinecektir.
82) Metin dosyaları ile ikili dosyalar arasındaki fark nedir?
Metin dosyaları insanların kolaylıkla anlayabileceği verileri içerir. Harfleri, sayıları ve diğer karakterleri içerir. Öte yandan, ikili dosyalar yalnızca bilgisayarların yorumlayabileceği 1'ler ve 0'lar içerir.
83) kendi başlık dosyalarınızı oluşturmanız mümkün mü?
Evet, özelleştirilmiş bir başlık dosyası oluşturmak mümkündür. Programınızda kullanmak istediğiniz işlev prototiplerini buna ekleyin ve #include yönergesini ve ardından başlık dosyanızın adını kullanın.
84) Dinamik veri yapısı nedir?
Dinamik veri yapısı, verilerin belleğe daha verimli bir şekilde saklanması için bir araç sağlar. Kullanma Kullanma dinamik bellek ayırma, programınız gerektiği gibi bellek alanlarına erişecektir. Bu, programcının programda kullanılacak sabit sayıda bellek alanı belirtmesi gereken statik veri yapısının tersidir.
85) C'deki farklı veri türleri nelerdir?
Basit C'deki veri türleri int, char ve float'tır. Int, tamsayı değerleri saklayacak değişkenleri bildirmek için kullanılır. Float gerçek sayıları saklamak için kullanılır. Char, bireysel karakter değerlerini saklayabilir.
86) Bir C programının genel biçimi nedir?
AC programı, programcının hangi başlık dosyasını ve hangi sabitlerin (varsa) kullanılacağını belirttiği önişlemci direktifleriyle başlar. Bunu ana fonksiyon başlığı takip eder. Ana işlevin içinde değişken bildirimi ve program ifadesi bulunur.
87) Rasgele erişim dosyasının avantajı nedir?
Bir dosyada depolanan veri miktarı oldukça büyükse, rastgele erişimin kullanılması, dosya içinde daha hızlı arama yapmanıza olanak tanır. Eğer sıralı erişimli bir dosya olsaydı, hedef veriye ulaşana kadar her defasında bir kayıt üzerinden geçmeniz gerekecekti. Rasgele erişim dosyası, verilerin bulunduğu hedef adrese doğrudan atlamanıza olanak tanır.
88) Bir switch ifadesinde, break ifadesi atlanırsa ne olur?
Belirli bir vaka bölümünün sonuna bir break ifadesi yerleştirilmediyse? Bir sonraki vaka kısmına geçilecek ve muhtemelen yanlış çıktıya neden olacaktır.
89) Dizilerin kullanıcı tanımlı bir fonksiyona nasıl aktarılabileceğini açıklayın
Dikkat edilmesi gereken bir nokta, tüm diziyi bir fonksiyona geçiremeyeceğinizdir. Bunun yerine, hafızadaki dizinin ilk elemanına işaret edecek bir işaretçi geçirirsiniz. Bunu yapmak için, parantez kullanmadan dizinin adını belirtirsiniz.
90) İşaretçiler nelerdir?
İşaretçiler noktası hafızanın belirli bölgelerine İşaretçiler bir değişkenin adresini içerir; bu da bir değeri, hatta başka bir belleğin adresini içerebilir.
91) Bir yapının tamamını işlevlere aktarabilir misiniz?
Evet, bir yapının tamamını bir yönteme göre çağrı stilinde bir fonksiyona aktarmak mümkündür. Ancak bazı programcılar yapıyı genel olarak bildirmeyi ve ardından o yapı tipindeki bir değişkeni bir fonksiyona aktarmayı tercih ederler. Bu yöntem, argüman türü açısından tutarlılığın ve tekdüzeliğin korunmasına yardımcı olur.
92) get() işlevi nedir?
The gets() function
Kullanıcının tam satır veri girişine izin verir. Kullanıcı girişi sonlandırmak için enter tuşuna bastığında, karakter satırının tamamı bir dize değişkeninde depolanır. Enter tuşunun değişkene dahil edilmediğini, bunun yerine son karakterden sonra boş sonlandırıcı \0 yerleştirildiğini unutmayın.
93) % sembolünün printf ifadesinde özel bir kullanımı vardır. Bu karakteri ekrandaki çıktının bir parçası olarak nasıl yerleştirirsiniz?
Bunu printf deyiminde %% kullanarak yapabilirsiniz. Örneğin çıktının ekranda %10 olarak görünmesini sağlamak için printf(“%10%”) yazabilirsiniz.
94) Rastgele erişim yöntemini kullanarak bir veri dosyasındaki verileri nasıl ararsınız?
Kullan fseek()
Bir dosya üzerinde rastgele erişimli giriş/çıkış gerçekleştirme işlevi. Dosya fopen() işlevi tarafından açıldıktan sonra fseek'in çalışması için üç parametre gerekir: dosyaya yönelik bir dosya işaretçisi, aranacak bayt sayısı ve dosyanın başlangıç noktası.
95) Derleme aşamasında yorumlara yer veriliyor ve EXE dosyasına da yerleştiriliyor mu?
Hayır, derleyicinin karşılaştığı yorumlar dikkate alınmaz. Yorumlar çoğunlukla yalnızca programcıya rehberlik amaçlıdır ve programın işlevselliğinde başka önemli bir kullanıma sahip değildir.
96) C'de verileri sıralamak için kullanılabilecek yerleşik bir işlev var mı?
Evet, kullan qsort()
işlev. Ayrıca, balon sıralama ve kabarcık sıralama algoritmasına dayananlar gibi, sıralama için kullanıcı tanımlı işlevler oluşturmak da mümkündür.
97) Bir yığının avantajları ve dezavantajları nelerdir?
Verilerin yığında saklanması, yığının kullanılmasından daha yavaştır. Ancak yığını kullanmanın temel avantajı esnekliğidir. Bunun nedeni, bu yapıdaki belleğin herhangi bir sırayla tahsis edilebilmesi ve kaldırılabilmesidir. Bir algoritma iyi tasarlanmış ve uygulanmışsa yığındaki yavaşlık telafi edilebilir.
98) C'de dizeleri sayılara nasıl dönüştürürsünüz?
Dizeden sayıya dönüşümler yapmak için kendi işlevlerinizi yazabilir veya bunun yerine C'nin yerleşik işlevlerini kullanabilirsiniz. Kayan noktalı bir değere dönüştürmek için atof'u, bir tamsayı değerine dönüştürmek için atoi'yi ve uzun bir tamsayı değerine dönüştürmek için atol'u kullanabilirsiniz.
99) num1 ve num2 değişkenlerinin değerlerini değiştirecek basit bir kod parçası oluşturun.
int temp; temp = num1; num1 = num2; num2 = temp;
100) Her program ifadesinin sonunda noktalı virgülün (;) kullanımı nedir?
Kodun ayrıştırma işlemi ve derlenmesi ile ilgilidir. Noktalı virgül sınırlayıcı görevi görür, böylece derleyici her ifadenin nerede bittiğini bilir ve sözdizimi kontrolü için ifadeyi daha küçük öğelere bölmeye devam edebilir.
Bu mülakat soruları aynı zamanda yaşamınızda da yardımcı olacaktır.