Im Folgenden sind die schriftlichen Testfragen für eine Softwareposition in einem Unternehmen aufgeführt, das sich auf die Entwicklung von Linux-Plattformen konzentriert und an denen die Testperson teilgenommen hat. Ich werde die ursprüngliche Frage teilen und einen Teil der Referenz beifügen Beantworten Sie, dass die Testperson am Ende 91 Punkte erreicht hat^V^)
1. Welches Ergebnis gibt das Programm aus?
char *getStr(void) { char p[] = "hellow world"; return p; } void test(void) { char *str = NULL; str = getStr(); printf(str); }
2. (5 Punkte) Gibt es ein Problem mit der test2-Funktion? Wenn ja, erklären Sie bitte, wo das Problem liegt, und geben Sie die richtige Antwort.
void test2() { char string[10], str[10]; int i; for(i = 0; i < 10; i++) { str[i] = 'a'; } strcpy(string, str); }
3. (5 Punkte) Verwenden Sie die Vorverarbeitungsanweisung #define, um eine Konstante zu deklarieren, die angibt, wie viele Sekunden ein Jahr hat. (Ignorieren Sie das Problem mit dem Schaltjahr)
4. (5 Punkte) Schreiben Sie ein „Standard“-Makro MIN, das zwei Parameter annimmt und den kleineren zurückgibt.
5. (8 Punkte) Wie schreibt man eine Endlosschleife in C?
6. (10 Punkte) Verwenden Sie die Variable a, um die folgende Definition anzugeben:
Ein Zeiger auf eine Ganzzahl; 🎜>3. Ein Zeiger auf einen Zeiger, der auf eine Ganzzahl zeigt;
4. Ein Array mit 10 Zeigern, der Zeiger auf eine Ganzzahl ;
Ein Zeiger auf ein Array von 10 Ganzzahlen; Ein Zeiger, die Funktion hat einen Ganzzahlparameter und gibt eine Ganzzahl zurück >8. Ein Array von 10 Zeigern, der Zeiger zeigt auf eine Funktion, die Funktion hat einen ganzzahligen Parameter und gibt eine ganzzahlige Zahl zurück
7. (5 Punkte) Was ist die Funktion des Schlüsselworts static?
8. (10 Punkte) Was bedeutet das Schlüsselwort const?
Was bedeuten die folgenden Aussagen?
1) const int a;
2) int const a;
3) const int *a;
4) int *const a;
5) int const *a const;
9. (5 Punkte) Was ist die Ausgabe des folgenden Codes? Warum?
void foo(void) { unsigned int a = 6; int b = -20; (a - b > 6) ? puts(">6") : puts("<=6"); }
10. (5 Punkte) Welche möglichen Probleme können bei dynamisch zugewiesenem Speicher auftreten?
11. (5 Punkte) Welche Funktion hat das Schlüsselwort volatile?
12. (8 Punkte) Wie viele Möglichkeiten gibt es, zwischen Prozessen zu kommunizieren?
13. (8 Punkte) Bitte schreiben Sie die Ausgabe des folgenden Programms:
#include<stdio.h> int main() { int a = 10, b, c, d; b = a++; c = ++a; d = 10 * (++a); printf(" b : %d , c:%d, d :%d ", b , c, d); return 0; }
14. Was ist der Unterschied zwischen einem Prozess und einem Thread?
15. (8 Punkte) Bitte listen Sie die vier bitweisen Operatoren auf und erläutern Sie, wo sie im Allgemeinen verwendet werden.
Teil der Referenzantworten:Empfohlen: „C-Sprache Tutorial》
Das obige ist der detaillierte Inhalt von15 Interviewfragen zur C-Sprachentwicklung (Originalfragen geteilt). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!