工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

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

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

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

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

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

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) スタックとは?

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

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

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

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

これは、変数がプログラムで使用される前に初期値が割り当てられるプロセスを指します。初期化を行わないと、変数の値が不明になり、計算やその他の操作で使用すると予測不能な出力が発生する可能性があります。

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

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

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

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

10) C プログラミングでは、出力画面に引用符 (' と ") をどのように挿入しますか?

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

11) 「\0」文字は何に使用されますか?

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

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

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

13) モジュラス演算子とは?

剰余演算子は、除算の剰余を出力します。パーセンテージ (%) 記号を使用します。例:10 % 3 =1。つまり、10 を 3 で割った余りは 1 です。

14) ネストされたループとは?

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

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

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

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

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

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

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

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

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

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

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

20) 構文エラーとは?

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

21) 変数とは何ですか? また、定数とどのように違うのですか?

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

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

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

23) 「int」データ型を使用して値 32768 を保存できますか?なぜですか?

いいえ。「int」データ型は、-32768 ~ 32767 の値を格納できます。32768 を格納するには、代わりに「long int」を使用できます。負の値を格納するつもりがなければ、「unsigned int」も使用できます。

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

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

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

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

26) 関数で「void」キーワードを使用するのはいつですか?

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

27) 複合ステートメントとは?

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

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

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

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

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

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

1

12

123

1234

12345

答え:

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

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

printf("%d",b);

printf("\n");

}

31) このステートメントのどこが間違っていますか? scanf(“%d”,whatnumber);

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

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

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

33) tolower() などの有効な関数名が C コンパイラによって未定義として報告される場合、何が問題になる可能性がありますか?

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

34) コメントとは何ですか?C プログラムにどのように挿入しますか?

コメントは、プログラムにコメントや説明を入れるのに最適な方法です。それは、プログラムが何であるかについてのリマインダーとして、または特定のコードまたは機能が最初にそこに配置された理由についての説明として役立ちます。コメントは /* で始まり、*/ 文字で終わります。コメントは 1 行にすることも、複数行にまたがることもできます。プログラムのどこにでも配置できます。

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 形式は何を意味しますか?

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

39) 論理エラーとは何ですか?また、構文エラーとどのように違いますか?

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

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

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

41) || とは何ですか?プログラム内でどのように機能しますか?

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

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

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

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

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

44) 変数 s の値が 10 の場合、次の条件ステートメントの結果はどうなりますか?

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

結果は TRUE になります。 s の値は 10 であるため、s>=10 は TRUE と評価されます。これは、s が 10 より大きくないが、それでも 10 に等しいためです。10 は 25 より小さいため、s<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 惑星[15] =“地球”; 2 つのことを行います。それは、planet という名前の文字列変数を宣言し、値「Earth」で初期化します。

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

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

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

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

51) 予約語とは?

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

52) リンク リストとは?

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

53) FIFO とは?

C プログラミングでは、キューと呼ばれるデータ構造があります。この構造では、データは FIFO 形式または First-In-First-Out を使用して格納およびアクセスされます。キューは、格納された最初のデータが最初にアクセス可能になる行を表します。

54) 二分木とは?

二分木は、実際には連結リストの概念を拡張したものです。二分木には、左と右の 2 つのポインターがあります。各側はさらに分岐して追加のノードを形成でき、各ノードには 2 つのポインターも含まれます。

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 は、3 つの一意に異なる変数です。

59) 無限ループとは?

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

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

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

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

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

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

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

63) 実際の議論とは?

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

64) 改行エスケープシーケンスとは?

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

65) 出力リダイレクトとは?

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

66) 実行時エラーとは?

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

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

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

68) 仮パラメータとは?

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

69) 制御構造とは?

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

70) 数値が正か負かをチェックする簡単なコード片を書きなさい

If (num>=0)

printf("number is positive");

else

printf ("number is negative");

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

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

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

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

73) 列挙型とは?

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

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

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

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

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

76) 多次元配列とは?

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

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

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

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

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

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

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

80) C の構造型とは?

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

81) ファイルを利用するプログラムを書くとき、文字「r」と「w」は何を意味しますか?

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

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

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

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

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

84) 動的データ構造とは?

Dynamic data structure provides a means for storing data more efficiently into memory. Using dynamic memory allocation, your program will access memory spaces as needed. This is in contrast to static data structure, wherein the programmer has to indicate a fix number of memory space to be used in the program.

85) What are the different data types in C?

The basic data types are int, char, and float. Int is used to declare variables that will be storing integer values. Float is used to store real numbers. Char can store individual character values.

86) What is the general form of a C program?

A C program begins with the preprocessor directives, in which the programmer would specify which header file and what constants (if any) to be used. This is followed by the main function heading. Within the main function lies the variable declaration and program statement.

87) What is the advantage of a random access file?

If the amount of data stored in a file is fairly large, the use of random access will allow you to search through it quicker. If it had been a sequential access file, you would have to go through one record at a time until you reach the target data. A random access file lets you jump directly to the target address where data is located.

88) In a switch statement, what will happen if a break statement is omitted?

If a break statement was not placed at the end of a particular case portion? It will move on to the next case portion, possibly causing incorrect output.

89) Describe how arrays can be passed to a user defined function

One thing to note is that you cannot pass the entire array to a function. Instead, you pass to it a pointer that will point to the array first element in memory. To do this, you indicate the name of the array without the brackets.

90) What are pointers?

Pointers point to specific areas in the memory. Pointers contain the address of a variable, which in turn may contain a value or even an address to another memory.

91) Can you pass an entire structure to functions?

Yes, it is possible to pass an entire structure to a function in a call by method style. However, some programmers prefer declaring the structure globally, then pass a variable of that structure type to a function. This method helps maintain consistency and uniformity in terms of argument type.

92) What is gets() function?

The gets() function allows a full line data entry from the user. When the user presses the enter key to end the input, the entire line of characters is stored to a string variable. Note that the enter key is not included in the variable, but instead a null terminator \0 is placed after the last character.

93) The % symbol has a special use in a printf statement. How would you place this character as part of the output on the screen?

You can do this by using %% in the printf statement. For example, you can write printf(“10%%”) to have the output appear as 10% on the screen.

94) How do you search data in a data file using random access method?

Use the fseek() function to perform random access input/ouput on a file. After the file was opened by the fopen() function, the fseek would require three parameters to work:a file pointer to the file, the number of bytes to search, and the point of origin in the file.

95) Are comments included during the compilation stage and placed in the EXE file as well?

No, comments that were encountered by the compiler are disregarded. Comments are mostly for the guidance of the programmer only and do not have any other significant use in the program functionality.

96) Is there a built-in function in C that can be used for sorting data?

Yes, use the qsort() function. It is also possible to create user defined functions for sorting, such as those based on the balloon sort and bubble sort algorithm.

97) What are the advantages and disadvantages of a heap?

Storing data on the heap is slower than it would take when using the stack. However, the main advantage of using the heap is its flexibility. That’s because memory in this structure can be allocated and remove in any particular order. Slowness in the heap can be compensated if an algorithm was well designed and implemented.

98) How do you convert strings to numbers in C?

You can write you own functions to do string to number conversions, or instead use C’s built in functions. You can use atof to convert to a floating point value, atoi to convert to an integer value, and atol to convert to a long integer value.

99) Create a simple code fragment that will swap the values of two variables num1 and num2.

int temp;

temp = num1;

num1 = num2;

num2 = temp;

100) What is the use of a semicolon (;) at the end of every program statement?

It has to do with the parsing process and compilation of the code. A semicolon acts as a delimiter, so that the compiler knows where each statement ends, and can proceed to divide the statement into smaller elements for syntax checking.

Free PDF Download:C Programming Interview Questions &Answers


C言語

  1. 2020年のトップクラウドインタビューの質問と回答
  2. 2021年のトップシングルボードコンピューター
  3. ロボットの質問?自動化の回答
  4. IoTデータを準備する上での上位3つの課題
  5. トップIoTデータ分析プラットフォーム
  6. トップ10のIIoTプラットフォーム
  7. 2021年の8種類のクラウドコンピューティング
  8. 2021年に読むべき17の最高のプログラミング本
  9. ロシアのシリアル化法に関する上位4つの質問に回答
  10. データマトリックスコードとQRコード
  11. CMMSソフトウェアを使用した2021年の新年の抱負