2006年4月全国计算机等级考试二级C语言考前密卷2
来源:优易学  2011-11-20 16:32:00   【优易学:中国教育考试门户网】   资料下载   IT书店

  答案:b
  评析:c语言规定标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。选项a中的void是c语言的关键字,不合法;选项c中的case和c语言的关键字重名,不合法;选项d中的2a是数字打头而且sizeof和c语言的关键字重名,不合法。
  
(36)下面能正确定义数组,并正确赋值的语句是_________。
  a)int n=5,b[n][n]        
  b)int a[1][2]={{1},{3}}
  c)int c[2][]={{1,2},{3,4}}  
  d)int d[3][2]={{1,2},{34}}
  答案:d
  评析:可以用下面的方法对二维数组初始化:
  l、分行给二维数组赋初值。如int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
  2、可以将所有数据写在一个花括弧内,按数组排列的顺序对各元素赋初值。如:
  int a[3][4]={1,2,3,4,5,6,7,8;9,10,1 l,12);
  3、可以对部分元素赋初值:int a[3][4]={{1},{5},{9}};
  它的作用是只对各行第一列的元素赋初值,其余元素值自动为0。
  4、如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。如:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
  与下面的定义等价:int a[][4]={1,2,3,4,5,6,7,8,9,10,1l,12};
  
(37)请选出以下程序的输出结果___________。
  #include
  sub(int*s,int y)
  { static int t=3;
  y=s[t];t--;
  }
  main()
  { int a[]={1,2,3,4},i,x=0;
  for(i=0;i<4;i++){
  sub(a,x);printf("%d",x);)
  printf("\n");
  }
  a)1234         b)432l
  c)0000         d)4444
  答案:c
  评析:x作为函数sub()的实参时,函数对x值的改变没有返回主函数,并不能使得x的值变化,所以在打印时,x的值是始终不变的,即为0。
  
(38)假定下面程序可执行文件名prg.exe,则该程序所在的子目录下输入命令行:prg hello
  good<回车>后,程序的输出结果是_________。
  main(int argc,char*argv[])
  {
  int i;
  for=1;i  }
  a)heuo good       b)hg 
  c)hel         d)hellogood
  答案:b
  评析:带参数的main()函数常用形式为:main(int argc,char.*argv[]),其中,整型变量argc用来记录命令行中的参数个数。参数的个数由c程序运行时自动计算出来。字符型指针数组argv的第一个元素存放命令名,其后各个元素依次存放命令行中各个参数的首地址,数组的大小由argc确定。for循环语句实现输出各参数的第一个字母。
  
(39)若有以下说明和语句,请选出哪个是对c数组元素的正确引用_________。
  int c[4][5],(*cp)[5];
  cp=c;
  a)cp+l         b)*(cp+3) 
  c)*(cp+1)+3      d)*(*cp+2)
  答案:d
  评析:cp=c这个语句是将数组第0行的地址赋给了cp。cp+1使指针指向二维数组c的第一

上一页  [1] [2] [3] [4] [5] [6] 下一页

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训