首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 二级考试 >

2013年计算机二级C单选模拟题2(附答案)(1)

2013-03-21 

  一、单项选择题

  1.以下说法中正确的是( D )。

  A) #define和printf都是C语句

  B) #define是C语句,而printf不是

  C) printf是C语句,但#define不是

  D) #define和printf都不是C语句

  2.以下程序的输出结果是( C )。

  #define f(x) x*x

  main( )

  {int a=6, b=2, c;

  c=f(a)/f(

  B);

  printf("%d\n", c);

  }

  A) 9

  B) 6

  C) 36

  D) 18

  3.下列程序执行后的输出结果是( B )。

  #define MA(x) x*(x-1)

  main( )

  {int a=1, b=2; printf("%d\n", MA(1+a+

  B));}

  A) 6

  B) 8

  C) 10

  D) 12

  4.以下程序的输出结果是( D )。

  #define M(x, y, z) x*y+z

  main( )

  {int a=1, b=2, c=3;

  printf("%d\n", M(a+b, b+c, c+a));

  }

  A) 19

  B) 17

  C) 15

  D) 12

  5.以下程序的输出结果是( B )。

  #define SQR(X) X*X

  main( )

  {int a=16, k=2, m=1;

  a/=SQR(k+m)/SQR(k+m);

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

  }

  A) 16

  B) 2

  C) 9

  D) 1

  6.有如下程序:

  #define N 2

  #define M N+1

  #define NUM 2*M+1

  main( )

  {int i;

  for(i=1; i<=NUM; i++) printf(“%d\n”, i);

  }《 M=3,NUM=6》

  该程序中的for循环执行的次数是( B )。

  A) 5

  B) 6

  C) 7

  D) 8

  7.以下程序的输出结果是( C )。

  #include

  #define MIN(x, y) (x)< (y)?(x):(y)

  main( )

  {int a, b, c;

  a=20;b=10;

  c=5*MIN(a, B);

  printf(“%d\n”, c);

  }

  A) 20

  B) 200

  C) 10

  D) 50

  8.在下列叙述中,正确的是( C )。

  A) 下面的程序有一个整型输出值:

  main( )

  {int a;

  a=pp( );

  printf(“%d”,a);

  }

  void pp( )

  { … }

  B) 以下程序的运行结果为1,3,5,7

  main( )

  {static int a[4]={1,3,5,7};

  printf(“%d,%d,%d,%d\n”,a);

  }

  C) 以下两个语句是等价的

  for(;(c=getchar( ))!=‘\n’;printf(“%c\n”, c));

  for(;(c=getchar( ))!=‘\n’;) printf(“%c\n”, c);

  D) 以下程序中的PRINT()是一个函数

  #define PRINT(V) printf(“V=%d\t”, V)

  main( )

  {int a,b;

  a=1;

  b=2;

  PRINT(a);

  PRINT(B);

  }

  9.在下列#include命令中,正确的一条是( D )。

  A) #include[string.h]

  B) #include{math.h}

  C) #include(stdio.h)

  D) #include

  10.宏定义#define PI 3.1415926的作用是:指定用标识符PI来代替一个( B )。

  A) 单精度数

  B) 字符串

  C) 双精度数

  D) 整数

  11.如果在用户的程序中要使用C库函数中的数学函数时,应在该源文件中使用的include命令是( B )。

  A) #include

  B) #include

  C) #include

  D) #include

  12.若输入60和13,以下程序的输出结果是( D )。

  #define SURPLUS(a,B) ((a)%(B))

  main( )

  {int a,b;

  scanf(“%d,%d”,&a,&B);

  printf(“%d\n”,SURPLUS(a,B));

  }

  A) 60

  B) 13

  C) 73

  D) 8

  13.如果文件1包含文件2,文件2中要用到文件3的内容,而文件3中要用到文件4的内容,则可在文件1中用三个#include命令分别包含文件2、文件3和文件4。在下列关于这几个文件包含顺序的叙述中,正确的一条是( A )。

  A) 文件4应出现在文件3之前,文件3应出现在文件2之前

  B) 文件2应出现在文件3之前,文件3应出现在文件4之前

  C) 文件3应出现在文件2之前,文件2应出现在文件4之前

  D) 出现的先后顺序可以任意

  14.在下面四个程序中,输出结果与其它三个不同的是( C )。

  A) #define MAX(a,B) ((a)>(B)?(a):(B))

  main( )

  {int a,b,c;

  scanf(“%d,%d,%d”,&a,&b,&c);

  printf(“%d\n”,MAX(MAX(a,B),c));

  }

  B) main( )

  {int a,b,c;

  scanf(“%d,%d,%d”,&a,&b,&c);

  printf(“%d\n”,max(a,b,c));

  }

  max(int x,int y,int z)

  {int t;

  t=(x>y?x:y);

  return(t>z?t:z);

  }

  C) main( )

  {int a,b,c,max;

  scanf(“%d,%d,%d”,&a,&b,&c);

  if(a>b>c) max=a;

  if(b>c>a) max=b;

  if(c>a>B) max=c;

  printf(“%d\n”,max);

  }

  D) main( )

  {int a,b,c,max;

  scanf(“%d,%d,%d”,&a,&b,&c);

  max=a>b?a:b;

  if(c>max) max=c;

  printf(“%d\n”,max);

  }

  15.以下for语句构成的循环执行了( C )次。

  #define N 2

  #define M N+1

  #define NUM (M+1)*M/2

  main( )

  {int i, n=0;

  for(i=1; i<=NUM; i++)

  {n++;

  printf(“%d”, n);

  }

  printf(“\n”);

  }

  A) 4

  B) 6

  C) 8

  D) 9

  16.以下程序的输出结果是( B )。

  #include

  #define FUDGE(y) 2.84+y

  #define PR(a) printf(“%d”, (int)(a))

  #define PRINT1(a) PR(a); putchar(‘\n’)

  main( )

  {int x=2;

  PRINT1(FUDGE(5)*x);

  }

  A) 11

  B) 12

  C) 13

  D) 15

  17.以下程序的输出结果是( A )。

  #define SUB(x, y) (x)*y

  main( )

  {int a=3, b=4;

  printf(“%d\n”, SUB(a++, b++));

  }

  A) 12

  B) 15

  C) 16

  D) 20

  18.设有以下宏定义:

  #define N 3

  #define Y(n) ((N+1)*n)

  则执行语句:z=2*(N+Y(5+1));后,z的值为( C )。

  A) 出错

  B) 42

  C) 48

  D) 54


热点排行