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

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

 

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

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

実際には、これを行う方法は 1 つあります。1 つは、増分演算子 ++ と減分演算子 - を使用する方法です。たとえば、ステートメント「x++」は、x の値を 1 増やすことを意味します。同様に、ステートメント「x -」は、x の値を XNUMX 減らすことを意味します。増分ステートメントを書く別の方法は、従来の + プラス記号または - マイナス記号を使用することです。「x++」の場合、別の書き方は「x = x +XNUMX」です。

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


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

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

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


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

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


4) 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 スパゲッティプログラミングとは何ですか?

スパゲッティ プログラミングとは、プログラム全体でコードが絡み合ったり重複したりする傾向のあることを指します。この構造化されていないコーディング アプローチは、通常、プログラマの経験不足に起因します。スパゲッティ プログラミングはプログラムを複雑にし、コードの分析を困難にするため、可能な限り避ける必要があります。


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

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


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

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


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

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


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

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


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

剰余演算子は、割り算の余りを出力します。パーセント (%) 記号を使用します。たとえば、10 % 3 = 1 は、10 を 3 で割ると余りが 1 になることを意味します。


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

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


15) 次の演算子のうち間違っているものはどれですか。また、その理由は何ですか。( >=、<=、<>、==)

<>は誤りです。この演算子は条件文を書くときには「等しくない」と正しく解釈されますが、 Cプログラミング代わりに、演算子 != を使用して「等しくない」条件を示す必要があります。


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

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


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

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


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

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


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

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


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

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


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

変数と定数は、どちらも 3.1415 文字以上の文字 (文字、数字、およびいくつかの許容される記号) で構成される識別子であるという点で、一見似ているように見えるかもしれません。どちらも特定の値を保持します。変数によって保持される値は、プログラム全体で変更でき、ほとんどの操作と計算で使用できます。定数には、プログラムの先頭に配置され、一度だけ値が与えられます。この値はプログラム内で変更されません。たとえば、 PI という名前の定数を割り当てて、値 3.1415 を与えることができます。その後、プログラム内で PI として使用することができ、必要なときに毎回 XNUMX と記述する必要はありません。


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) 複合文とは何ですか?

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


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

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


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

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


30) 次の出力を表示するループ ステートメントを記述します。

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) 変数 s の値が 10 の場合、次の条件文の結果はどうなりますか?

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

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


45) C 言語における演算子の優先順位について説明します。

優先順位は、演算文または条件文で最初に実行する必要がある演算を決定します。優先順位の最上位レベルは、単項演算子 !、+、-、および & です。次に、通常の数学演算子 (*、/、および係数 % が最初に続き、その後に + と - が続きます。その次は、関係演算子 <、<=、>=、および > です。その後に、2 つの等価演算子 == と != が続きます。次に、論理演算子 && と || が評価されます。最後のレベルは、代入演算子 = です。


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

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


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

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


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

はい、後で変更する予定がない限り、変数宣言の後に別の代入ステートメントを書く必要はありません。たとえば、char planet[15] = “Earth”; は、planet という名前の文字列変数を宣言し、それを値 “Earth” で初期化するという XNUMX つの処理を行います。


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

これは、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 で増分が行われ、その結果の値が使用されます。これはプレフィックス増分とも呼ばれます。2 番目の式では、変数 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) 無限ループとは何ですか?

無限ループには 2 つの意味があります。1 つは、ループ内の条件が満たされるまで継続的にループするように設計されており、その後 break 関数によってプログラムがループから抜け出すことです。もう 1 つの無限ループの考え方は、ループ条件が誤って記述され、ループが誤って永久に実行されることです。無限ループは、多くの場合、無限ループと呼ばれます。


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

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


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

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


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

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


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

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


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

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


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

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


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

これらはプログラムの実行中に発生するエラーです。実行時エラーが発生する一般的な例の 1 つは、数値をゼロで割ろうとしたときです。実行時エラーが発生すると、プログラムの実行が一時停止し、エラーの原因となったプログラム行が表示されます。


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 という名前の列挙型変数を作成できます。 Monday, 火曜日…日曜日。


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) すべてのプログラム ステートメントの最後にセミコロン (;) を使用するのは何ですか?

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

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