2011年全国计算机等级二级C语言模拟试题及答案(11)

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

2011年全国计算机等级二级C语言模拟试题及答案(11)

2011年全国计算机等级二级C语言模拟试题及答案(11)一、 单项选择题(共30分,每题1分)1.在PC机中,‘n’在内存占用的字节数是(  )A.1   B.2   C. 3   D.42.字符串“ABC”在内存占用的字节数是(   )A.3   B.4   C.6   D.83.在C语言中,合法的长整型常数是(   )A.0L  B.4962710   C.0.054838743   D.2.1869 e104.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次是(   )nA.3,3,2   B.3,2,2   C.3,2,3   D.2,3,25.设有语句int a=3;,则执行了语句a+=a-=a*a后,变量a的值是(  )A.3    B.0    C.9   D.-126.设int k=32767;执行k=k+1;后k值为(   )A.32768    B.-32768    C.0   D.-17.下列正确的标识符是(        )A.hot_do    B.a+b    C.test!    D.%y8.设int a=5,使b不为2的表达式是(  )A.b=6-(--a)    B.b=a%2    C.b=a/2   D.b=a>3?2:1n9.执行x=(6*7%8+9)/5;后,x的值为(     )A.1     B.2    C.3    D.410.执行语句x=(a=3,b=a--)后,x,a,b的值依次为(   )A.3,2,3   B.2,3,2   C.3,3,2   D.3,2,211.设a=-3;执行(a>0)?a:-a;后,a的值为(    )A.3    B.1   C.0     D.-312.设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为(   )A.7    B.8    C.9    D.213.下面正确的字符常量是(      )nA.”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*315.在C语言中,要求运算数必须是整型的运算符是(   )A./    B.++   C.!=    D.%16.若有说明语句:char c=’72’;则变量c (     )A.包含1个字符   B.包含2个字符  C.包含3个字符  D.说明不合法,c值不确定17.sizeof (float)是(      )A.一个双精度型表达式        B.一个整型表达式  nC.一种函数调用              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数组元素地址的正确引用是(   )nA.P+5   B.*a+1   C.&a+1    D  &a[0]22.凡是函数中未指定存储类别的局部变量,其隐含的存储类别是(  )A.auto     B.static    C.extern    D.register23.若用数组名作为函数调用的实参,传递给形参的是(    )A.数组的首地址          B.数组第一个元素的值    C.数组中全部元素的值    D .数组元素的个数24.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是(   )A.float    B.int    C.long    D.double25.以下对二维数组a的正确说明是(    )A.int a[3][]        B.float  a(3,4)  nC.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= =127.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.同一行上的ifn29.判断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;二、 填空(20分,每空1分)1.C语言中的实型变量分为两种类型,它们是(            )和(         )。2.C语言中的标识符只能由三种字符组成,它们是(        )、(         )和(       )。3.若有定义:char c=’10’;则变量c中包含的字符个数是(      )。4.C语言提供的三种逻辑运算符是(        )、(        )、(             )。5.设y为int型变量,请写出描述“y是奇数”的表达式(                      )。6.设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式(              )。n7.在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 (“%dn”,c);}         运行结果:n2.  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;n         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 (“%dn”,s);}n6.       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)        {……};   {……}参考答案一、 单项选择题(共30分,每题1分)1.A.2.B.3.A 4.C 5.D n6.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!=06.  x10)printf(“notexist”);}2.insprime(inta)  {inti;    for(i=2;i<=a-1;i++)       if(i%2==0)return(0);=0)return(0);    return(1);  }
查看更多

相关文章

您可能关注的文档