二级C语言面试笔试试题(2)

  (32) 若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是

  for (i=5;i;i--)

  for(j=0;j<4;j++){...}

  A)20 B)25 C)24 D)30

  (33) 若有以下定义和语句:

  char *s1="12345",*s2="1234";

  printf("%d\n",strlen(strcpy(s1,s2)));

  则输出结果是

  A) 4 B)5 C)9 D)10

  (34) 若有以下定义和语句:

  int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

  则不能表示a数组元素的表达式是

  A) *p B) a[10] C) *a D) a[p-a]

  (35) 下面程序的输出是

  main()

  { char *s="121";

  int k=0, a=0, b=0;

  do {k++;

  if(k%2==0) {a=a+s[k]-'0';

  continue;}

  b=b+s[k]-'0';

  a=a+s[k]-'0';

  }

  while (s[k+1]);

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

  A)k=3 a=2 b=3 B)k=3 a=3 b=2 C)k=2 a=3 b=2 D)k=2 a=2 b=3

  (36) 下面程序的输出是

  main()

  { unsigned a=32768;

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

  }

  A)a=32768 B)a=32767 C)a=-32767 D)a=-1

  (37) 若有以下定义:

  float x;int a,b;

  则正确的switch 语句是

  A)switch(x) B)switch(x)

  { case1.0:printf("*\n"); { case1,2:printf("*\n");

  case2.0:printf("**\n"); case3:printf("**\n");

  } }

  C)switch (a+b) D)switch (a+b);

  { case 1:printf("\n"); { case 1:printf(."*\n");

  case 1+2:printf("**\n"); case 2:printf("**\n");

  } }

  (38) 若有定义:int x,y;char a,b,c;并有以下输入数据(此处< CR> 代表换行符,/u代表空格):

  1u2

  AuBuC

  则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C 的正确程序段是

  A) scanf("x=%d y+%d",&x,&y);a=get);b=get);c=get);

  B) scanf("%d %d",&x,&y);a=get);b=get);c=get);

  C) scanf("%d%d%c%c%c,&x,&y,&a,&b,&c);

  D) scanf("%d%d%c%c%c%c%c%c:&x,&y,&a,&a,&b,&b,&c,&c);

  (39) 以下程序输出的结果是

  #include

  #include

  main()

  { char w[][10]={"ABCD","EFGH","IJKL","MNOP"},K;

  for (k=1;k<3;k++)

  printf("%s\n",&w[k][k]);

  }

  A)ABCD B)ABCD

  FGH EFG

  KL IJ

  M

  C)EFG D)FGH

  JK KL

  O

  (40) 若有以下的定义:

  int a[]={1,2,3,4,5,6,7,88,9,10}, *p=a;

  则值为3的表式是

  A) p+=2, *(p++) B) p+=2,*++p C) p+=3, *kp++ D) p+=2,++*p

  (41) 假定所有变量均已正确说明,下列程序段运行后x的值是

  a=b=c=0;x=35;

  if(!a)x--;

  else if(b);

  if(c)x=3;

  else x=4;

  A)34 B)4 C)35 D)3

  (42) 在以下一组运算符中,优先级最高的运算符是

  A)<= B)= C)% D)&&

  (43) 若有以下定义和语句:

  int w[2][3],(*pw)[3];

  pw=w;

  则对w数组元素非法引用是

  A)*(w[0]+2) B)*(pw+1)[2] C)pw[0][0] D)*(pw[1]+2)

  (44) 若有以下程序片段:

  char str[]="ab\n\012\\\"";

  printf(%dd",strlen(str));

  上面程序片段的输出结果是

  A)3 B)4 C)6 D)12

  (45) 函数调用:strcat(strcpy(str1,str2),str3)的功能是

  A) 将串str1复制到串str2中后再连接到串str3之后

  B) 将串str1连接到串str2之后再复制到串str3之后

  C) 将串str2复制到串str1中后再将串str3连接到串str1之后

  D) 将串str2连接到串str1之后再将串str1复制到串str3中

  (46) 以下对C语言函数的有关描述中,正确的是

  A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

  B) C函数既可以嵌套定义又可以递归调用

  C) 函数必须有返回值,否则不能使用函数

  D) C程序中有调用关系的所有函数必须放在同一个源程序文件中

本文已影响6827
上一篇:计算机二级C语言测试题及答案 下一篇:2016最新计算机二级c语言笔试题

相关文章推荐

|||||