Cprogramming-mock-test

提供:Dev Guides
移動先:案内検索

Cプログラミングモックテスト

このセクションでは、* Cプログラミングフレームワーク*に関連するさまざまなモックテストを紹介します。 これらのサンプルモックテストをローカルマシンでダウンロードし、都合の良いときにオフラインで解決できます。 すべての模擬テストには模擬テストキーが付属しており、最終スコアを確認して自分で採点できます。

質問と回答

__模擬テストI

__模擬テストII

__模擬テストIII

__模擬テストIV

Cプログラミング模擬テストI

Q 1-次のコードスニペットの出力は何ですか?

#include<stdio.h>

main()
{
   int const a = 5;

   a++;
   printf(“%d”,a);
}

回答:D

説明

コンパイルエラー-定数変数は変更できません。

main()
{
   int const a = 5;

   a++;
   printf(“%d”,a);
}

__回答を表示

Q 2-次のコードスニペットの出力は何ですか?

#include<stdio.h>

main()
{
   const int a = 5;

   a++;
   printf("%d", a);
}

回答:D

説明

コンパイルエラー-定数変数は変更できません。

main()
{
   const int a = 5;

   a++;
   printf("%d", a);
}

__回答を表示

Q 3-以下のコードスニペットの出力は何ですか?

#include<stdio.h>

main()
{
   char s[]="hello", t[]="hello";

   if(s==t){
       printf("eqaul strings");
    }
}

答え:C

説明

両方のベースアドレスを比較しており、同じではないため、出力はありません。

__回答を表示

Q 4-以下のコードスニペットの出力は何ですか?

#include<stdio.h>

main()
{
   int a = 5, b = 3, c = 4;

   printf("a = %d, b = %d\n", a, b, c);
}

回答:A

説明

a = 5、b = 3、これは印刷用のフォーマット指定子が2つしかないためです。

__回答を表示

Q 5-以下のコードスニペットの出力は何ですか?

#include<stdio.h>

main()
{
   int a = 1;
   float b = 1.3;
   double c;

   c = a + b;
   printf("%.2lf", c);
}

回答:A

説明

2.30、加算は有効で、小数点以下2桁を指定します。

__回答を表示

Q 6-次のプログラムのoutpoutは何ですか?

#include<stdio.h>

main()
{
      enum { india, is=7, GREAT };

      printf("%d %d", india, GREAT);
}

答え:C

説明

0 8、enumsは0で始まるシーケンスを提供します。 値が割り当てられている場合、シーケンスは割り当てられた値から継続します。

__回答を表示

Q 7-次のコードスニペットの出力は何ですか?

#include<stdio.h>

main()
{
    char c = 'A'+255;

    printf("%c", c);
}

回答:A

説明

A、ASCII文字のASCII値の範囲は0〜255です。 したがって、加算演算は「A」に戻ります

__回答を表示

Q 8-次のコードスニペットの出力は何ですか?

#include<stdio.h>

main()
{
   short unsigned int i = 0;

   printf("%u\n", i--);
}

回答:A

説明

0、変数のポストデクリメント演算子の値は、式の値と見なされ、後でデクリメントされます。

__回答を表示

Q 9-以下のコードスニペットの出力は何ですか?

#include<stdio.h>

main()
{
   unsigned x = 5, y=&x, *p = y+0;

   printf("%u",*p);
}

回答:D

説明

5、pはy + 0であるxのアドレスを保持するため

__回答を表示

Q 10-以下のCステートメントについてのコメントは何ですか?

   signed int *p=(int*)malloc(sizeof(unsigned int));

回答:D

説明

オプション(d)、intとunsignedのサイズは同じであるため、メモリの割り当てに問題はありません。

__回答を表示

Q 11-次のコードスニペットの出力は何ですか?

#include<stdio.h>

main()
{
   int x = 5;

   if(x==5)
   {
       if(x==5) break;
       printf("Hello");
   }
   printf("Hi");
}

回答:A

説明

コンパイルエラー。キーワードブレークはloop/switchステートメント内でのみ表示できます。

__回答を表示

Q 12-次のコードスニペットの出力は何ですか?

#include<stdio.h>

main()
{
   int x = 5;

   if(x=5)
   {
       if(x=5) break;
       printf("Hello");
   }
   printf("Hi");
}

回答:A

説明

コンパイルエラー。キーワードブレークはloop/switchステートメント内でのみ表示できます。

__回答を表示

Q 13-次のコードスニペットの出力は何ですか?

#include<stdio.h>

main()
{
   int x = 5;

   if(x=5)
   {
      if(x=5) printf("Hello");
   }
   printf("Hi");
}

回答:A

説明

こんにちは。ifステートメントの式はどちらもtrueと評価されます。

__回答を表示

Q 14-以下のコードスニペットの出力は何ですか?

#include<stdio.h>

main()
{
   for(;;)printf("Hello");
}

回答:A

説明

無限ループ、「for」の2番目の式がない場合、デフォルトではtrueと見なされます。

__回答を表示

Q 15-以下のコードスニペットの出力は何ですか?

#include<stdio.h>

main()
{
   for()printf("Hello");
}

回答:D

説明

コンパイラエラー。式は「for」ループのオプションですが、セミコロンが必要です。

__回答を表示

Q 16-以下のコードスニペットの出力は何ですか?

#include<stdio.h>

main()
{
   for(1;2;3)
      printf("Hello");
}

回答:A

説明

2番目の式が非0であるため、無限ループ、したがって条件は常に真です。

__回答を表示

Q 17-int x =〜1; 「x」の値は何ですか?

回答:D

説明

-2、1の1の補数は1110(バイナリ)で、2の2の補数、つまり-2に相当します。

__回答を表示

Q 18-次のプログラムの出力は何ですか?

#include<stdio.h>

void f()
{
   static int i;

   ++i;
   printf("%d", i);
}

main()
{
   f();
   f();
   f();
}

回答:D

説明

1 2 3、静的ローカル変数は関数呼び出し間でその値を保持し、デフォルト値は0です。

__回答を表示

Q 19-次のコードスニペットの出力は何ですか?

#include<stdio.h>

main()
{
   int *p = 15;
   printf("%d",*p);
}

答え:C

説明

実行時エラー。ポインタ変数が適切なアドレスを保持していないため、同じ場所からデータの書き込み/読み取りを行うと、実行時エラーが発生します。

__回答を表示

Q 20-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
    register int x = 5;

    int *p;
    p=&x;
    x++;
    printf("%d",*p);
}

回答:A

説明

コンパイルエラー。レジスタ変数のアドレスを取得できません。

__回答を表示

Q 21-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
   int x = 65, *p = &x;

   void *q=p;
   char *r=q;
   printf("%c",*r);
}

回答:B

説明

A、voidポインターは汎用ポインターであり、任意の変数のアドレスを保持できます。 値65のASCII文字は「A」です

__回答を表示

Q 22-次のプログラムの出力は何ですか?

#include<stdio.h>

void f()
{
    printf(“Hello\n”);
}
main()
{
 ;
}

回答:A

説明

オプション以外の出力はありません(a)オプションに対する残りのコメントは無効です。

__回答を表示

Q 23-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
   printf("\");
}

回答:D

説明

コンパイルエラー、printfのフォーマット文字列が終了していません。

__回答を表示

Q 24-次のプログラムの出力は何ですか?

#include<stdio.h>

{
   int x = 1;
   switch(x)
   {
      default: printf("Hello");
      case 1: printf("hi"); break;
   }
}

回答:B

説明

こんにちは、残りのケース定数を比較した後、コントロールはデフォルトケースに達します。

__回答を表示

Q 25-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
   struct { int x;} var = {5}, *p = &var;

   printf("%d %d %d",var.x,p->x,(*p).x);
}

回答:A

説明

5 5 5、ポインターを使用して構造要素にアクセスする2つの可能な方法は、→(矢印演算子)OR *を使用することです。

__回答を表示

Q 26-次のプログラムの出力は何ですか?

#include<stdio.h>

void swap(int m, int n)
{
   int x = m;

   m = n;
   n = x;
}
main()
{
   int x=5, y=3;

   swap(x,y);
   printf("%d %d", x, y);
}

回答:B

説明

5 3、値による呼び出しメカニズムは実際の引数を変更できません。

#include <stdio.h>
void swap(int m, int n)
{
   int x = m;

   m = n;
   n = x;
}
main()
{
   int x=5, y=3;

   swap(x,y);
   printf("%d %d", x, y);
}

__回答を表示

Q 27-以下のステートメントでは何が印刷されますか?

#include<stdio.h>

main()
{
   printf("%d",strcmp("strcmp()","strcmp()"));
}

回答:A

説明

0、両方の文字列が等しい場合、strcmpは0を返します

__回答を表示

Q 28-次のプログラムは何をしていますか?

#include<stdio.h>

main()
{
   FILE *stream=fopen("a.txt",'r');
}

回答:D

説明

コンパイルエラー。fopenの2番目の引数は無効です。文字列でなければなりません。

__回答を表示

Q 29-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
   int r, x = 2;
   float y = 5;

   r = y%x;
   printf("%d", r);
}

回答:D

説明

コンパイルエラー。係数演算子(%)のいずれかのオペランドが実数であることは無効です。

__回答を表示

Q 30-次の行でマクロの定義を続けるために使用される演算子はどれですか?

回答:D

説明

\、最初の2つはそれぞれ文字列化演算子とトークン貼り付け演算子です。 $と呼ばれるそのような演算子はありません。

__回答を表示

Q 31-次の労働組合の定義のサイズは何ですか?

#include<stdio.h>

union abc {
    char a,b,c,d,e,f,g,h;
    int i;
}abc;

main()
{
   printf( "%d", sizeof( abc ));
}

答え:C

説明

ユニオンサイズは、要素の最大サイズです。 ユニオンのすべての要素は、共通のメモリを共有しています。

__回答を表示

Q 32-‘int’のサイズは?

回答:D

説明

「int」のサイズは、コンパイラーによって異なります。 16ビットか32ビットか。

__回答を表示

Q 33-タイプ名/予約語「short」は___

回答:D

説明

shortはshort intの代替として使用されます。

__回答を表示

Q 34-次のコードスニペットの「y」の値は何ですか?

#include<stdio.h>

main()
{
   int x = 1;

   float y = x>>2;

   printf( "%f", y );
}

答え:C

説明

0、上記のシフト操作でデータビットが失われるため、値は0です。

__回答を表示

Q 35-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
   float t = 2;

   switch(t)
   {
       case 2: printf("Hi");
       default: printf("Hello");
   }
}

回答:D

説明

エラー、スイッチ式を浮動小数点値にすることはできません。

__回答を表示

Q 36-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
   int i = 1;

   while(++i <= 5)
      printf("%d ",i++);
}

回答:B

説明

2 4、最初はインクリメントされ、後で比較され、printfが最初に印刷され、後でインクリメント

__回答を表示

Q 37-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
   int i = 1;

   while( i++<=5 )
      printf("%d ",i++);
}

答え:C

説明

2 4 6最初に比較され、その後インクリメントされ、printfでは最初に印刷され、後でインクリメントされます。

__回答を表示

Q 38-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
   int i = 1;

   while(i++<=5);
       printf("%d ",i++);
}

回答:B

説明

6、「while」の後に空のステートメントがあります。

__回答を表示

Q 39-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
   int x = 1;

   do
      printf("%d ", x);
   while(x++<=1);
}

回答:B

説明

1 2、do..whileはエントリー制御ループです。 式x ++はポストフォームであるため、ループも2回継続します。

__回答を表示

Q 40-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
   int a[] = {1,2}, *p = a;

   printf("%d", p[1]);
}

回答:B

説明

2、「p」はベースアドレスを保持しているため、「a」と同じように「p」を使用して配列にアクセスできます。

__回答を表示

Q 41-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
   int a[3] = {2,1};

   printf("%d", a[a[1]]);
}

回答:B

説明

1、内部間接指定は1と評価され、外部間接指定のインデックス1の値は1です。

__回答を表示

Q 42-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
   int a[3] = {2,,1};

   printf("%d", a[a[0]]);
}

回答:D

説明

コンパイルエラー、配列の初期化での無効な構文。

__回答を表示

Q 43-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
   int a[] = {2,1};

   printf("%d", *a);
}

答え:C

説明

2、「a」はベースアドレスを指します。

__回答を表示

Q 44-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
   int i = 1;

   Charminar:
   printf("%d ",i++);
   if(i==3) break;
   if(i<=5) goto Charminar;
}

回答:D

説明

コンパイルエラー、「ブレーク」が表示される間違った場所

__回答を表示

Q 45-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
   int i = 13, j = 60;

   i ^= j;
   j ^= i;
   i ^= j;

   printf("%d %d", i, j);
}

回答:B

説明

60 13、そのスワッピング。

__回答を表示

Q 46-次のプログラムの出力は何ですか?

#include<stdio.h>

main()
{
   union abc {
      int x;
      char ch;
   }var;

   var.ch = 'A';
   printf("%d", var.x);
}

答え:C

説明

65、ユニオン変数はそのすべての要素に対して共通のメモリを共有するため、xはASCII値が65の「A」を取得して出力されます。

__回答を表示

Q 47-以下から不正なファイルオープンモードを特定します。

答え:C

説明

x、「x」と呼ばれるそのようなモードはありません。

__回答を表示

Q 48-"r +"モードの関数fopen()が__のファイルを開こうとします

回答:A

説明

オプション(a)、ファイルが存在し、読み取りと書き込みの両方で開く必要があります。

__回答を表示

Q 49-fseek()関数で使用されている無効な定数を「whence」参照として識別します。

答え:C

説明

SEEK_BEG、残りはすべて「stdio.h」で定義された有効な定数です

__回答を表示

Q 50-Cプログラミング言語を使用して設計された最初のオペレーティングシステム。

答え:C

説明

UNIX。 Cは実際にUNIXと呼ばれるオペレーティングシステムを作成するために発明しました。 1973年までに、UNIX OS全体がCを使用して設計されました。

__回答を表示

解答用紙

Question Number Answer Key
1 D
2 D
3 C
4 A
5 A
6 C
7 A
8 A
9 D
10 D
11 A
12 A
13 A
14 A
15 D
16 A
17 D
18 D
19 C
20 A
21 B
22 A
23 D
24 B
25 A
26 B
27 A
28 D
29 D
30 D
31 C
32 D
33 D
34 C
35 D
36 B
37 C
38 B
39 B
40 B
41 B
42 D
43 C
44 D
45 B
46 C
47 C
48 A
49 C
50 C

リンク:/nodejs/pdf/cprogramming_mock_test_i.pdf [__ダウンロード]