100 Pertanyaan dan Jawaban Wawancara Pemrograman C Teratas (PDF)
Berikut adalah pertanyaan dan jawaban wawancara Pemrograman C untuk kandidat baru dan berpengalaman untuk mendapatkan pekerjaan impian mereka.
Pertanyaan dan Jawaban Wawancara Pemrograman C Dasar untuk Mahasiswa Baru
1) Bagaimana Anda membuat pernyataan kenaikan atau pernyataan penurunan di C?
Sebenarnya ada dua cara untuk melakukan ini. Salah satunya adalah dengan menggunakan operator kenaikan ++ dan operator penurunan โ. Misalnya, pernyataan โx++โ berarti menaikkan nilai x sebesar 1. Demikian pula, pernyataan โx โโ berarti menurunkan nilai x sebesar 1. Cara lain untuk menulis pernyataan kenaikan adalah dengan menggunakan tanda + plus atau tanda โ minus konvensional. Dalam kasus โx++โ, cara lain untuk menulisnya adalah โx = x +1โ.
๐ Unduh PDF Gratis: Pertanyaan & Jawaban Wawancara Pemrograman C >>
2) Apa perbedaan antara Panggilan berdasarkan Nilai dan Panggilan berdasarkan Referensi?
Saat menggunakan Call by Value, Anda mengirimkan nilai variabel sebagai parameter ke suatu fungsi, sedangkan Call by Reference mengirimkan alamat variabel. Selain itu, di bawah Call by Value, nilai dalam parameter tidak terpengaruh oleh operasi apa pun yang berlangsung, sedangkan dalam kasus Call by Reference, nilai dapat dipengaruhi oleh proses dalam fungsi tersebut.
3) Beberapa pembuat kode melakukan debug pada program mereka dengan menempatkan simbol komentar pada beberapa kode alih-alih menghapusnya. Bagaimana hal ini membantu dalam debugging?
Menempatkan simbol komentar /* */ di sekitar kode, juga disebut sebagai โmemberi komentarโ, adalah cara mengisolasi beberapa kode yang menurut Anda mungkin menyebabkan kesalahan dalam program, tanpa menghapus kode tersebut. Idenya adalah jika kode tersebut benar, Anda cukup menghapus simbol komentar dan melanjutkan. Ini juga menghemat waktu dan tenaga Anda karena harus mengetik ulang kode jika Anda sudah menghapusnya terlebih dahulu.
4) Apa kode ekuivalen dari pernyataan berikut dalam format WHILE LOOP?
for (a=1; a<=100; a++) printf ("%d\n", a * a);
Jawaban:
a=1; while (a<=100) { printf ("%d\n", a * a); a++; }
5) Apa itu tumpukan?
Tumpukan adalah salah satu bentuk struktur data. Data disimpan dalam tumpukan menggunakan pendekatan FILO (First In Last Out). Pada kejadian tertentu, hanya bagian atas tumpukan yang dapat diakses, yang berarti bahwa untuk mengambil data yang disimpan di dalam tumpukan, data yang berada di bagian atas harus diekstraksi terlebih dahulu. Menyimpan data dalam tumpukan juga disebut sebagai PUSH, sedangkan pengambilan data disebut sebagai POP.
6) Apa yang dimaksud dengan file akses berurutan?
Saat menulis program yang akan menyimpan dan mengambil data dalam sebuah file, dimungkinkan untuk menetapkan file tersebut ke dalam bentuk yang berbeda. File akses berurutan sedemikian rupa sehingga data disimpan dalam urutan berurutan: satu data ditempatkan ke dalam file demi data lainnya. Untuk mengakses data tertentu dalam file akses berurutan, data harus dibaca satu per satu, hingga data yang tepat tercapai.
7) Apa itu inisialisasi variabel dan mengapa ini penting?
Ini merujuk pada proses di mana sebuah variabel diberi nilai awal sebelum digunakan dalam program. Tanpa inisialisasi, sebuah variabel akan memiliki nilai yang tidak diketahui, yang dapat menghasilkan keluaran yang tidak dapat diprediksi saat digunakan dalam perhitungan atau operasi lainnya.
8 Apa itu pemrograman spageti?
Pemrograman spaghetti mengacu pada kode-kode yang cenderung kusut dan tumpang tindih di seluruh program. Pendekatan pengodean yang tidak terstruktur ini biasanya disebabkan oleh kurangnya pengalaman di pihak programmer. Pemrograman spaghetti membuat program menjadi rumit dan sulit menganalisis kode-kodenya, sehingga harus dihindari sebisa mungkin.
9) Membedakan Kode Sumber dari Kode Objek
Kode sumber adalah kode yang ditulis oleh pemrogram. Itu terdiri dari perintah dan kata kunci mirip bahasa Inggris lainnya yang seharusnya menginstruksikan komputer apa yang harus dilakukan. Namun, komputer tidak akan dapat memahami kode sumber. Oleh karena itu, kode sumber dikompilasi menggunakan kompiler. Keluaran yang dihasilkan berupa kode objek yang formatnya dapat dipahami oleh prosesor komputer. Di dalam pemrograman C, kode sumber disimpan dengan ekstensi file .C, sedangkan kode objek disimpan dengan ekstensi file .OBJ
10) Dalam pemrograman C, bagaimana Anda memasukkan karakter kutipan (' dan โ) ke layar keluaran?
Ini adalah masalah umum bagi pemula karena tanda kutip biasanya merupakan bagian dari pernyataan printf. Untuk memasukkan karakter tanda kutip sebagai bagian dari output, gunakan penentu format \' (untuk tanda kutip tunggal), dan \โ (untuk tanda kutip ganda).
11) Apa gunanya karakter '\0'?
Ini disebut sebagai karakter null yang mengakhiri, dan digunakan terutama untuk menunjukkan akhir dari nilai string.
12) Apa perbedaan antara simbol = dan simbol ==?
Simbol = sering digunakan dalam operasi matematika. Ini digunakan untuk memberikan nilai pada variabel tertentu. Di sisi lain, simbol ==, juga dikenal sebagai โsama denganโ atau โsetara denganโ, adalah operator relasional yang digunakan untuk membandingkan dua nilai.
13) Apa itu operator modulus?
Operator modulus menghasilkan sisa pembagian. Operator ini menggunakan simbol persentase (%). Misalnya: 10 % 3 = 1, artinya saat Anda membagi 10 dengan 3, sisanya adalah 1.
14) Apa yang dimaksud dengan loop bersarang?
Perulangan bersarang adalah perulangan yang berjalan di dalam perulangan lainnya. Dengan kata lain, Anda memiliki loop dalam yang berada di dalam loop luar. Dalam skenario ini, perulangan dalam dilakukan beberapa kali seperti yang ditentukan oleh perulangan luar. Untuk setiap putaran pada putaran luar, putaran dalam terlebih dahulu dilakukan.
15) Operator berikut mana yang salah dan mengapa? ( >=, <=, <>, ==)
<> salah. Meskipun operator ini ditafsirkan dengan benar sebagai โtidak sama denganโ dalam penulisan pernyataan kondisional, operator ini tidak tepat untuk digunakan dalam pemrograman CSebaliknya, operator != harus digunakan untuk menunjukkan kondisi โtidak sama denganโ.
16) Bandingkan dan kontraskan kompiler dari interpreter.
Kompiler dan juru bahasa sering kali berurusan dengan bagaimana kode program dieksekusi. Penerjemah mengeksekusi kode program satu baris pada satu waktu, sementara kompiler mengambil program secara keseluruhan dan mengubahnya menjadi kode objek, sebelum mengeksekusinya. Perbedaan utama di sini adalah bahwa dalam kasus penerjemah, suatu program mungkin mengalami kesalahan sintaksis di tengah eksekusi, dan akan berhenti dari sana. Di sisi lain, kompiler memeriksa sintaks seluruh program dan hanya akan melanjutkan eksekusi ketika tidak ditemukan kesalahan sintaksis.
17) Bagaimana cara mendeklarasikan variabel yang akan menyimpan nilai string?
Kata kunci char hanya dapat menampung 1 nilai karakter dalam satu waktu. Dengan membuat array karakter, Anda dapat menyimpan nilai string di dalamnya. Contoh: โchar MyName[50]; โ mendeklarasikan variabel string bernama MyName yang dapat menampung maksimal 50 karakter.
18) Bisakah tanda kurung kurawal { } digunakan untuk melampirkan satu baris kode?
Meskipun tanda kurung kurawal terutama digunakan untuk mengelompokkan beberapa baris kode, tanda kurung kurawal akan tetap berfungsi tanpa kesalahan jika Anda menggunakannya untuk satu baris. Beberapa programmer lebih menyukai metode ini sebagai cara untuk mengatur kode agar terlihat lebih jelas, terutama dalam pernyataan bersyarat.
19) Apa itu file header dan kegunaannya dalam pemrograman C?
File header juga dikenal sebagai file perpustakaan. Mereka berisi dua hal penting: definisi dan prototipe fungsi yang digunakan dalam suatu program. Sederhananya, perintah yang Anda gunakan dalam pemrograman C sebenarnya adalah fungsi yang ditentukan dari dalam setiap file header. Setiap file header berisi serangkaian fungsi. Misalnya: stdio.h adalah file header yang berisi definisi dan prototipe perintah seperti printf dan scanf.
20) Apa itu kesalahan sintaksis?
Kesalahan sintaks berhubungan dengan kesalahan penggunaan suatu bahasa pemrograman. Ini mungkin perintah yang salah eja atau perintah yang harus dimasukkan dalam mode huruf kecil tetapi dimasukkan dengan karakter huruf besar. Simbol yang salah tempat, atau kurangnya simbol, di suatu tempat dalam baris kode juga dapat menyebabkan kesalahan sintaksis.
21) Apa itu variabel dan apa bedanya dengan konstanta?
Variabel dan konstanta pada awalnya mungkin terlihat serupa dalam arti bahwa keduanya merupakan pengidentifikasi yang terdiri dari satu karakter atau lebih karakter (huruf, angka, dan beberapa simbol yang diperbolehkan). Keduanya juga akan memiliki nilai tertentu. Nilai yang dipegang oleh suatu variabel dapat diubah sepanjang program, dan dapat digunakan di sebagian besar operasi dan komputasi. Konstanta diberi nilai pada satu waktu saja, ditempatkan pada awal suatu program. Nilai ini tidak diubah dalam program. Misalnya, Anda dapat menetapkan konstanta bernama PI dan memberinya nilai 3.1415 . Anda kemudian dapat menggunakannya sebagai PI dalam program, daripada harus menulis 3.1415 setiap kali Anda membutuhkannya.
22) Bagaimana Anda mengakses nilai dalam array?
Array berisi sejumlah elemen, bergantung pada ukuran yang Anda berikan selama deklarasi variabel. Setiap elemen diberi nomor dari 0 hingga jumlah elemen-1. Untuk menetapkan atau mengambil nilai elemen tertentu, lihat nomor elemen. Misalnya: jika Anda memiliki deklarasi yang bertuliskan โintscores[5];โ, maka Anda memiliki 5 elemen yang dapat diakses, yaitu: skor[0], skor[1], skor[2], skor[3], dan skor[4 ].
23) Bisakah saya menggunakan tipe data โintโ untuk menyimpan nilai 32768? Mengapa?
Tidak. Tipe data โintโ mampu menyimpan nilai dari -32768 hingga 32767. Untuk menyimpan 32768, Anda dapat menggunakan โlong intโ sebagai gantinya. Anda juga dapat menggunakan "unsigned int", dengan asumsi Anda tidak bermaksud menyimpan nilai negatif.
24) Dapatkah dua atau lebih operator seperti \n dan \t digabungkan dalam satu baris kode program?
Ya, menggabungkan operator boleh-boleh saja, terutama jika diperlukan.
Misalnya: Anda dapat memiliki kode seperti printf (โHello\n\n\โWorld\'โ)
untuk menampilkan teks โHaloโ pada baris pertama dan โDuniaโ yang diapit tanda kutip tunggal untuk muncul pada dua baris berikutnya.
25) Mengapa tidak semua file header dideklarasikan di setiap program C?
Pilihan untuk mendeklarasikan file header di bagian atas setiap program C akan bergantung pada perintah/fungsi apa yang akan Anda gunakan dalam program tersebut. Karena setiap file header berisi definisi fungsi dan prototipe yang berbeda, Anda hanya akan menggunakan file header yang berisi fungsi yang Anda perlukan. Mendeklarasikan semua file header di setiap program hanya akan meningkatkan ukuran file keseluruhan dan beban program, dan tidak dianggap sebagai gaya pemrograman yang baik.
26) Kapan kata kunci โvoidโ digunakan dalam suatu fungsi?
Saat mendeklarasikan fungsi, Anda akan memutuskan apakah fungsi tersebut akan mengembalikan nilai atau tidak. Jika fungsi tersebut tidak mengembalikan nilai, seperti ketika tujuan suatu fungsi adalah untuk menampilkan beberapa output di layar, maka โvoidโ harus ditempatkan di bagian paling kiri dari header fungsi. Ketika nilai kembalian diharapkan setelah eksekusi fungsi, tipe data dari nilai kembalian ditempatkan alih-alih โvoidโ.
27) Apa yang dimaksud dengan pernyataan majemuk?
Pernyataan gabungan terdiri dari dua atau lebih pernyataan program yang dieksekusi bersama-sama. Hal ini biasanya terjadi saat menangani kondisi di mana serangkaian pernyataan dieksekusi saat TRUE atau FALSE dievaluasi. Pernyataan gabungan juga dapat dieksekusi dalam satu loop. Tanda kurung kurawal { } ditempatkan sebelum dan sesudah pernyataan gabungan.
28) Apa pentingnya algoritma untuk pemrograman C?
Sebelum suatu program dapat ditulis, terlebih dahulu harus dibuat suatu algoritma. Algoritme menyediakan prosedur langkah demi langkah tentang bagaimana suatu solusi dapat diturunkan. Ini juga bertindak sebagai cetak biru tentang bagaimana suatu program akan dimulai dan diakhiri, termasuk proses dan perhitungan apa yang terlibat.
29) Apa keuntungan array dibandingkan variabel individual?
Saat menyimpan beberapa data terkait, sebaiknya gunakan array. Hal ini karena array diberi nama hanya menggunakan 1 kata diikuti dengan nomor elemen. Misal: untuk menyimpan 10 hasil tes 1 siswa, dapat menggunakan 10 nama variabel yang berbeda (nilai1, nilai2, nilai3โฆnilai10). Dengan array, hanya 1 nama yang digunakan, sisanya dapat diakses melalui nama indeks (grade[0], grade[1], grade[2]โฆ grade[9]).
30) Tulis pernyataan loop yang akan menunjukkan output berikut:
1
12
123
1234
12345
Jawaban:
for (a=1; a<=5; i++) { for (b=1; b<=a; b++) printf("%d",b); printf("\n"); }
Pertanyaan Wawancara Pemrograman C dan Jawaban untuk Berpengalaman
31) Apa yang salah dalam pernyataan ini? scanf(โ%dโ,angka berapa);
Simbol ampersand & harus ditempatkan sebelum nama variabel nomor berapa. Menempatkan & berarti nilai integer apa pun yang dimasukkan oleh pengguna disimpan di โalamatโ nama variabel. Ini adalah kesalahan umum yang dilakukan programmer, sering kali menyebabkan kesalahan logika.
32) Bagaimana cara Anda menghasilkan angka acak di C?
Angka acak dihasilkan dalam C menggunakan rand() command
. Sebagai contoh: anyNum = rand()
akan menghasilkan bilangan bulat apa pun yang dimulai dari 0, dengan asumsi anyNum adalah variabel bertipe bilangan bulat.
33) Apa yang mungkin menjadi masalah jika nama fungsi yang valid seperti tolower() dilaporkan oleh kompiler C sebagai tidak terdefinisi?
Alasan yang paling mungkin di balik kesalahan ini adalah file header untuk fungsi tersebut tidak ditunjukkan di bagian atas program. File header berisi definisi dan prototipe fungsi dan perintah yang digunakan dalam program C. Dalam kasus โtolower()โ, kode โ#include โ harus ada di awal program.
34) Apa itu komentar dan bagaimana cara memasukkannya ke dalam program C?
komentar adalah cara yang bagus untuk memberikan komentar atau deskripsi dalam suatu program. Ini bisa berfungsi sebagai pengingat tentang isi program, atau deskripsi mengapa kode atau fungsi tertentu ditempatkan di sana. Komentar dimulai dengan /* dan diakhiri dengan karakter */. Komentar dapat berupa satu baris, atau bahkan dapat mencakup beberapa baris. Itu dapat ditempatkan di mana saja dalam program.
35) Apa itu debug?
Debugging adalah proses mengidentifikasi kesalahan dalam suatu program. Selama kompilasi program, kesalahan yang ditemukan akan menghentikan eksekusi program sepenuhnya. Pada keadaan ini, pemrogram akan melihat kemungkinan terjadinya kesalahan. Debugging memastikan penghapusan kesalahan, dan memainkan peran penting dalam memastikan bahwa keluaran program yang diharapkan terpenuhi.
36) Apa fungsi operator && dalam kode program?
&& juga disebut sebagai operator AND. Saat menggunakan operator ini, semua kondisi yang ditetapkan harus BENAR sebelum tindakan berikutnya dapat dilakukan. Jika Anda memiliki 10 kondisi dan semuanya kecuali 1 gagal dievaluasi sebagai BENAR, seluruh pernyataan kondisi sudah dievaluasi sebagai SALAH
37) Dalam pemrograman C, perintah atau kode apa yang dapat digunakan untuk menentukan bilangan ganjil atau genap?
Tidak ada perintah tunggal atau fungsi dalam C yang dapat memeriksa apakah suatu angka ganjil atau genap. Namun, ini dapat dilakukan dengan membagi angka tersebut dengan 2, lalu memeriksa sisanya. Jika sisanya adalah 0, maka angka tersebut genap, jika tidak, maka angka tersebut ganjil. Anda dapat menuliskannya dalam kode sebagai berikut:
if (num % 2 == 0) printf("EVEN"); else printf("ODD");
38) Apa arti format %10.2 ketika disertakan dalam pernyataan printf?
Format ini digunakan untuk dua hal: untuk mengatur jumlah spasi yang dialokasikan untuk nomor keluaran dan untuk mengatur jumlah tempat desimal. Angka sebelum koma desimal adalah untuk alokasi spasi, dalam hal ini akan memberikan 10 spasi untuk nomor keluaran. Jika jumlah spasi yang ditempati oleh nomor keluaran kurang dari 10, karakter spasi tambahan akan disisipkan sebelum nomor keluaran sebenarnya. Angka setelah koma menentukan jumlah tempat desimal, dalam hal ini adalah 2 spasi desimal.
39) Apa yang dimaksud dengan kesalahan logika dan apa bedanya dengan kesalahan sintaksis?
Program yang mengandung kesalahan logika cenderung lolos proses kompilasi, namun keluaran yang dihasilkan mungkin tidak sesuai dengan yang diharapkan. Ini terjadi ketika rumus yang salah dimasukkan ke dalam kode, atau urutan perintah yang salah dijalankan. Kesalahan sintaks, di sisi lain, berhubungan dengan perintah yang salah yang salah eja atau tidak dikenali oleh kompiler.
40) Apa saja jenis struktur kontrol dalam pemrograman?
Ada 3 struktur kendali utama dalam pemrograman: Urutan, Seleksi, dan Pengulangan. Kontrol sekuensial mengikuti alur dari atas ke bawah dalam mengeksekusi suatu program, sehingga langkah 1 dilakukan pertama kali, diikuti oleh langkah 2, hingga langkah terakhir dilakukan. Seleksi berkaitan dengan pernyataan kondisional, yang berarti kode dieksekusi tergantung pada evaluasi kondisi sebagai TRUE atau FALSE. Ini juga berarti bahwa tidak semua kode dapat dieksekusi, dan terdapat aliran alternatif di dalamnya. Pengulangan juga dikenal sebagai struktur loop, dan akan mengulangi satu atau dua pernyataan program yang ditetapkan oleh sebuah counter.
41) Apa itu operator || dan bagaimana fungsinya dalam program?
Operator || juga dikenal sebagai operator OR dalam pemrograman C. Saat menggunakan || untuk mengevaluasi kondisi logis, kondisi apa pun yang dievaluasi menjadi TRUE akan membuat seluruh pernyataan kondisi menjadi TRUE.
42) Bisakah fungsi โifโ digunakan dalam membandingkan string?
Tidak. Perintah โjikaโ hanya dapat digunakan untuk membandingkan nilai numerik dan nilai karakter tunggal. Untuk membandingkan nilai string, ada fungsi lain yang disebut strcmp yang khusus menangani string.
43) Apa yang dimaksud dengan arahan praprosesor?
Arahan praprosesor ditempatkan di awal setiap program C. Di sinilah file perpustakaan ditentukan, yang bergantung pada fungsi apa yang akan digunakan dalam program. Kegunaan lain dari arahan praprosesor adalah deklarasi konstanta. Perintah praprosesor dimulai dengan simbol #.
44) Apa yang akan menjadi hasil dari pernyataan kondisional berikut jika nilai variabel s adalah 10?
s >=10 && s < 25 && s!=12
Hasilnya akan BENAR. Karena nilai s adalah 10, s >= 10 bernilai BENAR karena s tidak lebih besar dari 10 tetapi masih sama dengan 10. s< 25 juga BENAR karena 10 kurang dari 25. Sama saja, s!=12, yang berarti s tidak sama dengan 12, bernilai BENAR. && adalah operator AND, dan mengikuti aturan bahwa jika semua kondisi individual adalah BENAR, seluruh pernyataan adalah BENAR.
45) Jelaskan urutan prioritas operator dalam C.
Urutan prioritas menentukan operasi mana yang harus dilakukan terlebih dahulu dalam pernyataan operasi atau pernyataan kondisional. Yang paling diutamakan adalah operator unary !, +, โ dan &. Diikuti oleh operator matematika reguler (*, / dan modulus % terlebih dahulu, diikuti oleh + dan -). Baris berikutnya adalah operator relasional <, <=, >= dan >. Ini kemudian diikuti oleh dua operator kesetaraan == dan !=. Operator logika && dan || selanjutnya dievaluasi. Pada level terakhir adalah operator penugasan =.
46) Apa yang salah dengan pernyataan ini? Namaku = โRobinโ;
Anda tidak dapat menggunakan tanda = untuk menetapkan nilai ke variabel string. Sebagai gantinya, gunakan fungsi strcpy. Pernyataan yang benar adalah: strcpy(myName, โRobinโ);
47) Bagaimana cara menentukan panjang nilai string yang disimpan dalam suatu variabel?
Untuk mendapatkan panjang nilai string, gunakan fungsi strlen(). Misalnya, jika Anda memiliki variabel bernama FullName, Anda bisa mendapatkan panjang nilai string yang disimpan dengan menggunakan pernyataan ini: I = strlen(FullName); variabel Saya sekarang akan memiliki panjang karakter dari nilai string.
48) Apakah mungkin untuk menginisialisasi suatu variabel pada saat dideklarasikan?
Ya, Anda tidak perlu menulis pernyataan penugasan terpisah setelah deklarasi variabel, kecuali Anda berencana untuk mengubahnya nanti. Misalnya: char planet[15] = โEarthโ; melakukan dua hal: mendeklarasikan variabel string bernama planet, lalu menginisialisasinya dengan nilai โEarthโ.
49) Mengapa bahasa C dianggap sebagai bahasa tingkat menengah?
Hal ini karena bahasa C kaya akan fitur yang membuatnya berperilaku seperti bahasa tingkat tinggi sekaligus dapat berinteraksi dengan perangkat keras menggunakan metode tingkat rendah. Penggunaan pendekatan pemrograman yang terstruktur dengan baik, ditambah dengan kata-kata mirip bahasa Inggris yang digunakan dalam fungsi, membuatnya bertindak sebagai bahasa tingkat tinggi. Di sisi lain, C dapat secara langsung mengakses struktur memori yang mirip dengan rutinitas bahasa assembly.
50) Apa saja ekstensi file berbeda yang terlibat saat pemrograman di C?
Kode sumber dalam C disimpan dengan ekstensi file .C. File header atau file perpustakaan memiliki ekstensi file .H. Setiap kali kode sumber program berhasil dikompilasi, ia akan membuat file objek .OBJ, dan file .EXE yang dapat dieksekusi.
51) Apa yang dimaksud dengan kata-kata khusus?
Kata-kata yang dicadangkan adalah kata-kata yang merupakan bagian dari perpustakaan bahasa C standar. Artinya, kata-kata yang dilindungi undang-undang mempunyai arti khusus dan oleh karena itu tidak dapat digunakan untuk tujuan lain selain dari tujuan aslinya. Contoh kata cadangan adalah int, void, dan return.
52) Apa itu daftar tertaut?
Daftar tertaut terdiri dari node-node yang terhubung satu sama lain. Dalam pemrograman C, daftar tertaut dibuat menggunakan pointer. Menggunakan daftar tertaut adalah salah satu cara efisien dalam memanfaatkan memori untuk penyimpanan.
53) Apa itu FIFO?
Dalam pemrograman C, ada struktur data yang disebut antrian. Dalam struktur ini, data disimpan dan diakses menggunakan format FIFO atau First-In-First-Out. Antrian mewakili baris dimana data pertama yang disimpan akan menjadi data pertama yang dapat diakses juga.
54) Apa itu pohon biner?
Pohon biner sebenarnya merupakan perpanjangan dari konsep daftar tertaut. Pohon biner memiliki dua penunjuk, yang kiri dan yang kanan. Masing-masing pihak selanjutnya dapat bercabang untuk membentuk node tambahan, yang mana setiap node memiliki dua pointer juga. Belajar lebih tentang Pohon Biner dalam Struktur Data jika Anda tertarik.
55) Tidak semua kata cadangan ditulis dengan huruf kecil. Benar atau salah?
SALAH. Semua kata yang dicadangkan harus ditulis dalam huruf kecil; jika tidak, kompiler C akan mengartikannya sebagai tidak teridentifikasi dan tidak valid.
56) Apa perbedaan antara ekspresi โ++aโ dan โa++โ?
Pada ekspresi pertama, kenaikan akan terjadi terlebih dahulu pada variabel a, dan nilai yang dihasilkan akan menjadi nilai yang akan digunakan. Ini juga dikenal sebagai kenaikan awalan. Pada ekspresi kedua, nilai variabel a saat ini akan menjadi nilai yang akan digunakan dalam suatu operasi, sebelum nilai a itu sendiri dinaikkan. Ini juga dikenal sebagai kenaikan akhiran.
57) Apa yang akan terjadi pada X dalam persamaan ini: X += 15; (dengan asumsi nilai X adalah 5)
X +=15 adalah cara singkat penulisan X = X + 15, jadi jika nilai awal X adalah 5, maka 5 + 15 = 20.
58) Dalam bahasa C, variabel NAMA, Nama, dan Nama semuanya sama. Benar atau salah?
PALSU. Bahasa C adalah bahasa yang peka huruf besar-kecil. Oleh karena itu, NAMA, nama dan Nama adalah tiga variabel unik yang berbeda.
59) Apa yang dimaksud dengan putaran tanpa akhir?
Loop tak berujung dapat berarti dua hal. Pertama, loop dirancang untuk terus menerus melakukan loop hingga kondisi dalam loop terpenuhi, setelah itu fungsi break akan menyebabkan program keluar dari loop. Gagasan lain dari loop tak berujung adalah ketika kondisi loop yang salah ditulis, menyebabkan loop berjalan salah selamanya. Loop tak berujung sering disebut sebagai loop tak terbatas.
60) Apa yang dimaksud dengan diagram alur program dan apa manfaatnya dalam penulisan program?
Diagram alur memberikan representasi visual tentang prosedur langkah demi langkah menuju penyelesaian masalah tertentu. Flowchart terbuat dari simbol-simbol yang masing-masing simbolnya berbentuk berbeda-beda. Setiap bentuk dapat mewakili entitas tertentu dalam keseluruhan struktur program, seperti proses, kondisi, atau bahkan fase masukan/keluaran.
61) Apa yang salah dengan pernyataan program ini? batal = 10;
Kata void adalah kata khusus dalam bahasa C. Anda tidak dapat menggunakan kata-kata khusus sebagai variabel buatan pengguna.
62) Apakah pernyataan program ini valid? INT = 10.50;
Dengan asumsi bahwa INT adalah variabel bertipe float, pernyataan ini valid. Orang mungkin berpikir bahwa INT adalah kata yang dilindungi undang-undang dan tidak boleh digunakan untuk tujuan lain. Namun, ingatlah bahwa kata-kata yang dicadangkan dinyatakan dalam huruf kecil, sehingga kompiler C tidak akan menafsirkannya sebagai kata yang dicadangkan.
63) Apa argumen sebenarnya?
Saat Anda membuat dan menggunakan fungsi yang perlu melakukan tindakan pada beberapa nilai tertentu, Anda harus meneruskan nilai tertentu tersebut ke fungsi tersebut. Nilai yang diteruskan ke fungsi yang dipanggil disebut sebagai argumen sebenarnya.
64) Apa yang dimaksud dengan urutan escape baris baru?
Urutan escape baris baru diwakili oleh karakter \n. Ini digunakan untuk menyisipkan baris baru saat menampilkan data di layar keluaran. Lebih banyak spasi dapat ditambahkan dengan memasukkan lebih banyak \n karakter. Misalnya, \n\n akan menyisipkan dua spasi. Urutan escape baris baru dapat ditempatkan sebelum atau sesudah ekspresi keluaran aktual.
65) Apa yang dimaksud dengan pengalihan keluaran?
Ini adalah proses mentransfer data ke sumber keluaran alternatif selain layar tampilan. Pengalihan keluaran memungkinkan program menyimpan keluarannya ke dalam berkas. Misalnya, jika Anda memiliki program bernama COMPUTE, mengetiknya pada baris perintah sebagai COMPUTE >DATA dapat menerima masukan dari pengguna, melakukan perhitungan tertentu, lalu mengalihkan keluaran ke berkas bernama DATA, alih-alih menampilkannya di layar.
66) Apa yang dimaksud dengan kesalahan run-time?
Ini adalah kesalahan yang terjadi saat program sedang dijalankan. Salah satu contoh umum di mana kesalahan run-time dapat terjadi adalah saat Anda mencoba membagi angka dengan nol. Saat kesalahan run-time terjadi, eksekusi program akan terhenti, menunjukkan baris program mana yang menyebabkan kesalahan.
67) Apa perbedaan antara fungsi abs() dan fabs()?
Kedua fungsi ini pada dasarnya melakukan tindakan yang sama, yaitu mendapatkan nilai absolut dari nilai yang diberikan. Abs() digunakan untuk nilai integer, sedangkan fabs() digunakan untuk angka tipe floating. Selain itu, prototipe untuk abs() berada di bawah , sementara fabs() berada di bawah .
68) Apa yang dimaksud dengan parameter formal?
Dalam menggunakan fungsi dalam program C, parameter formal berisi nilai yang diteruskan oleh fungsi pemanggil. Nilai-nilai tersebut diganti dalam parameter formal ini dan digunakan dalam operasi apa pun seperti yang ditunjukkan dalam bagian utama fungsi yang dipanggil.
69) Apa yang dimaksud dengan struktur kendali?
Struktur kontrol mengambil alih instruksi yang harus dilakukan dalam suatu program. Artinya alur program belum tentu berpindah dari satu pernyataan ke pernyataan berikutnya, namun beberapa bagian alternatif mungkin perlu diteruskan atau dilewati, bergantung pada hasil dari pernyataan kondisional.
70) Tuliskan potongan kode sederhana yang akan memeriksa apakah suatu bilangan positif atau negatif
If (num>=0) printf("number is positive"); else printf ("number is negative");
71) Kapan pernyataan โberalihโ lebih disukai daripada pernyataan โjikaโ?
beralih pernyataan paling baik digunakan saat menangani pilihan berdasarkan satu variabel atau ekspresi. Namun, pernyataan switch hanya dapat mengevaluasi tipe data integer dan karakter.
72) Apa itu variabel global dan bagaimana cara mendeklarasikannya?
Variabel global adalah variabel yang dapat diakses dan dimanipulasi dimana saja dalam program. Untuk membuat variabel menjadi global, letakkan deklarasi variabel di bagian atas program, tepat setelah bagian arahan praprosesor.
73) Apa saja tipe yang disebutkan?
Tipe yang disebutkan memungkinkan pemrogram untuk menggunakan kata-kata yang lebih bermakna sebagai nilai pada suatu variabel. Setiap item dalam variabel tipe enumerasi sebenarnya dikaitkan dengan kode numerik. Misalnya, seseorang dapat membuat variabel tipe enumerasi bernama DAYS yang nilainya adalah Monday, Selasaโฆ Minggu.
74) Apa fungsi toupper()?
Ini digunakan untuk mengubah huruf apa pun menjadi mode huruf besar. Prototipe fungsi Toupper() dideklarasikan di . Perhatikan bahwa fungsi ini hanya akan mengonversi satu karakter, dan bukan keseluruhan string.
75) Apakah mungkin untuk memiliki suatu fungsi sebagai parameter di fungsi lain?
Ya, itu diperbolehkan dalam pemrograman C. Anda hanya perlu memasukkan seluruh prototipe fungsi ke dalam kolom parameter fungsi lain yang akan menggunakannya.
76) Apa itu array multidimensi?
Array multidimensi mampu menyimpan data dalam struktur dua dimensi atau lebih. Misalnya, Anda dapat menggunakan array 2 dimensi untuk menyimpan posisi bidak saat ini dalam permainan catur, atau posisi pemain dalam program tic-tac-toe.
77) Fungsi manakah di C yang dapat digunakan untuk menambahkan string ke string lain?
Fungsi strcat. Dibutuhkan dua parameter, string sumber dan nilai string untuk ditambahkan ke string sumber.
78) Apa perbedaan antara fungsi getch() dan getche()?
Kedua fungsi tersebut akan menerima nilai input karakter dari pengguna. Saat menggunakan getch(), tombol yang ditekan tidak akan muncul di layar, dan secara otomatis diambil dan ditetapkan ke variabel. Saat menggunakan getche(), tombol yang ditekan oleh pengguna akan muncul di layar, sekaligus ditetapkan ke variabel.
79) Apakah kedua pernyataan program ini menghasilkan keluaran yang sama? 1) scanf(โ%cโ, &huruf); 2) huruf=getchar()
Ya, keduanya melakukan hal yang persis sama, yaitu menerima tombol berikutnya yang ditekan oleh pengguna dan menetapkannya ke variabel bernama huruf.
80) Apa saja tipe struktur di C?
Tipe struktur terutama digunakan untuk menyimpan catatan. Catatan terdiri dari bidang terkait. Hal ini memudahkan pengorganisasian sekelompok data terkait.
81) Apa arti karakter โrโ dan โwโ ketika menulis program yang akan menggunakan file?
"r" berarti "membaca" dan akan membuka file sebagai input dimana data akan diambil. "w" berarti "menulis", dan akan membuka file untuk keluaran. Data sebelumnya yang disimpan pada file itu akan terhapus.
82) Apa perbedaan antara file teks dan file biner?
Berkas teks berisi data yang mudah dipahami manusia. Berkas ini meliputi huruf, angka, dan karakter lainnya. Di sisi lain, berkas biner berisi angka 1 dan 0 yang hanya dapat ditafsirkan oleh komputer.
83) apakah mungkin membuat file header sendiri?
Ya, dimungkinkan untuk membuat file header yang disesuaikan. Cukup sertakan di dalamnya prototipe fungsi yang ingin Anda gunakan dalam program Anda, dan gunakan direktif #include diikuti dengan nama file header Anda.
84) Apa yang dimaksud dengan struktur data dinamis?
Struktur data dinamis menyediakan sarana untuk menyimpan data secara lebih efisien ke dalam memori. Menggunakan Menggunakan alokasi memori dinamis, program Anda akan mengakses ruang memori sesuai kebutuhan. Hal ini berbeda dengan struktur data statis, dimana pemrogram harus menunjukkan jumlah ruang memori tetap yang akan digunakan dalam program.
85) Apa saja tipe data yang berbeda di C?
Dasar tipe data di C adalah int, char, dan float. Int digunakan untuk mendeklarasikan variabel yang akan menyimpan nilai integer. Float digunakan untuk menyimpan angka riil. Char dapat menyimpan nilai karakter individual.
86) Apa bentuk umum dari program C?
Program AC dimulai dengan arahan praprosesor, di mana pemrogram akan menentukan file header mana dan konstanta apa (jika ada) yang akan digunakan. Ini diikuti oleh judul fungsi utama. Di dalam fungsi utama terdapat deklarasi variabel dan pernyataan program.
87) Apa keuntungan dari file akses acak?
Jika jumlah data yang disimpan dalam suatu file cukup besar, penggunaan akses acak akan memungkinkan Anda mencarinya dengan lebih cepat. Jika itu adalah file akses berurutan, Anda harus menelusuri satu catatan pada satu waktu hingga Anda mencapai data target. File akses acak memungkinkan Anda melompat langsung ke alamat target tempat data berada.
88) Dalam pernyataan switch, apa yang akan terjadi jika pernyataan break dihilangkan?
Jika pernyataan break tidak ditempatkan pada akhir bagian kasus tertentu? Ini akan berpindah ke bagian kasus berikutnya, mungkin menyebabkan keluaran yang salah.
89) Jelaskan bagaimana array dapat diteruskan ke fungsi yang ditentukan pengguna
Satu hal yang perlu diperhatikan adalah Anda tidak dapat meneruskan seluruh array ke suatu fungsi. Sebagai gantinya, Anda meneruskan pointer yang akan menunjuk ke elemen pertama array di memori. Untuk melakukannya, Anda menunjukkan nama array tanpa tanda kurung.
90) Apa itu petunjuk?
Poin petunjuk ke area tertentu dalam memori. Pointer berisi alamat suatu variabel, yang pada gilirannya mungkin berisi nilai atau bahkan alamat ke memori lain.
91) Bisakah Anda meneruskan seluruh struktur ke fungsi?
Ya, dimungkinkan untuk meneruskan seluruh struktur ke suatu fungsi dalam panggilan dengan gaya metode. Namun, beberapa programmer lebih suka mendeklarasikan struktur secara global, kemudian meneruskan variabel tipe struktur tersebut ke suatu fungsi. Metode ini membantu menjaga konsistensi dan keseragaman dalam hal tipe argumen.
92) Apa itu fungsi get()?
gets() function
memungkinkan entri data baris penuh dari pengguna. Ketika pengguna menekan tombol enter untuk mengakhiri input, seluruh baris karakter disimpan ke variabel string. Perhatikan bahwa tombol enter tidak disertakan dalam variabel, melainkan terminator nol \0 ditempatkan setelah karakter terakhir.
93) Simbol % mempunyai kegunaan khusus dalam pernyataan printf. Bagaimana Anda menempatkan karakter ini sebagai bagian dari keluaran di layar?
Anda dapat melakukan ini dengan menggunakan %% dalam pernyataan printf. Misalnya, Anda dapat menulis printf(โ10%%โ) agar outputnya muncul sebagai 10% di layar.
94) Bagaimana cara mencari data dalam file data menggunakan metode akses acak?
Gunakan fseek()
berfungsi untuk melakukan input/output akses acak pada suatu file. Setelah file dibuka oleh fungsi fopen(), fseek memerlukan tiga parameter agar dapat berfungsi: penunjuk file ke file, jumlah byte yang akan dicari, dan titik asal file.
95) Apakah komentar disertakan pada tahap kompilasi dan ditempatkan di file EXE juga?
Tidak, komentar yang ditemukan oleh kompiler akan diabaikan. Komentar sebagian besar hanya untuk panduan pemrogram dan tidak memiliki kegunaan signifikan lainnya dalam fungsionalitas program.
96) Apakah ada fungsi bawaan di C yang dapat digunakan untuk mengurutkan data?
Ya, gunakan qsort()
fungsi. Dimungkinkan juga untuk membuat fungsi yang ditentukan pengguna untuk pengurutan, seperti fungsi berdasarkan algoritma pengurutan balon dan pengurutan gelembung.
97) Apa kelebihan dan kekurangan heap?
Menyimpan data di heap lebih lambat dibandingkan saat menggunakan stack. Namun, keuntungan utama menggunakan heap adalah fleksibilitasnya. Itu karena memori dalam struktur ini dapat dialokasikan dan dihapus dalam urutan tertentu. Kelambatan dalam heap dapat dikompensasi jika suatu algoritma dirancang dan diimplementasikan dengan baik.
98) Bagaimana Anda mengubah string menjadi angka dalam C?
Anda dapat menulis fungsi Anda sendiri untuk melakukan konversi string ke angka, atau sebagai gantinya menggunakan fungsi bawaan C. Anda dapat menggunakan atof untuk mengonversi ke nilai floating point, atoi untuk mengonversi ke nilai integer, dan atol untuk mengonversi ke nilai integer panjang.
99) Buat potongan kode sederhana yang akan menukar nilai dua variabel num1 dan num2.
int temp; temp = num1; num1 = num2; num2 = temp;
100) Apa gunanya titik koma (;) di akhir setiap pernyataan program?
Ini ada hubungannya dengan proses parsing dan kompilasi kode. Titik koma bertindak sebagai pembatas, sehingga kompiler mengetahui di mana setiap pernyataan berakhir, dan dapat melanjutkan untuk membagi pernyataan menjadi elemen-elemen yang lebih kecil untuk pemeriksaan sintaksis.
Pertanyaan wawancara ini juga akan membantu dalam viva Anda (lisan)