top 40 c programming interview questions
Am häufigsten gestellte Fragen und Antworten zum C-Programmierinterview:
Die Programmiersprache C wurde zwischen 1969 und 1973 von Dennis Ritchie in den Bell Labs entwickelt. Er verwendet diese neue Programmiersprache, um das UNIX-Betriebssystem erneut zu implementieren.
C ist eine strukturierte orientierte Programmiersprache auf hoher Ebene, die für allgemeine Programmieranforderungen verwendet wird. Grundsätzlich ist C eine Sammlung seiner Bibliotheksfunktionen. Es ist auch flexibel, benutzerdefinierte Funktionen hinzuzufügen und diese in die C-Bibliothek aufzunehmen.
Die Hauptverwendung der Programmiersprache C umfasst Sprachcompiler, Betriebssysteme, Assembler, Texteditoren, Druckerspooler, Netzwerktreiber, moderne Programme, Datenbanken, Sprachinterpreter und Dienstprogramme.
Die häufigsten Fragen zum C-Programmierinterview
Auf geht's.
F # 1) Was sind die Hauptmerkmale in der Programmiersprache C?
Antwort: Folgende Funktionen stehen zur Verfügung:
- Portabilität : Es ist eine plattformunabhängige Sprache.
- Modularität: Möglichkeit, große Programme in kleine Module zu zerlegen.
- Flexibilität: Die Möglichkeit eines Programmierers, die Sprache zu steuern.
- Geschwindigkeit: C bietet Unterstützung für die Systemprogrammierung und wird daher im Vergleich zu anderen Hochsprachen mit hoher Geschwindigkeit kompiliert und ausgeführt.
- Erweiterbarkeit : Möglichkeit, neue Funktionen durch den Programmierer hinzuzufügen.
F # 2) Welche grundlegenden Datentypen sind mit C verbunden?
Antworten:
- Int - Stellen Sie die Zahl (Ganzzahl) dar
- Float - Nummer mit einem Bruchteil.
- Doppelt - Gleitkommawert mit doppelter Genauigkeit
- Char - Einzelzeichen
- Nichtig - Spezialtyp ohne Wert.
F # 3) Wie lautet die Beschreibung für Syntaxfehler?
Antworten: Die Fehler, die beim Erstellen eines Programms auftreten, werden als Syntaxfehler bezeichnet. Falsch geschriebene Befehle oder falsche Groß- / Kleinschreibung, eine falsche Anzahl von Parametern beim Aufrufen von Methode / Funktion und Datentyp-Fehlanpassungen können als häufige Beispiele für Syntaxfehler identifiziert werden.
F # 4) Wie wird eine Inkrementierungs- und Dekrementierungsanweisung in C erstellt?
Antworten: Es gibt zwei mögliche Methoden, um diese Aufgabe auszuführen.
- Verwenden Sie den Operator increment (++) und decrement (-).
Beispiel Wenn x = 4, gibt x ++ 5 und x- 3 zurück.
- Verwenden Sie ein herkömmliches + oder - Zeichen.
Beispiel Wenn x = 4, verwenden Sie x + 1, um 5 zu erhalten, und x-1, um 3 zu erhalten.
F # 5) Was sind reservierte Wörter mit einer Programmiersprache?
Antworten: Die Wörter, die Teil der Standard-C-Sprachbibliothek sind, werden aufgerufen reservierte Wörter . Diese reservierten Wörter haben eine besondere Bedeutung und können nicht für andere Aktivitäten als die beabsichtigte Funktionalität verwendet werden.
Beispiel: nichtig, return int.
F # 6) Was ist die Erklärung für den baumelnden Zeiger in C?
Antworten: Wenn ein Zeiger auf eine Speicheradresse einer Variablen zeigt, die Variable jedoch nach einiger Zeit aus dem Speicherort gelöscht wurde, während der Zeiger auf diesen Speicherort zeigt, wird dies in C als baumelnder Zeiger bezeichnet.
F # 7) Beschreiben Sie die statische Funktion mit ihrer Verwendung?
Antworten: Eine Funktion, der eine Funktionsdefinition mit einem statischen Schlüsselwort vorangestellt ist, wird als statische Funktion definiert. Die statische Funktion sollte im selben Quellcode aufgerufen werden.
F # 8) Was ist der Unterschied zwischen den Funktionen abs () und fabs ()?
Antworten: Beide Funktionen dienen zum Abrufen des Absolutwerts. abs () steht für ganzzahlige Werte und fabs () für schwebende Typnummern. Der Prototyp für abs () befindet sich unter der Bibliotheksdatei und fabs () befindet sich unter.
F # 9) Beschreiben Sie wilde Zeiger in C?
Antworten: Nicht initialisierte Zeiger im C-Code sind bekannt als Wilde Zeiger . Sie verweisen auf einen beliebigen Speicherort und können ein schlechtes Programmverhalten oder einen Programmabsturz verursachen.
F # 10) Was ist der Unterschied zwischen ++ a und a ++?
Antworten: '++ a' wird als vorangestelltes Inkrement bezeichnet und das Inkrement wird zuerst für eine Variable ausgeführt. 'A ++' heißt Postfix-Inkrement und das Inkrement erfolgt nach dem Wert einer Variablen, die für die Operationen verwendet wird.
F # 11) Beschreiben Sie den Unterschied zwischen = und == Symbolen in der C-Programmierung?
Antworten: '==' ist der Vergleichsoperator, mit dem der Wert oder Ausdruck auf der linken Seite mit dem Wert oder Ausdruck auf der rechten Seite verglichen wird.
'=' Ist der Zuweisungsoperator, mit dem der Variablen auf der linken Seite der Wert der rechten Seite zugewiesen wird.
F # 12) Was ist die Erklärung für die Prototypfunktion in C?
beste Weg, um YouTube-Videos in MP3 zu konvertieren
Antworten: Die Prototypfunktion ist eine Deklaration einer Funktion mit den folgenden Informationen an den Compiler.
- Name der Funktion.
- Der Rückgabetyp der Funktion.
- Parameterliste der Funktion.
In diesem Beispiel lautet der Name der Funktion Sum, der Rückgabetyp ist der Integer-Datentyp und akzeptiert zwei Integer-Parameter.
F # 13) Was ist die Erklärung für die zyklische Natur von Datentypen in C?
Antworten: Einige der Datentypen in C haben besondere charakteristische Eigenschaften, wenn ein Entwickler Werte außerhalb des Bereichs des Datentyps zuweist. Es tritt kein Compilerfehler auf und der Wert ändert sich in zyklischer Reihenfolge. Dies nennt man zyklische Natur. Die Datentypen Char, int, long int haben diese Eigenschaft. Weitere Float-, Double- und Long-Double-Datentypen haben diese Eigenschaft nicht.
F # 14) Beschreiben Sie die Header-Datei und ihre Verwendung in der C-Programmierung.
Antworten: Die Datei mit den Definitionen und Prototypen der im Programm verwendeten Funktionen wird als Header-Datei bezeichnet. Es wird auch als Bibliotheksdatei bezeichnet.
Beispiel: Die Header-Datei enthält Befehle wie printf und scanf stammt aus der Bibliotheksdatei stdio.h.
F # 15) Es gibt eine Praxis beim Codieren, einige Codeblöcke in Kommentarsymbolen zu belassen, als sie beim Debuggen zu löschen. Wie wirkt sich das beim Debuggen aus?
Antworten: Dieses Konzept wird als Auskommentieren bezeichnet. Auf diese Weise wird ein Teil des Codes isoliert, der mögliche Gründe für den Fehler überprüft. Dieses Konzept hilft auch, Zeit zu sparen, da der Code, wenn er nicht der Grund für das Problem ist, einfach aus dem Kommentar entfernt werden kann.
F # 16) Wie lautet die allgemeine Beschreibung für Schleifenanweisungen und verfügbare Schleifentypen in C?
Antworten: Eine Anweisung, mit der Anweisungen oder Gruppen von Anweisungen wiederholt ausgeführt werden können, wird als Schleife definiert.
Das folgende Diagramm erläutert eine allgemeine Form einer Schleife.
Es gibt 4 Arten von Schleifenanweisungen in C.
- While-Schleife
- Für Schleife
- Tun Sie ... während der Schleife
- Verschachtelte Schleife
F # 17) Was ist eine verschachtelte Schleife?
Antworten: Eine Schleife, die innerhalb einer anderen Schleife ausgeführt wird, wird als a bezeichnet verschachtelte Schleife . Die erste Schleife wird als äußere Schleife und die innere Schleife als innere Schleife bezeichnet. Die innere Schleife führt die Häufigkeit aus, die in einer äußeren Schleife definiert ist.
F # 18) Was ist die allgemeine Funktionsform in C?
Antworten: Die Funktionsdefinition in C enthält vier Hauptabschnitte.
return_type function_name( parameter list ) { body of the function }
- Rückgabetyp : Datentyp des Rückgabewerts der Funktion.
- Funktionsname: Der Name der Funktion und es ist wichtig, einen aussagekräftigen Namen zu haben, der die Aktivität der Funktion beschreibt.
- Parameter : Die Eingabewerte für die Funktion, mit denen die erforderliche Aktion ausgeführt wird.
- Funktionskörper : Sammlung von Anweisungen, die die erforderliche Aktion ausführen.
F # 19) Was ist ein Zeiger auf einen Zeiger in der Programmiersprache C?
Antworten: Eine Zeigervariable, die die Adresse einer anderen Zeigervariablen enthält, wird als Zeiger auf einen Zeiger bezeichnet. Dieses Konzept bezieht sich zweimal auf die Daten, die von einer Zeigervariablen gehalten werden.
In diesem Beispiel gibt ** y den Wert der Variablen a zurück.
F # 20) An welchen Stellen kann das Schlüsselwort 'Pause' verwendet werden?
Antworten: Der Zweck des Schlüsselworts Break besteht darin, das Steuerelement aus dem ausgeführten Codeblock herauszuholen. Es kann nur in Schleifen- oder switch-Anweisungen erscheinen.
F # 21) Was ist der Verhaltensunterschied, wenn die Header-Datei in doppelten Anführungszeichen ('') und eckigen Klammern () enthalten ist?
Antworten: Wenn die Header-Datei in doppelte Anführungszeichen ('') eingeschlossen ist, sucht der Compiler zuerst im Arbeitsverzeichnis nach der jeweiligen Header-Datei. Wenn es nicht gefunden wird, durchsucht es die Datei im Include-Pfad. Wenn die Header-Datei jedoch in eckigen Klammern () enthalten ist, sucht der Compiler nur im Arbeitsverzeichnis nach der jeweiligen Header-Datei.
F # 22) Was ist eine Datei mit sequentiellem Zugriff?
Antworten: Allgemeine Programme speichern Daten in Dateien und rufen vorhandene Daten aus Dateien ab. Mit der sequentiellen Zugriffsdatei werden solche Daten in einem sequentiellen Muster gespeichert. Beim Abrufen von Daten aus solchen Dateien werden alle Daten einzeln gelesen, bis die erforderlichen Informationen gefunden wurden.
F # 23) Wie werden Daten in einem Stack-Datenstrukturtyp gespeichert?
Antworten: Daten werden im Stack-Datenstrukturtyp mit dem gespeichert First In Last Out (FILO) Mechanismus. Auf eine bestimmte Instanz kann nur auf die Oberseite des Stapels zugegriffen werden. Der Speichermechanismus wird als PUSH und das Abrufen als POP bezeichnet.
F # 24) Welche Bedeutung haben C-Programmalgorithmen?
Antworten: Der Algorithmus wird zuerst erstellt und enthält schrittweise Richtlinien, wie die Lösung aussehen soll. Außerdem enthält es die zu berücksichtigenden Schritte und die erforderlichen Berechnungen / Operationen innerhalb des Programms.
F # 25) Was ist der richtige Code, um die folgende Ausgabe in C mit einer verschachtelten for-Schleife zu erhalten?
Antworten:
#include int main () { int a; int b; /* for loop execution */ for( a = 1; a <6; a++ ) { /* for loop execution */ for ( b = 1; b <= a; b++ ) { printf('%d',b); } printf('
'); } return 0; }
F # 26) Erklären Sie die Verwendung der Funktion toupper () mit einem Beispielcode?
Antworten: Die Funktion Toupper () wird verwendet, um den Wert in Großbuchstaben umzuwandeln, wenn er mit Zeichen verwendet wird.
Code:
#include #include int main() { char c; c = 'a'; printf('%c -> %c', c, toupper(c)); c = 'A'; printf('
%c -> %c', c, toupper(c)); c = '9'; printf('
%c -> %c', c, toupper(c)); return 0; }
Ergebnis:
F # 27) Was ist der Code in einer while-Schleife, der die Ausgabe des angegebenen Codes zurückgibt?
#include int main () { int a; /* for loop execution */ for( a = 1; a <= 100; a++ ) { printf('%d
',a * a); } return 0; }
Antworten:
#include int main () { int a; while (a<=100) { printf ('%d
', a * a); a++; } return 0; }
F # 28) Wählen Sie das falsche Operatorformular in der folgenden Liste aus (== ,,> =,<=) and what is the reason for the answer?
Antworten: Falscher Operator ist ''. Dieses Format ist beim Schreiben von bedingten Anweisungen korrekt, es ist jedoch nicht die richtige Operation, um anzuzeigen, dass die C-Programmierung nicht gleich ist. Es gibt einen Kompilierungsfehler wie folgt.
Code:
#include int main () { if ( 5 10 ) printf( 'test for ' ); return 0; }
Error:
F # 29) Ist es möglich, geschweifte Klammern ({}) zu verwenden, um einen einzelnen Zeilencode in das C-Programm einzuschließen?
Antworten: Ja, es funktioniert ohne Fehler. Einige Programmierer verwenden dies gerne, um den Code zu organisieren. Der Hauptzweck von geschweiften Klammern besteht jedoch darin, mehrere Codezeilen zu gruppieren.
F # 30) Beschreiben Sie den Modifikator in C?
Antworten: Der Modifikator ist ein Präfix für den Basisdatentyp, mit dem die Änderung für die Speicherplatzzuweisung zu einer Variablen angegeben wird.
Beispiel- In einem 32-Bit-Prozessor beträgt der Speicherplatz für den Datentyp int 4. Wenn wir ihn mit dem Modifikator verwenden, ändert sich der Speicherplatz wie folgt:
- Long int: Der Speicherplatz beträgt 8 Bit
- Short int: Der Speicherplatz beträgt 2 Bit
F # 31) Welche Modifikatoren sind in der Programmiersprache C verfügbar?
Antworten: In der Programmiersprache C stehen 5 Modifikatoren zur Verfügung:
- Kurz
- Lange
- Unterzeichnet
- Ohne Vorzeichen
- lang Lang
F # 32) Wie werden Zufallszahlen in der Programmiersprache C generiert?
Antworten: Zu diesem Zweck steht der Befehl rand () zur Verfügung. Die Funktion gibt eine Ganzzahl zurück, die bei Null (0) beginnt. Der folgende Beispielcode demonstriert die Verwendung von rand ().
Code:
#include #include int main () { int a; int b; for(a=1; a<11; a++) { b = rand(); printf( '%d
', b ); } return 0; }
Ausgabe:
F # 33) Beschreiben Sie die Newline-Escape-Sequenz mit einem Beispielprogramm.
Antworten: Die Newline-Escape-Sequenz wird durch n dargestellt. Dies gibt den Punkt an, an dem die neue Zeile zum Compiler startet und die Ausgabe entsprechend erstellt wird. Das folgende Beispielprogramm demonstriert die Verwendung der Zeilenumbruchsequenz.
Code:
/* * C Program to print string */ #include #include int main(){ printf('String 01 '); printf('String 02 '); printf('String 03
'); printf('String 01
'); printf('String 02
'); return 0; }
Ausgabe:
F # 34) Ist es möglich, 32768 in einer int-Datentypvariablen zu speichern?
Antworten: Der Datentyp Int kann nur Werte zwischen - 32768 und 32767 speichern. Zum Speichern von 32768 muss ein Modifikator mit dem Datentyp int verwendet werden. Long Int kann verwendet werden und auch wenn keine negativen Werte vorhanden sind, kann auch Int ohne Vorzeichen verwendet werden.
F # 35) Gibt es eine Möglichkeit, eine benutzerdefinierte Header-Datei mit der Programmiersprache C zu erstellen?
Antworten: Ja, es ist möglich und einfach, eine neue Header-Datei zu erstellen. Erstellen Sie eine Datei mit Funktionsprototypen, die im Programm verwendet werden. Fügen Sie die Datei aus ihrem Namen in den Abschnitt '#include' ein.
F # 36) Beschreiben Sie die dynamische Datenstruktur in der Programmiersprache C?
Antworten: Die dynamische Datenstruktur ist für den Speicher effizienter. Der Speicherzugriff erfolgt nach Bedarf des Programms.
F # 37) Ist es möglich, sich gegenseitig Zeiger hinzuzufügen?
Antworten: Es gibt keine Möglichkeit, Zeiger zusammenzufügen. Da der Zeiger Adressdetails enthält, kann der Wert aus dieser Operation nicht abgerufen werden.
F # 38) Was ist Indirektion?
Antworten: Wenn Sie einen Zeiger auf eine Variable oder ein Speicherobjekt definiert haben, gibt es keinen direkten Verweis auf den Wert der Variablen. Dies wird als indirekte Referenz bezeichnet. Wenn wir jedoch eine Variable deklarieren, verweist sie direkt auf den Wert.
beste kostenlose Video-Downloader Windows 10
F # 39) Wie kann ein Nullzeiger in der Programmiersprache C verwendet werden?
Antwort: Nullzeiger können auf drei Arten verwendet werden.
- Als Fehlerwert.
- Als Sentinel-Wert.
- Beenden der Indirektion in der rekursiven Datenstruktur.
F # 40) Was ist die Erklärung für die modulare Programmierung?
Antworten: Das Aufteilen des Hauptprogramms in einen ausführbaren Unterabschnitt wird als Modulprogrammierung bezeichnet. Dieses Konzept fördert die Wiederverwendbarkeit.
Fazit
Der Fragesteller basiert auf den Konzepten der C-Programmiersprache, einschließlich der Speicherverwaltung mit Zeigern, der Kenntnis seiner Syntax und einigen Beispielprogrammen, die die Basic C-Programmstruktur verwenden. Das theatralische und praktische Wissen des Kandidaten wird mit den Fragen geprüft.
Literatur-Empfehlungen
- Interview Fragen und Antworten
- Einige knifflige manuelle Testfragen und -antworten
- C Vs C ++: 39 Hauptunterschiede zwischen C und C ++ mit Beispielen