以下は、被験者が参加した Linux プラットフォーム開発に重点を置く企業のソフトウェア職に対する筆記試験の問題です。元の質問を共有し、参考資料の一部を添付します。お題の91点の答え^V^)
1. (8点) プログラムはどのような結果を出力しますか?
char *getStr(void) { char p[] = "hellow world"; return p; } void test(void) { char *str = NULL; str = getStr(); printf(str); }
2. (5 点) test2 関数に問題がありますか? 問題がある場合は、問題の場所を説明し、正しい答えを教えてください。
void test2() { char string[10], str[10]; int i; for(i = 0; i < 10; i++) { str[i] = 'a'; } strcpy(string, str); }
3. (5 点) 前処理ディレクティブ #define を使用して、1 年が何秒であるかを示す定数を宣言します。 (閏年の問題は無視してください)
4. (5 点) 2 つのパラメータを受け取り、小さい方のパラメータを返す「標準」マクロ MIN を作成します。
5. (8 点) C で無限ループを記述するにはどうすればよいですか?
6. (10 点) 変数 a を使用して次の定義を与えます:
1. 整数;
2. 整数へのポインター;
3. ポインタへのポインタ、それが指すポインタは整数です;
4. 10 個の整数の配列;
5. 10 個のポインタの配列、これは次を指します整数;
6、10 個の整数の配列へのポインタ;
7、関数へのポインタ ポインタ、関数は整数パラメータを持ち、整数を返します;
8. 10 個のポインターの配列、ポインターは関数を指し、関数は整数のパラメーターを持ち、整数の数値を返します;
7. (5 点) キーワード static の機能は何ですか?
8. (10 点) キーワード const は何を意味しますか?
次の文は何を意味しますか?
1) const int a;
2) int const a;
3) const int *a;
4) int *const a;
5) int const *a const;
9. (5 点) 次のコードの出力は何ですか?なぜ?
void foo(void) { unsigned int a = 6; int b = -20; (a - b > 6) ? puts(">6") : puts("<=6"); }
10. (5 点) 動的に割り当てられたメモリで発生する可能性のある問題は何ですか?
11. (5 点) キーワード volatile の機能は何ですか?
12. (8 点) プロセス間で通信する方法は何通りありますか? それは何ですか?
13. (8 点) 次のプログラムの出力結果を書いてください:
#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. (5 点) プロセスとスレッドの違いは何ですか?
15. (8 点) 4 つのビット演算子を列挙し、それらが一般的に使用される場所を説明してください。
参考回答の一部:
## 推奨事項: 「c 言語チュートリアル」 》
以上がC 言語開発面接の質問 15 件 (オリジナルの質問を共有)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。