C プログラミング トップ 100 のインタビューの質問と回答 (PDF)

ここでは、夢の仕事に就くための、新人および経験豊富な候補者向けの C プログラミング面接の質問と回答を紹介します。

 

新人向けの基本的な C プログラミング面接の質問と回答

1) C でインクリメント ステートメントまたはデクリメント ステートメントを作成するにはどうすればよいですか?

実際にはこれを行う方法が 1 つあります。 1 つは、インクリメント演算子 ++ とデクリメント演算子 – を使用する方法です。 たとえば、ステートメント「x++」は、x の値を 1 だけインクリメントすることを意味します。同様に、ステートメント「x –」は、x の値を XNUMX だけデクリメントすることを意味します。インクリメント ステートメントを記述するもう XNUMX つの方法は、従来の + プラス記号を使用することです。または - マイナス記号。 「x++」の場合は「x = x +XNUMX」という書き方もあります。

👉 無料 PDF ダウンロード: C プログラミング面接の質問と回答 >>


2) 値による呼び出しと参照による呼び出しの違いは何ですか?

値による呼び出しを使用する場合、変数の値をパラメーターとして関数に送信しますが、参照による呼び出しでは変数のアドレスが送信されます。 また、値による呼び出しでは、パラメーターの値は実行される操作の影響を受けませんが、参照による呼び出しの場合、値は関数内のプロセスの影響を受ける可能性があります。

C プログラミングの面接の質問と回答


3) コーダーの中には、コードを削除するのではなく、コメント記号を配置してプログラムをデバッグする人もいます。 これはデバッグにどのように役立ちますか?

コードの周囲にコメント記号 /* */ を配置することは、「コメントアウト」とも呼ばれ、コードを削除せずに、プログラム内でエラーを引き起こす可能性があると思われる一部のコードを分離する方法です。 コードが実際に正しい場合は、コメント記号を削除して作業を続行すればよいという考え方です。 また、最初にコードを削除してしまった場合に、コードを再入力する時間と労力も節約できます。


4) 以下の等価コードは何ですか?wing WHILE LOOP形式のステートメント?

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

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

回答:

a=1;

while (a<=100) {

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

a++;

}

5) スタックとは何ですか?

スタックはデータ構造の XNUMX つの形式です。 データは、FILO (First In Last Out) アプローチを使用してスタックに保存されます。 特定のインスタンスでは、スタックの最上部のみにアクセスできます。つまり、スタック内に格納されているデータを取得するには、上部にあるデータを最初に抽出する必要があります。 スタックへのデータの保存は PUSH とも呼ばれ、データの取得は POP とも呼ばれます。


6) シーケンシャルアクセスファイルとは何ですか?

データをファイルに保存したり取得したりするプログラムを作成する場合、そのファイルをさまざまな形式に指定することができます。 シーケンシャル アクセス ファイルは、データがシーケンシャルな順序で保存されるもので、XNUMX つのデータが次から次へとファイルに配置されます。 シーケンシャル アクセス ファイル内の特定のデータにアクセスするには、正しいデータに到達するまで、一度に XNUMX つのデータを読み取る必要があります。


7) 変数の初期化とは何ですか?なぜ重要ですか?

プログラム内で使用する前に、変数に初期値を代入する処理を指します。 初期化を行わないと、変数の値は不明となり、計算やその他の操作で使用すると、予測できない出力が発生する可能性があります。


8 スパゲッティプログラミングとは何ですか?

スパゲッティ プログラミングとは、プログラム全体で絡み合ったり、重複したりする傾向のあるコードを指します。 このような構造化されていないコーディング手法は、通常、プログラマー側の経験不足に起因すると考えられます。 スパゲッティプログラミングでプログラムを作るplex コードの分析は困難なので、できるだけ避けなければなりません。


9) ソースコードとオブジェクトコードを区別する

ソースコードはプログラマーによって書かれたコードです。 これは、コンピュータに何をすべきかを指示するコマンドとその他の英語に似たキーワードで構成されています。 ただし、コンピュータはソースコードを理解できません。 したがって、ソースコードはコンパイラを使用してコンパイルされます。 結果として得られる出力はオブジェクト コードであり、コンピュータ プロセッサが理解できる形式になっています。 で Cプログラミング、ソース コードはファイル拡張子 .C で保存され、オブジェクト コードはファイル拡張子 .OBJ で保存されます。


10) C プログラミングで、出力画面に引用符 (' と “) を挿入するにはどうすればよいですか?

通常、引用符は printf ステートメントの一部であるため、これは初心者にとってよくある問題です。 出力の一部として引用符文字を挿入するには、書式指定子 \' (一重引用符の場合) および \" (二重引用符の場合) を使用します。


11) 「\0」文字はどのような用途に使用されますか?

これは終了ヌル文字と呼ばれ、主に文字列値の終わりを示すために使用されます。


12) = 記号と == 記号の違いは何ですか?

= 記号は数学演算でよく使用されます。 特定の変数に値を割り当てるために使用されます。 一方、== 記号は「等しい」または「同等」とも呼ばれ、XNUMX つの値を比較するために使用される関係演算子です。


13) モジュラス演算子とは何ですか?

剰余演算子は除算の余りを出力します。 パーセント (%) 記号を使用します。 例: 10 % 3 = 1。これは、10 を 3 で割ったときの余りが 1 であることを意味します。


14) ネストされたループとは何ですか?

ネストされたループは、別のループ内で実行されるループです。 別の意味で言うと、外側のループの内側に内側のループがあります。 このシナリオでは、内側のループは外側のループで指定された回数だけ実行されます。 外側のループをターンするたびに、最初に内側のループが実行されます。


15) 次のうちどれですかwing 演算子が間違っています。なぜですか? ( >=、<=、<>、==)

<>は間違っています。 この演算子は、条件ステートメントを作成する際に「等しくない」として正しく解釈されますが、次の条件文で使用するには適切な演算子ではありません。 Cプログラミング。 代わりに、「等しくない」条件を示すには演算子 != を使用する必要があります。


16) コンパイラとインタプリタを比較対照します。

コンパイラーとインタープリターは、多くの場合、プログラム コードの実行方法を処理します。 インタプリタはプログラム コードを一度に XNUMX 行ずつ実行しますが、コンパイラはプログラムを全体として受け取り、実行前にオブジェクト コードに変換します。 ここでの主な違いは、インタープリターの場合、プログラムは実行中に構文エラーが発生し、そこから停止する可能性があることです。 一方、コンパイラはプログラム全体の構文をチェックし、構文エラーが見つからない場合にのみ実行に進みます。


17) 文字列値を保持する変数はどのように宣言しますか?

char キーワードは、一度に 1 つの文字値のみを保持できます。 文字の配列を作成すると、そこに文字列値を格納できます。 例: 「char MyName[50]; ” XNUMX月ares 最大 50 文字を保持できる MyName という名前の文字列変数。


18) 中括弧 { } を使用して XNUMX 行のコードを囲むことはできますか?

中括弧は主にコードの複数行をグループ化するために使用されますが、単一行に使用した場合でもエラーなく機能します。 プログラマの中には、特に条件文の場合に、コードを整理して見た目をわかりやすくする方法としてこの方法を好む人もいます。


19) ヘッダー ファイルとは何ですか?また、C プログラミングでのその用途は何ですか?

ヘッダー ファイルはライブラリ ファイルとも呼ばれます。 これらには、プログラムで使用される関数の定義とプロトタイプという XNUMX つの重要な要素が含まれています。 簡単に言えば、C プログラミングで使用するコマンドは、実際には各ヘッダー ファイル内で定義された関数です。 各ヘッダー ファイルには一連の関数が含まれています。 例: stdio.h は、printf や scanf などのコマンドの定義とプロトタイプを含むヘッダー ファイルです。


20) 構文エラーとは何ですか?

構文エラーは、プログラミング言語の使用上の間違いに関連しています。 コマンドのスペルが間違っていたか、小文字モードで入力する必要があるコマンドが大文字で入力された可能性があります。 コード行内のどこかにシンボルが配置されていなかったり、シンボルが欠落していたり​​すると、構文エラーが発生する可能性があります。


21) 変数とは何ですか?定数とはどのような違いがありますか?

変数と定数は、両方とも 3.1415 つ以上の文字 (文字、数字、およびいくつかの使用可能な記号) で構成される識別子であるという意味で、最初は似ているように見えます。 どちらも特定の値を保持します。 変数が保持する値はプログラム全体で変更でき、ほとんどの演算や計算で使用できます。 定数には一度にのみ値が与えられ、プログラムの先頭に置かれます。 この値はプログラムでは変更されません。 たとえば、PI という名前の定数を割り当て、その値に 3.1415 を与えることができます。 これにより、必要になるたびに XNUMX を記述する必要がなくなり、プログラム内でそれを PI として使用できるようになります。


22) 配列内の値にどのようにアクセスしますか?

配列には、変数宣言時に指定したサイズに応じて、多数の要素が含まれます。 各要素には、0 から要素数 - 1 までの番号が割り当てられます。 特定の要素の値を割り当てたり取得したりするには、要素番号を参照します。 たとえば、「intscores[5];」という宣言がある場合、アクセス可能な要素は 5 つあります。つまり、scores[0]、scores[1]、scores[2]、scores[3]、scores[4] です。 ]。


23) 値 32768 を格納するために「int」データ型を使用できますか? なぜ?

いいえ。「int」データ型は、-32768 から 32767 までの値を保存できます。32768 を保存するには、代わりに「long int」を使用できます。 負の値を格納するつもりがない場合は、「unsigned int」を使用することもできます。


24) \n や \t などの XNUMX つ以上の演算子をプログラム コードの XNUMX 行に組み合わせることができますか?

はい、特に必要な場合には、演算子を組み合わせるのは完全に有効です。
たとえば、次のようなコードを作成できます。 printf (“Hello\n\n\’World\'”) 最初の行に「Hello」というテキストを出力し、次の XNUMX 行に「World」を一重引用符で囲んで出力します。

25) すべての C プログラムですべてのヘッダー ファイルが宣言されているわけではないのはなぜですか?

各 C プログラムの先頭でヘッダー ファイルを宣言するかどうかは、そのプログラムで使用するコマンド/関数によって異なります。 各ヘッダー ファイルには異なる関数定義とプロトタイプが含まれるため、必要な関数が含まれるヘッダー ファイルのみを使用することになります。 すべてのプログラムですべてのヘッダー ファイルを宣言することは、全体のファイル サイズとプログラムの負荷が増加するだけであり、適切なプログラミング スタイルとは見なされません。


26) 「void」キーワードは関数内でどのような場合に使用されますか?

関数を宣言するときは、その関数が値を返すかどうかを決定します。 関数の目的が画面上に出力を表示することである場合など、その関数が値を返さない場合は、関数ヘッダーの左端に「void」を配置します。 関数実行後に戻り値が期待される場合、戻り値のデータ型は「void」の代わりに配置されます。


27) 複合文とは何ですか?

複合ステートメントは、一緒に実行される XNUMX つ以上のプログラム ステートメントで構成されます。 これは通常、TRUE または FALSE が評価されるときに一連のステートメントが実行される条件を処理するときに発生します。 複合ステートメントはループ内で実行することもできます。 中括弧 { } は複合ステートメントの前後に配置されます。


28) C プログラミングにおけるアルゴリズムの重要性は何ですか?

プログラムを作成するには、まずアルゴリズムを作成する必要があります。 アルゴリズムは、解決策を導き出す方法について段階的な手順を提供します。 また、どのようなプロセスや計算が含まれるかなど、プログラムがどのように開始および終了するかについての青写真としても機能します。


29) 個々の変数に対する配列の利点は何ですか?

複数の関連データを保存する場合は、配列を使用することをお勧めします。 これは、配列の名前が 1 つの単語とそれに続く要素番号のみを使用して命名されるためです。 たとえば、10 人の生徒の 1 回のテスト結果を保存するには、10 個の異なる変数名 (grade1、grade2、grade3…grade10) を使用できます。 配列では、1 つの名前のみが使用され、残りはインデックス名 (grade[0]、grade[1]、grade[2]…grade[9]) を通じてアクセスできます。


30) 以下を表示するループステートメントを作成します。wing 出力:

1

12

123

1234

12345

回答:

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

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

printf("%d",b);

printf("\n");

}

経験者向けの C プログラミング面接の質問と回答

31) この発言のどこが間違っていますか? scanf(“%d”,何番目の数字);

アンパサンド & 記号は変数名 whatnumber の前に置く必要があります。 & を配置すると、ユーザーが入力した整数値が変数名の「アドレス」に格納されることを意味します。 これはプログラマーにとってよくある間違いであり、論理エラーにつながることがよくあります。


32) C で乱数を生成するにはどうすればよいですか?

乱数は C で次を使用して生成されます。 rand() command 例えば: anyNum = rand() anyNum が整数型の変数であると仮定して、0 から始まる任意の整数を生成します。


33) to lower() などの有効な関数名が C コンパイラによって未定義として報告される場合、どのような問題が考えられますか?

このエラーの原因として最も考えられるのは、その関数のヘッダー ファイルがプログラムの先頭に示されていないことです。 ヘッダー ファイルには、C プログラムで使用される関数とコマンドの定義とプロトタイプが含まれています。 「to lower()」の場合、コード「#include」 ” がプログラムの先頭に存在する必要があります。


34) コメントとは何ですか? C プログラムにコメントを挿入するにはどうすればよいですか?

コメント プログラムにコメントや説明を入れるのに最適な方法です。 これは、プログラムの内容を思い出させたり、そもそも特定のコードや関数がそこに配置された理由についての説明として機能します。 コメントは /* で始まり */ 文字で終わります。 コメントは単一行にすることも、複数行にまたがることもできます。 プログラム内のどこにでも配置できます。


35) デバッグとは何ですか?

デバッグは、プログラム内のエラーを特定するプロセスです。 プログラムのコンパイル中にエラーが見つかると、プログラムの実行が完全に停止します。 この状態で、プログラマはエラーが発生した可能性のある部分を調べます。 デバッグはエラーを確実に除去し、期待されるプログラム出力が満たされていることを確認する上で重要な役割を果たします。


36) && 演算子はプログラム コード内で何をしますか?

&& は AND 演算子とも呼ばれます。 この演算子を使用する場合、次のアクションを実行するには、指定されたすべての条件が TRUE である必要があります。 10 個の条件があり、1 つを除くすべてが TRUE として評価されなかった場合、条件ステートメント全体がすでに FALSE として評価されています。


37) C プログラミングでは、数値が奇数か偶数かを判断するためにどのコマンドまたはコードを使用できますか?

単一のコマンドや Cでの関数 数値が奇数か偶数かを確認できます。 ただし、これは、その数値を 2 で割って余りをチェックすることで実現できます。 余りが 0 の場合、その数は偶数であり、それ以外の場合は奇数です。 コードでは次のように記述できます。

if (num % 2 == 0)

printf("EVEN");

else

printf("ODD");

38) printf ステートメントに含まれるフォーマット %10.2 は何を意味しますか?

この形式は、出力数値に割り当てられるスペースの数を設定することと、小数点以下の桁数を設定することの 10 つの目的で使用されます。 小数点の前の数字は割り当てられたスペースです。この場合、出力数値には 10 個のスペースが割り当てられます。 出力番号が占めるスペースの数が 2 未満の場合、実際の出力番号の前に追加のスペース文字が挿入されます。 小数点の後の数値は小数点以下の桁数を設定します。この場合は小数点以下 XNUMX 桁です。


39) 論理エラーとは何ですか?また、それは構文エラーとどのように異なりますか?

論理エラーを含むプログラムはコンパイル プロセスに合格する傾向がありますが、結果の出力は予期したものではない可能性があります。 これは、間違った数式がコードに挿入された場合、または間違った一連のコマンドが実行された場合に発生します。 一方、構文エラーは、スペルが間違っていたり、コンパイラーによって認識されなかったりする不正なコマンドに対処します。


40) プログラミングにおけるさまざまな種類の制御構造には何がありますか?

プログラミングには、シーケンス、選択、繰り返しという 3 つの主要な制御構造があります。 シーケンシャル制御は、最初にステップ 1 が実行され、続いてステップ 2 が実行され、最後のステップが実行されるまで、プログラムを実行する際に上から下への流れに従います。 選択では条件ステートメントが処理されます。これは、条件の TRUE または FALSE の評価に応じてコードが実行されることを意味します。 これは、すべてのコードが実行されるわけではなく、内部に代替フローが存在することも意味します。 繰り返しはループ構造とも呼ばれ、カウンターによって設定された XNUMX つまたは XNUMX つのプログラム ステートメントを繰り返します。


41) || とは何ですか? 演算子とそれがプログラム内でどのように機能するのか?

|| C プログラミングでは OR 演算子としても知られています。 || を使用する場合論理条件を評価する場合、TRUE と評価される条件は、条件ステートメント全体を TRUE としてレンダリングします。


42) 文字列の比較に「if」関数は使用できますか?

いいえ、「if」コマンドは数値と単一文字値の比較にのみ使用できます。 文字列値を比較するには、特に文字列を処理する strcmp という別の関数があります。


43) プリプロセッサディレクティブとは何ですか?

プリプロセッサ ディレクティブは、すべての C プログラムの先頭に配置されます。 ここでライブラリ ファイルを指定します。これは、プログラムで使用する関数によって異なります。 プリプロセッサ ディレクティブのもう XNUMX つの用途は、定数の宣言です。プリプロセッサ ディレクティブは # 記号で始まります。


44) 次の結果はどうなるかwing 変数 s の値が 10 の場合の条件文?

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

結果はTRUEになります。 s の値が 10 であるため、s >= 10 は TRUE と評価されます。s は 10 より大きくなくても 10 に等しいためです。25 は 10 より小さいため、s< 25 も TRUE になります。同様に、s!=12は、s が 12 に等しくないことを意味し、TRUE と評価されます。 && は AND 演算子で、個々の条件がすべて TRUE であればステートメント全体が TRUE になるというルールに従います。


45) C の演算子の優先順位を説明してください。

優先順位によって、操作ステートメントまたは条件ステートメントでどの操作を最初に実行する必要があるかが決まります。 最上位の優先順位は、単項演算子 !、+、-、および & です。 その後に通常の数学演算子が続きます (最初に *、/、および法 % が続き、その後に + と - が続きます)。 次に並ぶのは、関係演算子 <、<=、>=、および > です。 次に、XNUMX つの等価演算子 == と != が続きます。 論理演算子 && および || 次に評価されます。 最後のレベルには代入演算子 = があります。


46) この発言のどこが間違っていますか? myName = “ロビン”;

= 記号を使用して文字列変数に値を割り当てることはできません。 代わりに、strcpy 関数を使用してください。 正しいステートメントは次のようになります。 strcpy(myName, “Robin”);


47) 変数に格納された文字列値の長さはどのようにして判断しますか?

文字列値の長さを取得するには、関数 strlen() を使用します。 たとえば、FullName という名前の変数がある場合、次のステートメントを使用して、保存されている文字列値の長さを取得できます。 I = strlen(FullName); 変数には文字列値の文字長が入ります。


48) 変数を宣言された時点で初期化することは可能ですか?

はい、後で変更する予定がない限り、変数宣言の後に別の代入ステートメントを記述する必要はありません。 例: char Planet[15] = “地球”; XNUMX つのことを行います。ares Planet という名前の文字列変数を指定し、値「Earth」で初期化します。


49) C言語が中級言語とみなされているのはなぜですか?

これは、C 言語には、高レベル言語のように動作させると同時に、低レベルのメソッドを使用してハードウェアと対話できる機能が豊富に含まれているためです。 プログラミングに対する適切に構造化されたアプローチを使用し、関数で使用される英語のような単語と組み合わせることで、プログラミングは高級言語として機能します。 一方、C はアセンブリ言語ルーチンと同様にメモリ構造に直接アクセスできます。


50) C でプログラミングする場合、さまざまなファイル拡張子は何ですか?

C のソース コードは .C ファイル拡張子で保存されます。 ヘッダー ファイルまたはライブラリ ファイルには、.H ファイル拡張子が付いています。 プログラムのソース コードが正常にコンパイルされるたびに、.OBJ オブジェクト ファイルと実行可能 .EXE ファイルが作成されます。


51) 予約語とは何ですか?

予約語は、標準 C 言語ライブラリの一部である語です。 これは、予約語には特別な意味があるため、本来の目的以外には使用できないことを意味します。 予約語の例としては、int、void、return などがあります。


52) リンクリストとは何ですか?

リンク リストは、別のノードに接続されたノードで構成されます。 C プログラミングでは、リンク リストはポインターを使用して作成されます。 リンク リストの使用は、ストレージ用にメモリを効率的に利用する方法の XNUMX つです。


53) FIFOとは何ですか?

C プログラミングには、キューと呼ばれるデータ構造があります。 この構造では、データは FIFO 形式、つまり先入れ先出しを使用して保存され、アクセスされます。 キューは、格納された最初のデータがアクセス可能な最初のデータとなるラインを表します。


54) 二分木とは何ですか?

バイナリ ツリーは、実際にはリンク リストの概念を拡張したものです。 バイナリ ツリーには、左ポインタと右ポインタの XNUMX つのポインタがあります。 各サイドはさらに分岐して追加のノードを形成でき、各ノードも XNUMX つのポインタを持ちます。 詳しくはこちら データ構造の二分木 もし興味があれば。


55) すべての予約語が小文字で書かれているわけではありません。 正しいか間違っているか?

間違い。 すべての予約語は小文字で記述する必要があります。 そうしないと、C コンパイラはこれを未確認で無効であると解釈します。


56) 「++a」と「a++」という表現の違いは何ですか?

最初の式では、変数 a で増分が最初に発生し、その結果の値が使用されます。 これはプレフィックスの増分とも呼ばれます。 XNUMX 番目の式では、変数 a 自体の値がインクリメントされる前に、変数 a の現在の値が演算で使用される値になります。 これは後置インクリメントとも呼ばれます。


57) この式では X はどうなるでしょうか: X += 15; (X の値が 5 であると仮定します)

X +=15 は、X = X + 15 を記述する短い方法です。したがって、X の初期値が 5 の場合、5 + 15 = 20 となります。


58) C 言語では、変数 NAME、name、および Name はすべて同じです。 正しいか間違っているか?

間違い。 C 言語は大文字と小文字を区別する言語です。 したがって、NAME、name、および Name は XNUMX つの固有に異なる変数です。


59) 無限ループとは何ですか?

無限ループには XNUMX つの意味があります。 XNUMX つは、ループ内の条件が満たされるまで継続的にループするように設計されており、その後、ブレーク関数によってプログラムがループから抜け出すことです。 無限ループのもう XNUMX つの考えは、間違ったループ条件が書き込まれ、ループがエラー実行される場合です。neo通常は永遠に。 無限ループは、しばしば無限ループと呼ばれます。


60) プログラム フローチャートとは何ですか? プログラムの作成にどのように役立ちますか?

フローチャートは、特定の問題を解決するための段階的な手順を視覚的に表現します。 フローチャートはシンボルで構成されており、各シンボルはさまざまな形をしています。 それぞれの形状は、プロセス、条件、さらには入出力フェーズなど、プログラム構造全体内の特定のエンティティを表す場合があります。


61) このプログラムステートメントのどこが間違っていますか? ボイド = 10;

void という単語は C 言語の予約語です。 予約語をユーザー定義変数として使用することはできません。


62) このプログラムステートメントは有効ですか? INT = 10.50;

INT が float 型の変数であると仮定すると、このステートメントは有効です。 INT は予約語であり、他の目的に使用してはならないと考える人もいるかもしれません。 ただし、予約語は小文字で表現されるため、C コンパイラはこれを予約語として解釈しないことに注意してください。


63) 実引数とは何ですか?

特定の値に対してアクションを実行する必要がある関数を作成して使用する場合は、これらの特定の値をその関数に渡す必要があります。 呼び出される関数に渡される値は、実引数と呼ばれます。


64) 改行エスケープシーケンスとは何ですか?

改行エスケープ シーケンスは、\n 文字で表されます。 出力画面にデータを表示する際に改行を挿入するために使用します。 \n 文字をさらに挿入すると、さらにスペースを追加できます。 たとえば、\n\n と入力すると、スペースが XNUMX つ挿入されます。 改行エスケープ シーケンスは、実際の出力式の前または後に配置できます。


65) 出力リダイレクトとは何ですか?

これは、表示画面以外の代替出力ソースにデータを転送するプロセスです。 出力リダイレクトを使用すると、プログラムの出力をファイルに保存できます。 たとえば、COMPUTE という名前のプログラムがある場合、コマンド ラインで COMPUTE >DATA と入力すると、ユーザーからの入力を受け入れ、特定の計算を実行し、出力を sho ではなく DATA という名前のファイルにリダイレクトできます。wing それを画面に。


66) 実行時エラーとは何ですか?

プログラムの実行中に発生するエラーです。 実行時エラーが発生する一般的な例の XNUMX つは、数値をゼロで除算しようとした場合です。 実行時エラーが発生すると、プログラムの実行が一時停止します。wing どのプログラム行がエラーを引き起こしたか。


67) 関数 abs() と fabs() の違いは何ですか?

これら 2 つの関数は基本的に同じアクションを実行します。つまり、指定された値の絶対値を取得します。 Abs() は整数値に使用され、fabs() は浮動小数点型の数値に使用されます。 また、abs() のプロトタイプは以下にあります。 、fabs()が下にある間、 。


68) 仮パラメータとは何ですか?

C プログラムで関数を使用する場合、仮パラメータには呼び出し関数によって渡された値が含まれます。 値はこれらの仮パラメータに置き換えられ、呼び出される関数の本体内で示されているあらゆる操作で使用されます。


69) 制御構造とは何ですか?

制御構造は、プログラム内でどの命令を実行するかを担当します。 これは、プログラム フローが必ずしも XNUMX つのステートメントから次のステートメントに移動するわけではなく、条件ステートメントの結果に応じて、いくつかの代替部分を渡したりバイパスしたりする必要がある可能性があることを意味します。


70) 数値が正か負かをチェックする簡単なコード部分を作成します。

If (num>=0)

printf("number is positive");

else

printf ("number is negative");

71) 「if」ステートメントよりも「switch」ステートメントの方が望ましいのはどのような場合ですか?

また, switchステートメント 単一の変数または式に基づいて選択を処理する場合に最適です。 ただし、switch ステートメントは整数データ型と文字データ型のみを評価できます。


72) グローバル変数とは何ですか?どのように宣言しますか?

グローバル変数は、プログラム内のどこからでもアクセスして操作できる変数です。 変数をグローバルにするには、プログラムの上部、プリプロセッサ ディレクティブ セクションの直後に変数宣言を配置します。


73) 列挙型とは何ですか?

列挙型を使用すると、プログラマは変数の値としてより意味のある単語を使用できます。 列挙型変数の各項目は、実際には数値コードに関連付けられています。 たとえば、値が月曜日、火曜日…日曜日である DAYS という名前の列挙型変数を作成できます。


74) toupper() 関数は何をしますか?

任意の文字を大文字モードに変換するために使用されます。 Toupper() 関数のプロトタイプは次のように宣言されています。 。 この関数は単一の文字のみを変換し、文字列全体を変換するわけではないことに注意してください。


75) 関数を別の関数のパラメータとして持つことは可能ですか?

はい、C プログラミングではそれが許可されています。 必要なのは、関数プロトタイプ全体を、それが使用される他の関数のパラメーター フィールドに含めることだけです。


76) 多次元配列とは何ですか?

多次元配列は、2 次元以上の構造でデータを格納できます。 たとえば、XNUMX 次元配列を使用して、チェスのゲームの駒の現在位置や、三目並べプログラムのプレーヤーの位置を保存できます。


77) 文字列を別の文字列に追加するために使用できる C の関数はどれですか?

strcat 関数。 ソース文字列とソース文字列に追加される文字列値の XNUMX つのパラメータを取ります。


78) 関数 getch() と getche() の違いは何ですか?

どちらの関数もユーザーからの文字入力値を受け入れます。 getch() を使用すると、押されたキーは画面に表示されず、自動的にキャプチャされて変数に割り当てられます。 getche() を使用すると、ユーザーが押したキーが画面に表示されると同時に変数に割り当てられます。


79) これら 1 つのプログラム ステートメントは同じ出力を実行しますか? 2) scanf(“%c”, &letter); XNUMX) 文字=getchar()

はい、どちらもまったく同じことを行います。つまり、ユーザーが押した次のキーを受け入れ、それをletterという名前の変数に割り当てます。


80) C の構造型とは何ですか?

構造型は主にレコードを保存するために使用されます。 レコードは関連するフィールドで構成されます。 これにより、関連するデータのグループを整理しやすくなります。


81) ファイルを使用するプログラムを作成する場合の文字「r」と「w」は何を意味しますか?

「r」は「読み取り」を意味し、データを取得する入力としてファイルを開きます。 「w」は「書き込み」を意味し、出力用にファイルを開きます。 そのファイルに保存されていた以前のデータは消去されます。


82) テキスト ファイルとバイナリ ファイルの違いは何ですか?

テキスト ファイルには、人間が容易に理解できるデータが含まれています。 文字、数字、その他の文字が含まれます。 一方、バイナリ ファイルには、コンピュータのみが解釈できる 1 と 0 が含まれています。


83) 独自のヘッダー ファイルを作成することは可能ですか?

はい、カスタマイズされたヘッダー ファイルを作成することができます。 プログラムで使用する関数プロトタイプをその中に組み込み、#include ディレクティブの後にヘッダー ファイルの名前を付けて使用します。


84) 動的データ構造とは何ですか?

動的データ構造は、データをより効率的にメモリに保存する手段を提供します。 使用する 使用する 動的メモリ割り当て、プログラムは必要に応じてメモリ空間にアクセスします。 これは、プログラマがプログラムで使用するメモリ空間の固定数を指定する必要がある静的データ構造とは対照的です。


85) C のさまざまなデータ型には何がありますか?

基本的な C のデータ型 int、char、floatです。 Int は、整数値を格納する変数を宣言するために使用されます。 Float は実数を格納するために使用されます。 Char は個々の文字値を保存できます。


86) C プログラムの一般的な形式は何ですか?

AC プログラムはプリプロセッサ ディレクティブで始まり、プログラマはどのヘッダ ファイルとどの定数 (存在する場合) を使用するかを指定します。 これにメイン関数の見出しが続きます。 main 関数内には、変数宣言とプログラム ステートメントがあります。


87) ランダム アクセス ファイルの利点は何ですか?

ファイルに保存されているデータの量がかなり大きい場合は、ランダム アクセスを使用すると、ファイルをより迅速に検索できます。 シーケンシャル アクセス ファイルの場合は、目的のデータに到達するまで一度に XNUMX レコードずつ処理する必要があります。 ランダム アクセス ファイルを使用すると、データが存在するターゲット アドレスに直接ジャンプできます。


88) switch 文で、break 文を省略するとどうなりますか?

特定の case 部分の最後に Break ステートメントが配置されていない場合は? 次のケース部分に進むため、誤った出力が発生する可能性があります。


89) 配列をユーザー定義関数に渡す方法を説明する

注意すべき点は、配列全体を関数に渡すことはできないということです。 代わりに、メモリ内の配列の最初の要素を指すポインタを渡します。 これを行うには、括弧を付けずに配列の名前を指定します。


90) ポインタとは何ですか?

ポインタのポイント メモリ内の特定の領域に。 ポインタには変数のアドレスが含まれており、変数には値や別のメモリへのアドレスが含まれる場合もあります。


91) 構造全体を関数に渡すことはできますか?

はい、メソッド呼び出しスタイルで構造全体を関数に渡すことができます。 ただし、プログラマによっては、構造体をグローバルに宣言してから、その構造体タイプの変数を関数に渡すことを好む人もいます。 このメソッドは、引数の型に関して一貫性と均一性を維持するのに役立ちます。


92)gets()関数とは何ですか?

また, gets() function ユーザーによる全行データ入力が可能になります。 ユーザーが Enter キーを押して入力を終了すると、文字行全体が文字列変数に保存されます。 Enter キーは変数に含まれていませんが、代わりにヌル ターミネータ \0 が最後の文字の後に配置されることに注意してください。


93) % 記号は、printf ステートメントで特別な用途があります。 この文字を画面上の出力の一部としてどのように配置しますか?

これを行うには、printf ステートメントで %% を使用します。 たとえば、printf(“10%%”) と記述すると、出力が画面上に 10% として表示されます。


94) ランダムアクセス方式を使用してデータファイル内のデータを検索するにはどうすればよいですか?

fseek() ファイルに対してランダムアクセス入出力を行う機能。 ファイルが fopen() 関数によって開かれた後、fseek が動作するには、ファイルへのファイル ポインター、検索するバイト数、およびファイル内の起点の XNUMX つのパラメーターが必要になります。


95) コメントはコンパイル段階で含まれ、EXE ファイルにも配置されますか?

いいえ、コンパイラによって検出されたコメントは無視されます。 コメントは主にプログラマの指導のみを目的としており、プログラムの機能においてその他の重要な用途はありません。


96) データの並べ替えに使用できる C の組み込み関数はありますか?

はい、使用します qsort() 関数。 バルーン ソートやバブル ソート アルゴリズムに基づく関数など、ソート用のユーザー定義関数を作成することもできます。


97) ヒープの長所と短所は何ですか?

ヒープにデータを保存すると、スタックを使用する場合よりも時間がかかります。 ただし、ヒープを使用する主な利点はその柔軟性です。 これは、この構造内のメモリは特定の順序で割り当てたり削除したりできるためです。 アルゴリズムが適切に設計および実装されていれば、ヒープの速度の低下を補うことができます。


98) C で文字列を数値に変換するにはどうすればよいですか?

文字列から数値への変換を行う独自の関数を作成することも、代わりに C の組み込み関数を使用することもできます。 atof を使用して浮動小数点値に変換し、atoi を使用して整数値に変換し、atol を使用して長整数値に変換できます。


99) 1 つの変数 num2 と numXNUMX の値を交換する単純なコード フラグメントを作成します。

int temp;

temp = num1;

num1 = num2;

num2 = temp;

100) すべてのプログラム ステートメントの最後にセミコロン (;) を使用するのは何ですか?

これはコードの解析プロセスとコンパイルに関係します。 セミコロンは区切り文字として機能するため、コンパイラは各ステートメントがどこで終了するかを認識し、構文チェックのためにステートメントをより小さな要素に分割することができます。

これらの面接の質問は、あなたの活力(口頭)にも役立ちます