25最も一般的なC面接の質問と回答[新入生向け]
公開: 2020-12-18Cは、手続き型、命令型、および構造化されたパラダイムをサポートする強力な汎用プログラミング言語です。 さまざまなコンピュータアーキテクチャ(PLC、組み込みシステムなど)のオペレーティングシステム、データベース、およびアプリケーションソフトウェアの開発に使用されます。 Cは、習得が容易な優れた初心者向け言語です。
ソフトウェア開発でのキャリアを築くことを目指す人は、Cの基本をマスターする必要があります。Cプログラミング言語の要点を学んだら、Cのインタビューを解く準備ができています。
このブログでは、Cの面接で最もよく聞かれる質問のいくつかを紹介します。 通常、就職の面接は、主題(この場合はCプログラミング言語)の基本的な知識をテストすることから始まり、徐々にドメインでの実践的なスキルの調査に進みます。
それで、これ以上面倒なことはせずに、25の最もよくあるCインタビューの質問をチェックしてみましょう!
C面接の質問と回答
- Cのコア機能は何ですか?
Cプログラミング言語は次のとおりです。
- 中レベル– Cは、低レベル言語と高レベル言語の最高の機能を組み合わせて、中レベルの洗練されたプログラミング言語を作成します。
- 構造化– Cは構造化言語です。つまり、Cプログラムは複数の部分に分割されています。
- ポータブル– Cでプログラムを作成すると、最小限の変更または変更なしで、任意のマシンで実行できます。
- 高速– Cはさまざまなデータ型と演算子を使用するため、非常に高速で効率的です。
- 拡張可能– Cは、新しい機能にシームレスに適応できるため、高度に拡張可能です。
- メモリ管理– Cには、メモリを節約し、Cプログラムの効率を向上させるメモリ機能が組み込まれています。
- Cはどのデータ型をサポートしていますか?
Cには、次の4つのデータ型のカテゴリがあります。

- 基本データ型
- 派生データ型
- 列挙型データ型
- ボイドデータ型
- 「ダングリングポインタ変数」をC言語で説明します。
Cプログラミングでは、ポインタは既存の変数のメモリ位置またはアドレスを示します。 ただし、その変数が削除され、ポインターが同じメモリ位置を指す場合、それはダングリングポインター変数と呼ばれます。
- 「ポインタオンポインタ」とは何ですか?
「ポインター上のポインター」とは、別のポインター変数のアドレスを保持するポインター変数を指します。 本質的に、ポインターは2回逆参照して、指定されたポインター変数に含まれるデータを示します。
- 「配列」を定義します。
配列は、同じデータ型の複数の要素を整理された方法で含むデータ構造です。 配列には通常、1次元、2次元、および3次元の3つのタイプがあります。
- 静的変数とは何ですか? Cで静的変数が使用されるのはなぜですか?
静的変数は、「Static」キーワードによって宣言される変数です。 静的変数は、複数の関数呼び出し間でその値を保持します。
静的変数は、すべてのメソッドで共有される共通の値として使用され、メモリ使用量を減らすためにメモリヒープで1回だけ初期化されます。 静的変数は最初はゼロに初期化されますが、変数の値を更新すると、更新された値が割り当てられます。
- 変数の「スコープ」を定義します。
変数のスコープとは、変数が宣言されているコード(関数)の部分を指します。 Cプログラミング言語では、すべての識別子は静的または字句スコープのいずれかです。
- 動的メモリ割り当てとは何ですか?
動的メモリ割り当ては、実行時にCプログラムとその変数にメモリを割り当てる手順です。 malloc()、calloc()、およびrealloc()がメモリを割り当てている間、free()関数は使用されているメモリスペースを解放します。
読む:SQLインタビューの質問と回答
- calloc()関数とmalloc()関数の違いを説明してください。
Cでは、calloc()とmalloc()はどちらも、ヒープ領域(動的メモリ)からメモリを割り当てるメモリ割り当て関数です。 2つのメモリ割り当て関数の主な違いは、calloc()が割り当てられたすべてのメモリ位置に値0をロードするのに対し、malloc()はロードしないことです。
- 「静的メモリ割り当て」について説明します。
実行時にメモリを割り当てる動的メモリ割り当てとは異なり、静的メモリ割り当てはコンパイル中にメモリを割り当てます。 静的メモリ割り当てでは、Cプログラムの実行中にメモリ割り当てを増やすことはできません。 スタック/ヒープを使用してスタティックメモリを実装し、「Static」キーワードを使用してメモリを割り当てることができます。 一般に、静的メモリ割り当てでは、動的メモリ割り当てよりも変数を格納するためにより多くのメモリスペースが必要です。
- いくつかのCトークンに名前を付けますか?
トークンは識別子です。 これは通常、Cプログラムの最小単位です。 定数、文字列、キーワード、演算子、識別子、および特殊文字は、Cプログラムの作成に使用されるいくつかのCトークンです。
- Cコードはmain()関数なしでコンパイルまたは実行されますか?
main()関数がない場合、main()関数はCプログラムを実行するために必須であるため、実行する代わりにCプログラムがコンパイルされます。
- 「ネストされた構造」を定義します。
ネストされた構造は、関数の要素またはデータメンバーに別の構造のデータメンバーが含まれている場合に作成されます。
- 実際のパラメータと正式なパラメータを区別します。
実際のパラメーターは、プライマリ関数からサブディビジョン関数に送信され、サブディビジョン関数として宣言されたパラメーターは、正式なパラメーターと呼ばれます。

- プリプロセッサディレクティブとは何ですか?
プリプロセッサディレクティブは、コンパイルプロセスが開始する前に特定のタスクを実行するためのコンパイラへのディレクティブとして機能する、組み込みの定義済み関数です。 したがって、プリプロセッサディレクティブは常にCプログラムが実行される前に実行されます。
- 「コマンドライン引数」を定義します。
Cプログラムの実行中にmain()関数に渡される引数は、コマンドライン引数と呼ばれます。 最初の引数は引数の数を示し、オペレーティングシステムによって自動的に更新されます。 2番目の引数(文字ポインターの配列)には、パラメーターとして常に文字列が含まれます。
- 関数にパラメータを割り当てるにはどうすればよいですか?
関数にパラメータを割り当てるには、次の2つの方法があります。
- 値による呼び出し–このメソッドは、実際のパラメーターを正式なパラメーターで変更したくない場合にのみ選択されるため、値のコピーをパラメーターとして関数に送信するだけです。
- 参照による呼び出し–このアプローチでは、実際のパラメーターのアドレスを送信して、仮パラメーターを使用してパラメーターを変更します。
チェックアウト:フルスタック開発者インタビューの質問
- Cの「ユニオン」とは何ですか?
Cでは、Unionはユーザー定義のデータ型であり、複数のデータ型を1つのユニットに格納できます。 すべてのメンバーの合計メモリではなく、最大のメンバーのメモリのみが含まれます。 ユニオンはユニオンのすべてのメンバーに共有スペースを割り当てるため、ユニオンでは一度に1つの変数にしかアクセスできません。
- 「再帰」について説明します。
再帰とは、関数がそれ自体を呼び出すときであり、それ自体を呼び出す関数は再帰関数と呼ばれます。 再帰関数は2つの段階で発生します。
- ワインディングフェーズ–再帰関数がそれ自体を呼び出し、目的の条件を満たしたときに、ワインディングフェーズが終了します。
- 巻き戻しフェーズ–巻き戻しフェーズに達すると、制御を元の呼び出しに戻すことによって巻き戻しフェーズが開始されます。
- Cで関数を宣言する方法は?
次のようにCで関数を宣言できます。
return_type function_name(正式なパラメータリスト)
{{
Function_Body;
}
- sprintf()関数は何をしますか?
sprintf()関数は、文字列を印刷するために使用されます。 文字列内の文字の総数をフェッチします。 この関数はデータをバッファに転送するため、出力を画面に出力しません。 sprintf()関数の構文は次のとおりです。
int sprintf(char * str、const char * format、…);
- getch()関数とgetche()関数を区別しますか?
Cプログラムでは、getch()関数がキーワードから1文字を読み取ります。 バッファを使用するため、入力したデータは画面に表示されません。 逆に、getche()関数もキーワードから1文字を読み取りますが、画面にデータを表示します。
- 「Rvalue」と「Ivalue」とは何ですか?
右辺値は、代入演算子の右側にある式です。 これは、代入演算子にあるIvalueに割り当てられます。 左辺値は、定数ではなく変数のみを参照する必要があります。
- Cでさまざまなストレージクラス指定子に名前を付けます。
Cには、4つのストレージ指定子があります。

- 自動
- 静的
- 登録
- Extern
- 「」と<>を使用してヘッダーファイルを宣言することに違いはありますか?
”“を使用してヘッダーファイルを宣言すると、コンパイラは現在の作業ディレクトリでヘッダーファイルを検索し、そこでファイルが見つからない場合は、ヘッダーファイルを見つけるために他の場所をプローブします。 ただし、<>を使用してヘッダーファイルを宣言すると、コンパイラは組み込みパスに従ってファイルを検索します。
チェックアウト:あなたの就職の面接で目立つための15の面接のヒント
世界のトップ大学のソフトウェアエンジニアリングコースに登録します。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。
結論
それで、あなたは行きます:あなたがあなたの次の就職の面接の準備をするのを助けるために25のC面接の質問と答え。 これらの質問はCプログラミングの表面をかすっただけですが、うまくいけば、Cのインタビューで何を期待できるかについてのアイデアが得られるでしょう。
フルスタックソフトウェア開発の詳細に興味がある場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニング、9以上のプロジェクト、および割り当て、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。
