当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年全国计算机等级二级C语言模拟试题及答案(11)
发布时间:2010/11/7 23:23:47 来源:城市学习网 编辑:ziteng
  一、 单项选择题(共30分,每题1分)
  1.在PC机中,‘\n’在内存占用的字节数是(  )
  A.1
  B.2
  C. 3
  D.4
  2.字符串“ABC”在内存占用的字节数是(   )
  A.3
  B.4
  C.6
  D.8
  3.在C语言中,合法的长整型常数是(   )
  A.0L
  B.4962710
  C.0.054838743
  D.2.1869 e10
  4.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次是(   )
  A.3,3,2
  B.3,2,2
  C.3,2,3
  D.2,3,2
  5.设有语句int a=3;,则执行了语句a+=a-=a*a后,变量a的值是(  )
  A.3
  B.0
  C.9
  D.-12
  6.设int k=32767;执行k=k+1;后k值为(   )
  A.32768
  B.-32768
  C.0
  D.-1
  7.下列正确的标识符是(        )
  A.hot_do
  B.a+b
  C.test!
  D.%y
  8.设int a=5,使b不为2的表达式是(  )
  A.b=6-(--a)
  B.b=a%2
  C.b=a/2
  D.b=a>3?2:1
  9.执行x=(6*7%8+9)/5;后,x的值为(     )
  A.1
  B.2
  C.3
  D.4
  10.执行语句x=(a=3,b=a--)后,x,a,b的值依次为(   )
  A.3,2,3
  B.2,3,2
  C.3,3,2
  D.3,2,2
  11.设a=-3;执行(a>0)?a:-a;后,a的值为(    )
  A.3
  B.1
  C.0
  D.-3
  12.设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为(   )
  A.7
  B.8
  C.9
  D.2
  13.下面正确的字符常量是(      )
  A.”c”
  B.’\\’’
  C.’W’
  D. ‘’
  14.若有代数式3ae/bc,则不正确的c语言表达式是(     )
  A.a/b/c*e*3
  B.3*a*e/b/c
  C.3*a*e/b*c
  D.a*e/c/c*3
  15.在C语言中,要求运算数必须是整型的运算符是(   )
  A./
  B.++
  C.!=
  D.%
  16.若有说明语句:char c=’\72’;则变量c (     )
  A.包含1个字符
  B.包含2个字符
  C.包含3个字符
  D.说明不合法,c值不确定
  17.sizeof (float)是(      )
  A.一个双精度型表达式
  B.一个整型表达式
  C.一种函数调用
  D 一个不合法的表达式
  18.设变量a 是整型,f是实型,i是双精度型,则表达式10+’a’+i*f值的数据类型是(  )
  A.int
  B.folat
  C.double
  D.不确定
  19.若有定义int a[10],*p=a;,则p+5表示(     )
  A.元素a[5]的地址
  B.元素a[5]的值
  C.元素a[6]的地址
  D.元素a[6]的值
  20.以下与int *q[5];等价的定义语句是(   )
  A.int q[5];
  B.int * q
  C.int (q[5])
  D.int (*q)[5]
  21.若有定义int a[5],*p=a;则对a数组元素地址的正确引用是(   )
  A.P+5
  B.*a+1
  C.&a+1
  D  &a[0]
  22.凡是函数中未指定存储类别的局部变量,其隐含的存储类别是(  )
  A.auto
  B.static
  C.extern
  D.register
  23.若用数组名作为函数调用的实参,传递给形参的是(    )
  A.数组的首地址
  B.数组第一个元素的值
  C.数组中全部元素的值
  D .数组元素的个数
  24.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是(   )
  A.float
  B.int
  C.long
  D.double
  25.以下对二维数组a的正确说明是(    )
  A.int a[3][]
  B.float  a(3,4)
  C.double a[1][4]
  D.float a(3)(4)
  26.若有说明int a[3][4];则对a数组元素的正确引用是(A  )
  A.a[2][4]
  B.a[1,3]
  C.a[1+1][0]
  D.a(2)(2)
  26.语句while(!E);中的表达式!E等价于(     )
  A.E= =0
  B.E!=1
  C.E!=0
  D.E= =1
  27.C语言中while和do—while循环的主要区别是(    )
  A.   do—while的循环体至少无条件执行一次
  B.   While的循环控制条件比do—while的循环控制条件严格
  C.   do—while允许从外部转到循环体内
  D.   do—while循环体不能是复合语句
  28.为了避免在嵌套的条件语句if—else中产生二义性,C语言规定:else子句总与(    )配对
  A.缩排位置相同的if
  B.其之前最近的if
  C.其之后最近的if
  D.同一行上的if
  29.判断char型变量ch是否为大写字母的正确表达式是(  )
  A.’A’<=ch<=’Z’
  B.(ch>=’A’)&(ch<=’Z’)
  C.(ch>=’A’)&&(ch<=’Z’
  D.(‘A’<=ch)AND (‘Z’>=ch)
  30.以下能正确定义整型变量a、b、c并为其赋初值5的语句是(   )
  A.int  a=b=c=5;
  B.int  a,c, c=5;
  C.a=5,b=5,c=5;
  D.a=b=c=5; [NextPage]   二、 填空(20分,每空1分)
  1.C语言中的实型变量分为两种类型,它们是(            )和(         )。
  2.C语言中的标识符只能由三种字符组成,它们是(        )、(         )和(       )。
  3.若有定义:char c=’\010’;则变量c中包含的字符个数是(      )。
  4.C语言提供的三种逻辑运算符是(        )、(        )、(             )。
  5.设y为int型变量,请写出描述“y是奇数”的表达式(                      )。
  6.设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式(              )。
  7.在C语言中,二维数组元素在内存中的存放顺序是(                 )。
  8.若有定义:double x[3][5];则x数组中行下标的下限为(          ),列小标的上限为(                 )。
  9.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是(             ),a[2][2]得到的初值是(               )。
  10.若自定义函数要求返回一个值,则应在该函数体中有一条(          )语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符(         )。
  11.函数中的形参和调用时的实参都是数组名时,传递方式为(         ),都是变量时,传递方式为(          )。
  三、 读程序(30分)
  1.  main()
  {int a=2,b=3,c;
  c=a;
  if (a>b) c=1;
  else if (a= =b) c=0;
  else c=-1;
  printf (“%d\n”,c);}         运行结果:
  2.  main()
  {int a=2,b=7,c=5;
  switch (a>0)
  { case  1: swithch (b<0)
  {case 1:printf(“@”);break;
  case 2:printf(“!”);break;
  }
  case 0: switch  (c= =5)
  { case 0:printf(“*”);break;
  case 1:printf(“#”),break;
  default:printf(“#”);break;
  }
  default:printf(“&”);               运行结果:
  } printf (“\n”);
  }
  3.#include
  main()
  { int i;
  for (i=1;i<=5;i++)
  switch (i%5)
  { case 0:printf(“*”);break;
  case 1:printf(“#”);break;
  default:printf(“\n”);
  case 2:printf (“&”);    运行结果:
  }
  }
  4.   main()
  { int i,b,k=0;
  for (i=1;i<=5;i++)
  {b=i%2;
  while (b-->=0)  k++;
  }                            运行结果:
  printf (“%d,%d”,k,b);
  }
  5.       #include
  main()
  { char ch[7]={“12ab56”};
  int i,s=0;
  for (i=0;ch[i]>=’0’&&ch[i]<=’9’;i+=2)
  s=s*10+ch[i]-‘0’;                      运行结果:
  printf (“%d\n”,s);
  }
  6.       main()
  { int a=2,i;
  for (i=0;i<3;i++)
  printf (“M”,f(a));
  }
  f(int a)
  { int b=0;static int c=3;
  b++;c++;                   运行结果:
  return(a+b+c);
  }
  四、 编写程序(20分)
  1.  从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“not exist”。
  2.  已有变量定义和函数调用语句:int x=57;isprime(x);函数isprime()用来判断一个整数a是否是素数,若是素数,函数返回1,否则返回0。请编写isprime函数。
  insprime( int a)
  {……};   {……} [NextPage]   参考答案
  一、  单项选择题(共30分,每题1分)
  1.A.2.B.3.A  4. C  5. D
  6. B  7. A  8. B  9. B  10. A
  11. D  12. A  13. C  14. C  15. D
  16. A  17. B  18. C  19. A  20. D
  21. D  22. A  23. A  24. B  25. C
  26. A  27. A  28. B  29. C  30. A
  二、  填空(20分,每空1分)
  1.   单精度,双精度
  2.   数字、下划线、英文字母
  3.   1个
  4.   与&&、或||、非!
  5.   y%2!=0
  6.   x7.   行列
  8.   0,4
  9.   0,8
  10.return,void
  11.地址传送,值传送
  三、  读程序(30分)
  1.-1    2.&
  3.#&
  *
  4.8,-2
  5.1
  6.  7  8  9
  四、  编写程序(20分)
  1.#include
  main()
  {int i,a;
  for (i=1;i<=10;i++)
  {scanf(“%d”,&a);
  if (a%7= =0) {printf (“%d”,a); break;}
  }
  if (i>10) printf (“not exist”);
  }
  2.insprime(int a)
  {int i;
  for (i=2;i<=a-1;i++)
  if (i%2= =0)return(0); =0)return(0);
  return(1);   }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved