您现在的位置: 中国IT实验室 >> 计算机等级考试 >> 考前密卷 >> 文章正文
05年9月等级考试二级C语言考前密卷1(七)

ChinaITLab收集整理  2005-9-7  保存本文  推荐给好友  QQ上看本站  收藏本站



  一、选择题(1)~(10)每小题2分,(11)-(50)每小题1分,共60分)
  
  下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
  
  (1)在下列选项中,_________不是一个算法一般应该具有的基本特征。
  A)确定性  B)可行性  C)无穷性  D)拥有足够的情报
  答案:C
  评析:一个算法,一般应具有以下几个基本特征。①可行性②确定性③有穷性④拥有足够的情报
  
  (2)希尔排序法属于_________类型的排序法。
  A)交换类排序法  B)插入类排序法
  C)选择类排序法  D)建堆排序法
  答案:B
  评析:希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。所以希尔排序法属于插入类排序,但它对简单插入排序做了很大的改进。
  
  (3)下列关于队列的叙述中正确的是_________。
  A)在队列中只能插入数据   B)在队列中只能删除数据
  C)队列是先进先出的线性表  D)队列是先进后出的线性表
  答案:C
  评析:队列是指允许在一端进行插入、而在另一端进行删除的线性表。它又称为"先进先出"或"后进后出"的线性表,体现了"先来先服务"的原则。
  
  (4)对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为_________。
  A)N+I  B)N  C)(N+I)/2  D)N/2
  答案:B
  评析:在进行顺序查找过程中,如果被查的元素是线性表中的最后一个,或者被查元素根本不在线性表中,则为了查找这个元素需要与线性表中所有元素进行比较,这是顺序查找最坏的情况。
  
  (5)信息隐蔽的概念与下述_________概念直接相关。
  A)软件结构定义  B)模块独立性
  C)模块类型划分  D)模拟耦合度
  答案:B
  评析:信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。衡量软件的模块独立性的度量标准是耦合性和内聚性。一个模块的内聚性越强,则该模块的模块独立性越强。而内聚性是信息隐蔽和局部化概念的自然扩长。
  
  (6)面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是_________。
  A)模拟现实世界中不同事物之间的联系
  B)强调模拟现实世界中的算法而不强调概念
  C)使用现实世界的概念抽象地思考问题从而自然地解决问题
  D)鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考
  答案:C
  评析:面向对象的设计方法基本原理:使用现实世界的概念抽象地思考问题从而自然地解决问题。强调模拟现实世界中的概念而不强调算法,鼓励开发者在软件开发的绝大部分中都用应用领域的概念去思考。
  
  (7)在结构化方法中,软件功能分解属于软件开发中的_________阶段。
  A)详细设计 B)需求分析  C)总体设计  D)编程调试
  答案:C
  评析:总体设计过程通常由两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计,确定软件结构。为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。
  
  (8)软件调试的目的是_________。
  A)发现错误    B)改正错误
  C)改善软件的性能  D)挖掘软件的潜能
  答案:B
  评析:由程序调试的概念可知:程序调试活动由两部分组成,其一是根据错误的迹象确定程序中错误的确切性质、原因和位置。其二,对程序进行修改,排除这个错误。所以程序调试的目的就是诊断和改正程序中的错误。
  
  (9)按条件f对关系R进行选择,其关系代数表达式为_________。
  RooR
  A)RooR  B) f  C)6f(R)  D)兀f(R)
  答案:C
  评析:选择运算是一个一元运算,关系R通过选择运算(并由该运算给出所选择的逻辑条件)后仍为一个关系。这个关系是由R中那些满足逻辑条件的元组所组成。如果关系的逻辑条件为C则R满足f的选择运算可以写成:6f(R)。
  
  (10)数据库的物理设计是为一个给定的逻辑结构选取一个适合应用环境的_______的过程,  包括确定数据库在物理设备上的存储结构和存取方法。
  A)逻辑结构 B)物理结构  C)概念结构  D)层次结构
  答案:B
  评析:根据数据库物理设计的概念可知:为一个给定的逻辑数据模型选取一个最合适应用要求的物理结构的过程,就是数据库的物理设计。数据库的物理结构就是指数据库在物理设备上的存储结构与存取方法。
  
  (11)下列叙述中正确的是_______。
  A)C语言编译时不检查语法
  B)C语言的子程序有过程和函数两种
  C)C语言的函数可以嵌套定义
  D)C语言中,根据函数能否被其它源文件调用,被区分为内部函数和外部函数
  答案:D
  评析:选项A的错误在于编译过程中是检查语法的,若发现源程序有语法错误,则系统会提示出错信息;选项B的错误在于c语言中,子程序的作用是由函数来完成的,无过程的概念;选项c的错误在于函数不可以嵌套定义,但可以嵌套调用。
  
  (12)有以下程序:
  main()
  {
  int a:
  char c=10;
  float f=100.0;double x;
  a=f/=c*=(x=6.5);
  printf("%d%d%3.1f%3.1f\n",a,c,f,x);
  }
  程序运行后的输出结果是_______。
  A)1 65 1 6.5  B)1 65 1.5 6.5  C)l 65 1.0 6.5  D)2 65 1.5 6.5
  答案:B
  评析:本题求解步骤如下:先进行"c*=(x=6.5)"的运算,由于x=6.5,表达式相当于c=c*6.5=10*6.5=65.再进行"f/=65"的运算,相当于f=-f/65=100.0/65,由于f为单精度实型变量,因此f的值约为1.538462.然后进行"a=f"的运算,由于a为整型变量,因此a=1.最后将各个变量的值按照printf中的格式要求输出到屏幕,注意变量f,x按照"%3.1f"格式输出,,即只输出一位小数。
  
  (13)以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子x/(y*z)的C语言表达式是_______。
  A)x/y*z  B)x*(1/(y*z))  C)x/y*1/z  D)x/y/z
  答案:A
  评析:按照自左向右的运算逻辑,选项A是先做x/y,然后再乘以x,显然与题意不符。
  
  (14)若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_______。
  A)-3  B)9  C)-12  D)6
  答案:C
  评析:c语言中对赋值运算的运算顺序是自右向左。本题中,计算a*a之后,a的值依然为3,表达式a*a的值为9;a-=9,a=3-9=-6;a+=-6,a=-6+-6=-12。
  
  (15)以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是_______。
  A)if((a>b)&&(b>C))k=l;else k=0;
  B)if((a>b)‖(b>C))k=l;else k=O;
  C)if(a<=b)k=0;else if(b<=C)k=1;
  D)if(a>b)k=1,else if(b>C)k=l;else k=0;
  答案:A
  评析:"a>b?(b>c?1:0):0"的求解顺序是:先判断a>b是否为真,如果为真,则执行b>c?1:0:如果b>c为真,则(b>c?l:0)的值为1,从而整个表达式返回1,否则整个表达式返回0;如果a<=b,则表达式返回0。因此功能等价的语句应为if((a>b)&&(b>C))k=l;else k=0;。
  
  (16)设x、y、t均为int型变量,则执行语句:x=y=3;t=++x‖++y;后,y的值为_______。
  A)不定值  B)4  C)3  D)1
  答案:C
  评析:e语言中在做逻辑或运算时,自左向右判断各个参加或运算的表达式,一旦运算到某式的值为非零时,表明整个表达式一定为真,余下的语句则不再进行运算。本题中,++x的值为真,则++y并没有进行运算,所以y值不变。
  
  (17)假设a和b为int型变量,则执行以下语句后,b的值为_______。
  a=l:b=10:
  do
  { b-=a: a++:
  } while(b一<0):
  A)9  B)-2  C)-l  D)8
  答案:D
  评析:本题程序第一轮循环后b的值为9,在进行循环条件测试时,先取b的现值9与O比较,然后再将b减l。由于9<0不成立,因此循环结束,这时b的值已变成8,本题正确答案为D。
  
  (18)若执行以下程序时从键盘上输入9,则输出结果是_________。
  main()
  {
  int n:
  scanf("%d:",&n);
  if(n++<10)printf("%d\n",n);
  else printf("%d\n",n--);
  }
  A)ll  B)lO  C)9  D)8
  答案:B
  评析:n++是在语句结束后再加l,因此,if语句中相当于判断的是9<10,当然是执行if语句后面的lorintf语句,而这时,因为if语句被执行,n的值也被加1,所以在打印时,n值为10,而n--是在printf语句执行完毕后再减1的。
  
  (19)有以下程序段
  int k=O:
  while(k=l)k++;
  while循环执行的次数是_________。
  A)无限次      B)有语法错,不能执行
  C)一次也不执行   D)执行1次
  答案:A
  评析:c语言里关系表达式的等于应该是"=="。一个等于号表示赋值,即这里面重复的把1赋给k,自然表达式k=l的值总为1,while后面的表达式恒为真,当然会进入死循环。
  
  (20)有以下程序:
  void sum(int*a)
  {a[O]=a[1];}
  main()
  {
  Int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
  for(i=1;i>O;i--)sum(&aa[i]);
  printf("%d\n",aa[0]);
  )
  程序运行后的输出结果是_________。
  A)4  B)3  C)2   D)1
  答案:D
  评析:c语言规定,实参变量对形参变量的数据传递是




 相关文章  热门文章
计算机等级考试三级网络复习资料总录
05年9月等级考试二级C语言考前上机密卷1
05年9月等级考试二级C语言考前上机密卷2
05年9月等级考试二级C语言考前密卷2(十一)
05年9月等级考试二级C语言考前密卷1(十一)
05年9月等级考试二级C语言考前密卷2(十)
05年9月等级考试二级C语言考前密卷1(十)
05年9月等级考试二级C语言考前密卷2(九)
05年9月等级考试二级C语言考前密卷1(九)
05年9月等级考试二级C语言考前密卷2(八)

 文章评论


认证培训
热门专题       more
相关下载
论坛新帖
博 客