Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

Top 100 Fragen und Antworten zu C-Programmierinterviews (2021)

1) Wie konstruieren Sie eine Inkrement-Anweisung oder Dekrement-Anweisung in C?

Es gibt eigentlich zwei Möglichkeiten, wie Sie dies tun können. Einer besteht darin, den Inkrementoperator ++ und den Dekrementoperator – zu verwenden. Beispielsweise bedeutet die Anweisung „x++“, den Wert von x um 1 zu erhöhen. Ebenso bedeutet die Anweisung „x –“, den Wert von x um 1 zu verringern. Eine andere Möglichkeit, Inkrementanweisungen zu schreiben, besteht darin, das herkömmliche Pluszeichen + zu verwenden oder – Minuszeichen. Im Fall von „x++“ ist eine andere Schreibweise „x =x +1“.

2) Was ist der Unterschied zwischen Call by Value und Call by Reference?

Bei der Verwendung von Call by Value senden Sie den Wert einer Variablen als Parameter an eine Funktion, während Call by Reference die Adresse der Variablen sendet. Außerdem wird bei Call by Value der Wert im Parameter nicht durch die stattfindende Operation beeinflusst, während im Fall von Call by Reference Werte durch den Prozess innerhalb der Funktion beeinflusst werden können.

3) Einige Programmierer debuggen ihre Programme, indem sie Kommentarsymbole auf einigen Codes platzieren, anstatt sie zu löschen. Wie hilft das beim Debuggen?

Das Platzieren von Kommentarsymbolen /* */ um einen Code, auch als „Auskommentieren“ bezeichnet, ist eine Möglichkeit, einige Codes zu isolieren, von denen Sie glauben, dass sie Fehler im Programm verursachen, ohne den Code zu löschen. Die Idee ist, dass Sie, wenn der Code tatsächlich korrekt ist, einfach die Kommentarsymbole entfernen und fortfahren. Es erspart Ihnen auch Zeit und Mühe, die Codes erneut eingeben zu müssen, wenn Sie sie überhaupt gelöscht haben.

4) Wie lautet der äquivalente Code der folgenden Anweisung im WHILE LOOP-Format?

for (a=1; a<=100; a++)

printf ("%d\n", a * a);

Antwort:

a=1;

while (a<=100) {

printf ("%d\n", a * a);

a++;

}

5) Was ist ein Stack?

Ein Stack ist eine Form einer Datenstruktur. Daten werden in Stacks nach dem FILO-Ansatz (First In Last Out) gespeichert. In jedem einzelnen Fall ist nur der obere Teil des Stacks zugänglich, was bedeutet, dass zum Abrufen von Daten, die im Stack gespeichert sind, zuerst die im oberen Teil extrahiert werden sollten. Das Speichern von Daten in einem Stapel wird auch als PUSH bezeichnet, während das Abrufen von Daten als POP bezeichnet wird.

6) Was ist eine Datei mit sequenziellem Zugriff?

Beim Schreiben von Programmen, die Daten in einer Datei speichern und abrufen, ist es möglich, diese Datei in verschiedenen Formen zu bezeichnen. Bei einer Datei mit sequenziellem Zugriff werden Daten in sequentieller Reihenfolge gespeichert:Daten werden nacheinander in die Datei eingefügt. Um auf bestimmte Daten innerhalb der sequenziellen Zugriffsdatei zuzugreifen, müssen die Daten einzeln gelesen werden, bis die richtige erreicht ist.

7) Was ist Variableninitialisierung und warum ist sie wichtig?

Dies bezieht sich auf den Vorgang, bei dem einer Variablen ein Anfangswert zugewiesen wird, bevor sie im Programm verwendet wird. Ohne Initialisierung hätte eine Variable einen unbekannten Wert, was zu unvorhersehbaren Ausgaben führen kann, wenn sie in Berechnungen oder anderen Operationen verwendet werden.

8 Was ist Spaghettiprogrammierung?

Spaghetti-Programmierung bezieht sich auf Codes, die dazu neigen, sich während des gesamten Programms zu verheddern und zu überlappen. Diese unstrukturierte Herangehensweise an die Codierung wird normalerweise auf mangelnde Erfahrung des Programmierers zurückgeführt. Spaghetti-Programmierung macht ein Programm komplex und die Analyse der Codes schwierig und muss daher so weit wie möglich vermieden werden.

9) Quellcodes von Objektcodes unterscheiden

Quellcodes sind Codes, die vom Programmierer geschrieben wurden. Es besteht aus den Befehlen und anderen englischen Schlüsselwörtern, die dem Computer sagen sollen, was er tun soll. Allerdings könnten Computer Quellcodes nicht verstehen. Daher werden Quellcodes mit einem Compiler kompiliert. Die resultierenden Ausgaben sind Objektcodes, die in einem Format vorliegen, das von dem Computerprozessor verstanden werden kann. Bei der C-Programmierung werden Quellcodes mit der Dateierweiterung .C gespeichert, während Objektcodes mit der Dateierweiterung .OBJ

gespeichert werden

10) Wie fügen Sie bei der C-Programmierung Anführungszeichen (‘ und “) in den Ausgabebildschirm ein?

Dies ist ein häufiges Problem für Anfänger, da Anführungszeichen normalerweise Teil einer printf-Anweisung sind. Um das Anführungszeichen als Teil der Ausgabe einzufügen, verwenden Sie die Formatbezeichner \’ (für einfaches Anführungszeichen) und \” (für doppelte Anführungszeichen).

11) Wozu dient das Zeichen „\0“?

Es wird als abschließendes Nullzeichen bezeichnet und dient hauptsächlich dazu, das Ende eines Zeichenfolgenwerts anzuzeigen.

12) Was ist der Unterschied zwischen dem =-Symbol und dem ==-Symbol?

Das Symbol =wird häufig in mathematischen Operationen verwendet. Es wird verwendet, um einer bestimmten Variablen einen Wert zuzuweisen. Andererseits ist das Symbol ==, auch bekannt als „gleich“ oder „äquivalent zu“, ein Vergleichsoperator, der verwendet wird, um zwei Werte zu vergleichen.

13) Was ist der Modulo-Operator?

Der Modulo-Operator gibt den Rest einer Division aus. Es verwendet das Prozentzeichen (%). Zum Beispiel:10 % 3 =1, was bedeutet, wenn Sie 10 durch 3 teilen, ist der Rest 1.

14) Was ist eine verschachtelte Schleife?

Eine verschachtelte Schleife ist eine Schleife, die innerhalb einer anderen Schleife ausgeführt wird. Anders ausgedrückt:Sie haben eine innere Schleife, die sich innerhalb einer äußeren Schleife befindet. In diesem Szenario wird die innere Schleife so oft ausgeführt, wie es die äußere Schleife vorgibt. Für jede Drehung auf der äußeren Schleife wird zuerst die innere Schleife ausgeführt.

15) Welcher der folgenden Operatoren ist falsch und warum? (>=, <=, <>, ==)

<> ist falsch. Während dieser Operator beim Schreiben von bedingten Anweisungen korrekt als „ungleich“ interpretiert wird, ist er nicht der richtige Operator für die Verwendung in der C-Programmierung. Stattdessen muss der Operator !=verwendet werden, um die Bedingung „ungleich“ anzugeben.

16) Compiler und Interpreter vergleichen und gegenüberstellen.

Compiler und Interpreter befassen sich oft damit, wie Programmcodes ausgeführt werden. Interpreter führen Programmcodes Zeile für Zeile aus, während Compiler das Programm als Ganzes nehmen und es in Objektcode konvertieren, bevor sie es ausführen. Der Hauptunterschied besteht hier darin, dass bei Interpretern ein Programm mitten in der Ausführung auf Syntaxfehler stoßen kann und von dort abbricht. Andererseits prüfen Compiler die Syntax des gesamten Programms und fahren nur dann mit der Ausführung fort, wenn keine Syntaxfehler gefunden werden.

17) Wie deklarieren Sie eine Variable, die Zeichenfolgenwerte enthält?

Das Schlüsselwort char kann jeweils nur 1 Zeichenwert enthalten. Indem Sie ein Array von Zeichen erstellen, können Sie Zeichenfolgenwerte darin speichern. Beispiel:„char MyName[50]; ” deklariert eine String-Variable namens MyName, die maximal 50 Zeichen enthalten kann.

18) Können die geschweiften Klammern { } verwendet werden, um eine einzelne Codezeile einzuschließen?

Während geschweifte Klammern hauptsächlich verwendet werden, um mehrere Codezeilen zu gruppieren, funktioniert es dennoch fehlerfrei, wenn Sie es für eine einzelne Zeile verwenden. Einige Programmierer bevorzugen diese Methode, um Codes übersichtlicher zu organisieren, insbesondere in bedingten Anweisungen.

19) Was sind Header-Dateien und wofür werden sie in der C-Programmierung verwendet?

Header-Dateien werden auch als Bibliotheksdateien bezeichnet. Sie enthalten zwei wesentliche Dinge:die Definitionen und Prototypen von Funktionen, die in einem Programm verwendet werden. Einfach ausgedrückt, Befehle, die Sie in der C-Programmierung verwenden, sind eigentlich Funktionen, die in den einzelnen Header-Dateien definiert werden. Jede Header-Datei enthält eine Reihe von Funktionen. Beispiel:stdio.h ist eine Header-Datei, die Definitionen und Prototypen von Befehlen wie printf und scanf enthält.

20) Was ist ein Syntaxfehler?

Syntaxfehler sind mit Fehlern bei der Verwendung einer Programmiersprache verbunden. Es kann sich um einen falsch geschriebenen Befehl handeln oder um einen Befehl, der im Kleinbuchstabenmodus eingegeben werden musste, aber stattdessen mit einem Großbuchstaben eingegeben wurde. Ein falsch platziertes Symbol oder das Fehlen eines Symbols irgendwo in einer Codezeile kann ebenfalls zu einem Syntaxfehler führen.

21) Was sind Variablen und wie unterscheiden sie sich von Konstanten?

Variablen und Konstanten mögen auf den ersten Blick ähnlich aussehen, da beide Bezeichner sind, die aus einem oder mehreren Zeichen (Buchstaben, Zahlen und einigen zulässigen Symbolen) bestehen. Beide werden auch einen bestimmten Wert haben. Werte, die von einer Variablen gehalten werden, können im gesamten Programm geändert und in den meisten Operationen und Berechnungen verwendet werden. Konstanten werden nur einmal Werte zugewiesen, die am Anfang eines Programms stehen. Dieser Wert wird im Programm nicht verändert. Sie können beispielsweise eine Konstante namens PI zuweisen und ihr den Wert 3.1415 zuweisen. Sie können es dann als PI im Programm verwenden, anstatt jedes Mal 3,1415 schreiben zu müssen, wenn Sie es brauchen.

22) Wie greifen Sie auf die Werte innerhalb eines Arrays zu?

Arrays enthalten eine Reihe von Elementen, abhängig von der Größe, die Sie bei der Variablendeklaration angegeben haben. Jedem Element wird eine Nummer von 0 bis Elementanzahl-1 zugeordnet. Um den Wert eines bestimmten Elements zuzuweisen oder abzurufen, beziehen Sie sich auf die Elementnummer. Beispiel:Wenn Sie eine Deklaration haben, die „intscores[5];“ lautet, dann haben Sie 5 zugängliche Elemente, nämlich:scores[0], scores[1], scores[2], scores[3] und scores[4 ].

23) Kann ich den Datentyp „int“ verwenden, um den Wert 32768 zu speichern? Warum?

Nein. Der Datentyp „int“ kann Werte von -32768 bis 32767 speichern. Um 32768 zu speichern, können Sie stattdessen „long int“ verwenden. Sie können auch „unsigned int“ verwenden, vorausgesetzt, Sie beabsichtigen nicht, negative Werte zu speichern.

24) Können zwei oder mehr Operatoren wie \n und \t in einer einzigen Programmcodezeile kombiniert werden?

Ja, es ist absolut zulässig, Operatoren zu kombinieren, insbesondere wenn dies erforderlich ist. Zum Beispiel:Sie können einen Code wie „printf („Hallo\n\n\'Welt\'“)“ verwenden, um den Text „Hallo“ in der ersten Zeile auszugeben und „Welt“ in einfachen Anführungszeichen eingeschlossen, um in der nächsten Zeile zu erscheinen zwei Zeilen.

25) Warum werden nicht alle Header-Dateien in jedem C-Programm deklariert?

Die Wahl, eine Header-Datei oben in jedem C-Programm zu deklarieren, hängt davon ab, welche Befehle/Funktionen Sie in diesem Programm verwenden werden. Da jede Header-Datei unterschiedliche Funktionsdefinitionen und Prototypen enthält, würden Sie nur die Header-Dateien verwenden, die die benötigten Funktionen enthalten. Das Deklarieren aller Header-Dateien in jedem Programm würde nur die Gesamtdateigröße und -last des Programms erhöhen und wird nicht als guter Programmierstil angesehen.

26) Wann wird das Schlüsselwort „void“ in einer Funktion verwendet?

Beim Deklarieren von Funktionen entscheiden Sie, ob diese Funktion einen Wert zurückgibt oder nicht. Wenn diese Funktion keinen Wert zurückgibt, z. B. wenn der Zweck einer Funktion darin besteht, einige Ausgaben auf dem Bildschirm anzuzeigen, muss „void“ ganz links im Funktionsheader platziert werden. Wenn nach der Funktionsausführung ein Rückgabewert erwartet wird, wird der Datentyp des Rückgabewerts anstelle von „void“ gesetzt.

27) Was sind zusammengesetzte Anweisungen?

Zusammengesetzte Anweisungen bestehen aus zwei oder mehr Programmanweisungen, die zusammen ausgeführt werden. Dies tritt normalerweise bei der Behandlung von Bedingungen auf, bei denen eine Reihe von Anweisungen ausgeführt werden, wenn ein TRUE oder FALSE ausgewertet wird. Zusammengesetzte Anweisungen können auch innerhalb einer Schleife ausgeführt werden. Geschweifte Klammern { } werden vor und nach zusammengesetzten Anweisungen gesetzt.

28) Welche Bedeutung hat ein Algorithmus für die C-Programmierung?

Bevor ein Programm geschrieben werden kann, muss zunächst ein Algorithmus erstellt werden. Ein Algorithmus liefert ein schrittweises Verfahren, wie eine Lösung hergeleitet werden kann. Es fungiert auch als Blaupause dafür, wie ein Programm gestartet und beendet wird, einschließlich welcher Prozesse und Berechnungen beteiligt sind.

29) Was ist der Vorteil eines Arrays gegenüber einzelnen Variablen?

Beim Speichern mehrerer zusammengehöriger Daten empfiehlt es sich, Arrays zu verwenden. Dies liegt daran, dass Arrays mit nur einem Wort benannt werden, gefolgt von einer Elementnummer. Beispiel:Um die 10 Testergebnisse eines Schülers zu speichern, kann man 10 verschiedene Variablennamen verwenden (Note1, Note2, Note3… Note10). Bei Arrays wird nur 1 Name verwendet, der Rest ist über den Indexnamen zugänglich (grade[0], grade[1], grade[2]… grade[9]).

30) Schreiben Sie eine Schleifenanweisung, die die folgende Ausgabe zeigt:

1

12

123

1234

12345

Antwort:

for (a=1; a<=5; i++) {

for (b=1; b<=a; b++)

printf("%d",b);

printf("\n");

}

31) Was ist falsch an dieser Aussage? scanf(“%d”,welcheNummer);

Vor dem Variablennamen whatnumber muss ein kaufmännisches Und-Zeichen &stehen. Das Platzieren von &bedeutet, dass jeder ganzzahlige Wert, der vom Benutzer eingegeben wird, an der „Adresse“ des Variablennamens gespeichert wird. Dies ist ein häufiger Fehler von Programmierern, der oft zu logischen Fehlern führt.

32) Wie generiert man Zufallszahlen in C?

Zufallszahlen werden in C mit dem Befehl rand() erzeugt. Beispiel:anyNum =rand() generiert eine beliebige ganze Zahl beginnend mit 0, vorausgesetzt, dass anyNum eine Variable vom Typ Integer ist.

33) Was könnte möglicherweise das Problem sein, wenn ein gültiger Funktionsname wie tolower() vom C-Compiler als nicht definiert gemeldet wird?

Der wahrscheinlichste Grund für diesen Fehler ist, dass die Header-Datei für diese Funktion nicht oben im Programm angegeben wurde. Header-Dateien enthalten die Definition und den Prototyp für Funktionen und Befehle, die in einem C-Programm verwendet werden. Bei „tolower()“ muss der Code „#include “ am Anfang des Programms stehen.

34) Was sind Kommentare und wie fügt man sie in ein C-Programm ein?

Kommentare sind eine großartige Möglichkeit, einige Bemerkungen oder Beschreibungen in ein Programm einzufügen. Es kann als Erinnerung dienen, worum es in dem Programm geht, oder als Beschreibung, warum ein bestimmter Code oder eine bestimmte Funktion überhaupt dort platziert wurde. Kommentare beginnen mit /* und enden mit */ Zeichen. Kommentare können einzeilig sein oder sich sogar über mehrere Zeilen erstrecken. Es kann überall im Programm platziert werden.

35) Was ist Debugging?

Debugging ist der Prozess der Identifizierung von Fehlern innerhalb eines Programms. Während der Programmkompilierung werden gefundene Fehler dazu führen, dass das Programm nicht vollständig ausgeführt wird. In diesem Zustand würde der Programmierer die möglichen Teile untersuchen, wo der Fehler aufgetreten ist. Debugging stellt die Beseitigung von Fehlern sicher und spielt eine wichtige Rolle bei der Sicherstellung, dass die erwartete Programmausgabe erreicht wird.

36) Was macht der Operator &&in einem Programmcode?

Das &&wird auch als UND-Operator bezeichnet. Bei Verwendung dieses Operators müssen alle angegebenen Bedingungen WAHR sein, bevor die nächste Aktion ausgeführt werden kann. Wenn Sie 10 Bedingungen haben und alle außer 1 nicht als TRUE ausgewertet werden, wird die gesamte Bedingungsanweisung bereits als FALSE ausgewertet

37) Welcher Befehl oder Code kann in der C-Programmierung verwendet werden, um festzustellen, ob eine Zahl ungerade oder gerade ist?

Es gibt keinen einzigen Befehl oder keine Funktion in C, die prüfen kann, ob eine Zahl ungerade oder gerade ist. Dies kann jedoch erreicht werden, indem man diese Zahl durch 2 dividiert und dann den Rest überprüft. Wenn der Rest 0 ist, dann ist diese Zahl gerade, andernfalls ist sie ungerade. Sie können es im Code schreiben als:

if (num % 2 == 0)

printf("EVEN");

else

printf("ODD");

38) Was bedeutet das Format %10.2, wenn es in einer printf-Anweisung enthalten ist?

Dieses Format wird für zwei Dinge verwendet:zum Festlegen der Anzahl der für die Ausgabenummer zugewiesenen Stellen und zum Festlegen der Anzahl der Dezimalstellen. Die Zahl vor dem Dezimalpunkt ist für den zugewiesenen Platz, in diesem Fall würde es 10 Plätze für die Ausgabenummer zuweisen. Wenn die Anzahl der von der Ausgangsnummer belegten Leerzeichen weniger als 10 beträgt, werden zusätzliche Leerzeichen vor der eigentlichen Ausgangsnummer eingefügt. Die Zahl nach dem Komma legt die Anzahl der Nachkommastellen fest, in diesem Fall sind es 2 Nachkommastellen.

39) Was sind logische Fehler und wie unterscheiden sie sich von Syntaxfehlern?

Programme, die logische Fehler enthalten, neigen dazu, den Kompilierungsprozess zu bestehen, aber die resultierende Ausgabe ist möglicherweise nicht die erwartete. Dies passiert, wenn eine falsche Formel in den Code eingefügt oder eine falsche Befehlsfolge ausgeführt wurde. Syntaxfehler hingegen behandeln falsche Befehle, die falsch geschrieben sind oder vom Compiler nicht erkannt werden.

40) Was sind die verschiedenen Arten von Kontrollstrukturen in der Programmierung?

Es gibt 3 Hauptkontrollstrukturen in der Programmierung:Sequenz, Auswahl und Wiederholung. Die Ablaufsteuerung folgt einem Ablauf von oben nach unten beim Ausführen eines Programms, so dass Schritt 1 zuerst ausgeführt wird, gefolgt von Schritt 2, bis der letzte Schritt ausgeführt ist. Bei der Auswahl handelt es sich um bedingte Anweisungen, dh Codes werden in Abhängigkeit von der Bewertung von Bedingungen als WAHR oder FALSCH ausgeführt. Dies bedeutet auch, dass möglicherweise nicht alle Codes ausgeführt werden und es darin alternative Abläufe gibt. Wiederholungen werden auch als Schleifenstrukturen bezeichnet und wiederholen ein oder zwei Programmanweisungen, die von einem Zähler gesetzt werden.

41) Was ist || Operator und wie funktioniert er in einem Programm?

Die || wird in der C-Programmierung auch als ODER-Operator bezeichnet. Bei Verwendung von || Um logische Bedingungen auszuwerten, wird jede Bedingung, die als WAHR ausgewertet wird, die gesamte Bedingungsanweisung als WAHR wiedergeben.

42) Kann die „if“-Funktion beim Vergleich von Strings verwendet werden?

Nein. Der „if“-Befehl kann nur zum Vergleichen von numerischen Werten und Einzelzeichenwerten verwendet werden. Für den Vergleich von String-Werten gibt es eine weitere Funktion namens strcmp, die sich speziell mit Strings befasst.

43) Was sind Präprozessordirektiven?

Präprozessordirektiven werden am Anfang jedes C-Programms platziert. Hier werden Bibliotheksdateien angegeben, die davon abhängen, welche Funktionen im Programm verwendet werden sollen. Eine weitere Verwendung von Präprozessor-Direktiven ist die Deklaration von Konstanten. Präprozessor-Direktiven beginnen mit dem Symbol #.

44) Was wird das Ergebnis der folgenden Bedingungsanweisung sein, wenn der Wert der Variablen s 10 ist?

s>=10 &&s <25 &&s!=12

Das Ergebnis wird WAHR sein. Da der Wert von s 10 ist, ergibt s>=10 WAHR, da s nicht größer als 10, aber immer noch gleich 10 ist. s<25 ist ebenfalls WAHR, da 10 kleiner als 25 ist. Genauso, s!=12 , was bedeutet, dass s ungleich 12 ist, zu TRUE ausgewertet wird. Das &&ist der UND-Operator und folgt der Regel, dass, wenn alle einzelnen Bedingungen WAHR sind, die gesamte Aussage WAHR ist.

45) Beschreiben Sie die Rangfolge in Bezug auf Operatoren in C.

Die Rangfolge bestimmt, welche Operation zuerst in einer Operationsanweisung oder Bedingungsanweisung ausgeführt werden muss. Auf der obersten Prioritätsebene befinden sich die unären Operatoren !, +, – und &. Darauf folgen die regulären mathematischen Operatoren (*, / und Modul % zuerst, gefolgt von + und -). Als nächstes folgen die Vergleichsoperatoren <, <=,>=und>. Danach folgen die beiden Gleichheitsoperatoren ==und !=. Die logischen Operatoren &&und || werden als nächstes ausgewertet. Auf der letzten Ebene befindet sich der Zuweisungsoperator =.

46) Was ist falsch an dieser Aussage? meinName =„Robin“;

Sie können das =-Zeichen nicht verwenden, um einer String-Variablen Werte zuzuweisen. Verwenden Sie stattdessen die Funktion strcpy. Die korrekte Anweisung wäre:strcpy(myName, „Robin“);

47) Wie bestimmen Sie die Länge eines String-Wertes, der in einer Variablen gespeichert wurde?

Um die Länge eines String-Werts zu erhalten, verwenden Sie die Funktion strlen(). Wenn Sie beispielsweise eine Variable mit dem Namen FullName haben, können Sie die Länge des gespeicherten Zeichenfolgenwerts mit dieser Anweisung abrufen:I =strlen(FullName); die Variable I hat nun die Zeichenlänge des Stringwerts.

48) Ist es möglich, eine Variable zum Zeitpunkt ihrer Deklaration zu initialisieren?

Ja, Sie müssen nach der Variablendeklaration keine separate Zuweisungsanweisung schreiben, es sei denn, Sie planen, sie später zu ändern. Zum Beispiel:char planet[15] =„Erde“; macht zwei Dinge:Es deklariert eine String-Variable namens Planet und initialisiert sie dann mit dem Wert „Erde“.

49) Warum wird die Sprache C als Sprache mittleren Niveaus betrachtet?

Dies liegt daran, dass die C-Sprache reich an Funktionen ist, die sie dazu bringen, sich wie eine Hochsprache zu verhalten, während sie gleichzeitig mit Hardware unter Verwendung von Methoden auf niedriger Ebene interagieren kann. Die Verwendung eines gut strukturierten Programmieransatzes, gepaart mit englischen Wörtern, die in Funktionen verwendet werden, macht es zu einer Hochsprache. Andererseits kann C direkt auf Speicherstrukturen zugreifen, ähnlich wie Assembler-Routinen.

50) Welche unterschiedlichen Dateierweiterungen gibt es beim Programmieren in C?

Quellcodes in C werden mit der Dateierweiterung .C gespeichert. Header-Dateien oder Bibliotheksdateien haben die Dateierweiterung .H. Jedes Mal, wenn ein Programmquellcode erfolgreich kompiliert wird, erstellt es eine .OBJ-Objektdatei und eine ausführbare .EXE-Datei.

51) Was sind reservierte Wörter?

Reservierte Wörter sind Wörter, die Teil der standardmäßigen C-Sprachbibliothek sind. Dies bedeutet, dass reservierte Wörter eine besondere Bedeutung haben und daher nicht für andere Zwecke als die ursprünglich beabsichtigten verwendet werden können. Beispiele für reservierte Wörter sind int, void und return.

52) Was sind verkettete Listen?

Eine verkettete Liste besteht aus Knoten, die miteinander verbunden sind. In der C-Programmierung werden verkettete Listen mithilfe von Zeigern erstellt. Die Verwendung von verknüpften Listen ist eine effiziente Möglichkeit, Speicher für die Speicherung zu nutzen.

53) Was ist FIFO?

In der C-Programmierung gibt es eine Datenstruktur, die als Warteschlange bekannt ist. In dieser Struktur werden Daten im FIFO-Format oder First-In-First-Out gespeichert und abgerufen. Eine Warteschlange stellt eine Zeile dar, in der die ersten Daten, die gespeichert wurden, auch die ersten sind, auf die zugegriffen werden kann.

54) Was sind binäre Bäume?

Binäre Bäume sind eigentlich eine Erweiterung des Konzepts der verknüpften Listen. Ein Binärbaum hat zwei Zeiger, einen linken und einen rechten. Jede Seite kann weiter verzweigen, um zusätzliche Knoten zu bilden, wobei jeder Knoten ebenfalls zwei Zeiger hat.

55) Nicht alle reservierten Wörter werden in Kleinbuchstaben geschrieben. RICHTIG oder FALSCH?

FALSCH. Alle reservierten Wörter müssen in Kleinbuchstaben geschrieben werden; andernfalls würde der C-Compiler dies als nicht identifiziert und ungültig interpretieren.

56) Was ist der Unterschied zwischen dem Ausdruck „++a“ und „a++“?

Im ersten Ausdruck würde das Inkrement zuerst an der Variablen a erfolgen, und der resultierende Wert wäre der zu verwendende. Dies wird auch als Präfixinkrement bezeichnet. Im zweiten Ausdruck wäre der aktuelle Wert der Variablen a derjenige, der in einer Operation verwendet werden soll, bevor der Wert von a selbst inkrementiert wird. Dies wird auch als Postfix-Inkrement bezeichnet.

57) Was mit X in diesem Ausdruck passieren würde:X +=15; (unter der Annahme, dass der Wert von X 5 ist)

X +=15 ist eine Kurzform zum Schreiben von X =X + 15, wenn also der Anfangswert von X 5 ist, dann ist 5 + 15 =20.

58) In der C-Sprache sind die Variablen NAME, name und Name alle gleich. RICHTIG oder FALSCH?

FALSCH. C-Sprache ist eine Sprache, die zwischen Groß- und Kleinschreibung unterscheidet. Daher sind NAME, Name und Name drei eindeutig unterschiedliche Variablen.

59) Was ist eine Endlosschleife?

Eine Endlosschleife kann zwei Dinge bedeuten. Einer davon ist, dass es so konzipiert wurde, dass es eine kontinuierliche Schleife durchläuft, bis die Bedingung innerhalb der Schleife erfüllt ist, wonach eine Unterbrechungsfunktion das Programm veranlassen würde, aus der Schleife herauszutreten. Eine andere Idee einer Endlosschleife ist, wenn eine falsche Schleifenbedingung geschrieben wurde, wodurch die Schleife für immer fälschlicherweise ausgeführt wird. Endlosschleifen werden oft als Endlosschleifen bezeichnet.

60) Was ist ein Programmflussdiagramm und wie hilft es beim Schreiben eines Programms?

Ein Flussdiagramm bietet eine visuelle Darstellung des schrittweisen Verfahrens zur Lösung eines bestimmten Problems. Flussdiagramme bestehen aus Symbolen, wobei jedes Symbol verschiedene Formen hat. Jede Form kann eine bestimmte Entität innerhalb der gesamten Programmstruktur darstellen, z. B. einen Prozess, eine Bedingung oder sogar eine Eingabe-/Ausgabephase.

61) Was ist falsch an dieser Programmanweisung? void =10;

Das Wort void ist ein reserviertes Wort in der Sprache C. Sie können reservierte Wörter nicht als benutzerdefinierte Variable verwenden.

62) Ist diese Programmanweisung gültig? INT =10,50;

Unter der Annahme, dass INT eine Variable vom Typ Float ist, ist diese Anweisung gültig. Man könnte meinen, dass INT ein reserviertes Wort ist und nicht für andere Zwecke verwendet werden darf. Denken Sie jedoch daran, dass reservierte Wörter in Kleinbuchstaben ausgedrückt werden, sodass der C-Compiler dies nicht als reserviertes Wort interpretiert.

63) Was sind eigentliche Argumente?

Wenn Sie Funktionen erstellen und verwenden, die eine Aktion für bestimmte Werte ausführen müssen, müssen Sie diese angegebenen Werte an diese Funktion übergeben. Die Werte, die an die aufgerufene Funktion übergeben werden, werden als tatsächliche Argumente bezeichnet.

64) Was ist eine Newline-Escape-Sequenz?

Eine Newline-Escape-Sequenz wird durch das Zeichen \n dargestellt. Dies wird verwendet, um eine neue Zeile einzufügen, wenn Daten im Ausgabebildschirm angezeigt werden. Weitere Leerzeichen können durch Einfügen weiterer \n-Zeichen hinzugefügt werden. Beispielsweise würde \n\n zwei Leerzeichen einfügen. Eine Newline-Escape-Sequenz kann vor oder nach dem eigentlichen Ausgabeausdruck platziert werden.

65) Was ist Ausgabeumleitung?

Es ist der Prozess der Übertragung von Daten an eine andere Ausgabequelle als den Anzeigebildschirm. Die Ausgabeumleitung ermöglicht es einem Programm, seine Ausgabe in einer Datei zu speichern. Wenn Sie beispielsweise ein Programm mit dem Namen COMPUTE haben und dies in der Befehlszeile als COMPUTE>DATA eingeben, können Eingaben vom Benutzer akzeptiert, bestimmte Berechnungen durchgeführt und die Ausgabe dann in eine Datei mit dem Namen DATA umgeleitet werden, anstatt sie auf dem Bildschirm anzuzeigen .

66) Was sind Laufzeitfehler?

Dies sind Fehler, die während der Ausführung des Programms auftreten. Ein häufiger Fall, in dem Laufzeitfehler auftreten können, ist, wenn Sie versuchen, eine Zahl durch Null zu teilen. Wenn Laufzeitfehler auftreten, wird die Programmausführung angehalten und angezeigt, welche Programmzeile den Fehler verursacht hat.

67) Was ist der Unterschied zwischen den Funktionen abs() und fabs()?

Diese beiden Funktionen führen im Grunde dieselbe Aktion aus, nämlich den absoluten Wert des angegebenen Werts zu erhalten. Abs() wird für ganzzahlige Werte verwendet, während fabs() für Gleitkommazahlen verwendet wird. Außerdem befindet sich der Prototyp für abs() unter , während fabs() unter .

liegt

68) Was sind formale Parameter?

Bei der Verwendung von Funktionen in einem C-Programm enthalten Formalparameter die Werte, die von der aufrufenden Funktion übergeben wurden. Die Werte werden in diesen formalen Parametern eingesetzt und in allen Operationen verwendet, die im Hauptteil der aufgerufenen Funktion angegeben sind.

69) Was sind Kontrollstrukturen?

Kontrollstrukturen übernehmen, welche Anweisungen in einem Programm auszuführen sind. Das bedeutet, dass der Programmablauf nicht unbedingt von einer Anweisung zur nächsten übergehen muss, sondern einige alternative Teile möglicherweise übergeben oder umgangen werden müssen, abhängig vom Ergebnis der bedingten Anweisungen.

70) Schreiben Sie ein einfaches Codefragment, das überprüft, ob eine Zahl positiv oder negativ ist

If (num>=0)

printf("number is positive");

else

printf ("number is negative");

71) Wann ist eine „switch“-Anweisung einer „if“-Anweisung vorzuziehen?

Die switch-Anweisung wird am besten verwendet, wenn es um Auswahlen geht, die auf einer einzelnen Variablen oder einem Ausdruck basieren. Switch-Anweisungen können jedoch nur Integer- und Character-Datentypen auswerten.

72) Was sind globale Variablen und wie werden sie deklariert?

Globale Variablen sind Variablen, auf die überall im Programm zugegriffen und die manipuliert werden kann. Um eine Variable global zu machen, platzieren Sie die Variablendeklaration im oberen Teil des Programms, direkt nach dem Abschnitt mit den Präprozessoranweisungen.

73) Was sind Aufzählungstypen?

Aufzählungstypen ermöglichen es dem Programmierer, aussagekräftigere Wörter als Werte für eine Variable zu verwenden. Jedes Element in der Aufzählungstypvariablen ist tatsächlich einem numerischen Code zugeordnet. Beispielsweise kann man eine Aufzählungstypvariable mit dem Namen DAYS erstellen, deren Werte Montag, Dienstag … Sonntag sind.

74) Was macht die Funktion toupper()?

Es wird verwendet, um jeden Buchstaben in seinen Großbuchstabenmodus umzuwandeln. Der Funktionsprototyp Toupper() ist in deklariert. Beachten Sie, dass diese Funktion nur ein einzelnes Zeichen konvertiert und nicht eine ganze Zeichenfolge.

75) Ist es möglich, eine Funktion als Parameter in einer anderen Funktion zu haben?

Ja, das ist in der C-Programmierung erlaubt. Sie müssen nur den gesamten Funktionsprototyp in das Parameterfeld der anderen Funktion einfügen, wo er verwendet werden soll.

76) Was sind mehrdimensionale Arrays?

Mehrdimensionale Arrays können Daten in einer zwei- oder mehrdimensionalen Struktur speichern. Beispielsweise können Sie ein zweidimensionales Array verwenden, um die aktuelle Position von Figuren in einem Schachspiel oder die Position von Spielern in einem Tic-Tac-Toe-Programm zu speichern.

77) Welche Funktion in C kann verwendet werden, um einen String an einen anderen String anzuhängen?

Die strcat-Funktion. Es braucht zwei Parameter, den Quell-String und den String-Wert, der an den Quell-String angehängt werden soll.

78) Was ist der Unterschied zwischen den Funktionen getch() und getche()?

Beide Funktionen akzeptieren einen Zeicheneingabewert vom Benutzer. Bei Verwendung von getch() erscheint die gedrückte Taste nicht auf dem Bildschirm und wird automatisch erfasst und einer Variablen zugewiesen. Bei Verwendung von getche() erscheint die vom Benutzer gedrückte Taste auf dem Bildschirm und wird gleichzeitig einer Variablen zugewiesen.

79) Führen diese beiden Programmanweisungen dieselbe Ausgabe aus? 1) scanf("%c", &letter); 2) letter=getchar()

Ja, beide machen genau dasselbe, nämlich die nächste vom Benutzer gedrückte Taste zu akzeptieren und sie der Variablen namens letter.

zuzuweisen

80) Was sind Strukturtypen in C?

Strukturtypen werden hauptsächlich zum Speichern von Datensätzen verwendet. Ein Datensatz besteht aus verwandten Feldern. Dies erleichtert das Organisieren einer Gruppe zusammengehöriger Daten.

81) Was bedeuten die Buchstaben „r“ und „w“ beim Schreiben von Programmen, die Dateien verwenden?

„r“ bedeutet „lesen“ und öffnet eine Datei als Eingabe, in der Daten abgerufen werden sollen. „w“ bedeutet „schreiben“ und öffnet eine Datei zur Ausgabe. Frühere Daten, die in dieser Datei gespeichert waren, werden gelöscht.

82) Was ist der Unterschied zwischen Textdateien und Binärdateien?

Textdateien enthalten Daten, die für Menschen leicht verständlich sind. Es enthält Buchstaben, Zahlen und andere Zeichen. Andererseits enthalten Binärdateien Einsen und Nullen, die nur Computer interpretieren können.

83) ist es möglich, eigene Header-Dateien zu erstellen?

Ja, es ist möglich, eine benutzerdefinierte Header-Datei zu erstellen. Fügen Sie einfach die Funktionsprototypen hinzu, die Sie in Ihrem Programm verwenden möchten, und verwenden Sie die Direktive #include, gefolgt vom Namen Ihrer Header-Datei.

84) Was ist eine dynamische Datenstruktur?

Dynamic data structure provides a means for storing data more efficiently into memory. Using dynamic memory allocation, your program will access memory spaces as needed. This is in contrast to static data structure, wherein the programmer has to indicate a fix number of memory space to be used in the program.

85) What are the different data types in C?

The basic data types are int, char, and float. Int is used to declare variables that will be storing integer values. Float is used to store real numbers. Char can store individual character values.

86) What is the general form of a C program?

A C program begins with the preprocessor directives, in which the programmer would specify which header file and what constants (if any) to be used. This is followed by the main function heading. Within the main function lies the variable declaration and program statement.

87) What is the advantage of a random access file?

If the amount of data stored in a file is fairly large, the use of random access will allow you to search through it quicker. If it had been a sequential access file, you would have to go through one record at a time until you reach the target data. A random access file lets you jump directly to the target address where data is located.

88) In a switch statement, what will happen if a break statement is omitted?

If a break statement was not placed at the end of a particular case portion? It will move on to the next case portion, possibly causing incorrect output.

89) Describe how arrays can be passed to a user defined function

One thing to note is that you cannot pass the entire array to a function. Instead, you pass to it a pointer that will point to the array first element in memory. To do this, you indicate the name of the array without the brackets.

90) What are pointers?

Pointers point to specific areas in the memory. Pointers contain the address of a variable, which in turn may contain a value or even an address to another memory.

91) Can you pass an entire structure to functions?

Yes, it is possible to pass an entire structure to a function in a call by method style. However, some programmers prefer declaring the structure globally, then pass a variable of that structure type to a function. This method helps maintain consistency and uniformity in terms of argument type.

92) What is gets() function?

The gets() function allows a full line data entry from the user. When the user presses the enter key to end the input, the entire line of characters is stored to a string variable. Note that the enter key is not included in the variable, but instead a null terminator \0 is placed after the last character.

93) The % symbol has a special use in a printf statement. How would you place this character as part of the output on the screen?

You can do this by using %% in the printf statement. For example, you can write printf(“10%%”) to have the output appear as 10% on the screen.

94) How do you search data in a data file using random access method?

Use the fseek() function to perform random access input/ouput on a file. After the file was opened by the fopen() function, the fseek would require three parameters to work:a file pointer to the file, the number of bytes to search, and the point of origin in the file.

95) Are comments included during the compilation stage and placed in the EXE file as well?

No, comments that were encountered by the compiler are disregarded. Comments are mostly for the guidance of the programmer only and do not have any other significant use in the program functionality.

96) Is there a built-in function in C that can be used for sorting data?

Yes, use the qsort() function. It is also possible to create user defined functions for sorting, such as those based on the balloon sort and bubble sort algorithm.

97) What are the advantages and disadvantages of a heap?

Storing data on the heap is slower than it would take when using the stack. However, the main advantage of using the heap is its flexibility. That’s because memory in this structure can be allocated and remove in any particular order. Slowness in the heap can be compensated if an algorithm was well designed and implemented.

98) How do you convert strings to numbers in C?

You can write you own functions to do string to number conversions, or instead use C’s built in functions. You can use atof to convert to a floating point value, atoi to convert to an integer value, and atol to convert to a long integer value.

99) Create a simple code fragment that will swap the values of two variables num1 and num2.

int temp;

temp = num1;

num1 = num2;

num2 = temp;

100) What is the use of a semicolon (;) at the end of every program statement?

It has to do with the parsing process and compilation of the code. A semicolon acts as a delimiter, so that the compiler knows where each statement ends, and can proceed to divide the statement into smaller elements for syntax checking.

Free PDF Download:C Programming Interview Questions &Answers


C Sprache

  1. Top Cloud-Interview-Fragen und -Antworten für 2020
  2. Die besten Einplatinencomputer im Jahr 2021
  3. Roboterfragen? Automatisierungsantworten
  4. Die 3 wichtigsten Herausforderungen bei der Aufbereitung von IoT-Daten
  5. Top IoT Data Analytics Platforms
  6. Top 10 der IIoT-Plattformen
  7. 8 verschiedene Arten von Cloud Computing im Jahr 2021
  8. 17 beste Programmierbücher für 2021
  9. Data-Matrix-Codes vs. QR-Codes
  10. Top 2021 Neujahrsvorsätze mit CMMS-Software