您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> C语言 >> 模拟题 >> 正文    
  06年4月全国计算机等级考试二级C语言考前密卷3 【注册男护士专用博客】          

06年4月全国计算机等级考试二级C语言考前密卷3

www.nanhushi.com     佚名   不详 

二、填空题(每空2分,共40分)  
请将每一个空的正确答案写在答题卡的【1】至【20】序号的横线上,答在试卷上不得  分。  
(1)算法的复杂度主要包括时间复杂度和 【1】 复杂度。  
  答案:【1】空间  
  评析:习惯上常常把语句重复执行的次数作为算法运行时间的相对量度,称作算法的时间复杂度。算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。     
(2)数据的物理结构在计算机存储空间中的存放形式称为数据的 【2】 。  
  答案:【2】内模式或物理模式或存储模式  
  评析:一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据库内部的表示方法。例如,记录的存储方式是顺序存储、索引按照什么方式组织;数据是否压缩存储,是否加密等。  
    
(3)若按功能划分,软件测试的方法通常分为 【3】 测试方法和黑盒测试方法。  
  答案:【3】白盒  
  评析:软件测试的方法有三种:动态测试、静态测试和正确性证明。设计测试实例的方法一般有两类:黑盒测试方法和自盒测试方法。  
    
(4)数据库三级模式体系结构的划分,有利于保持数据库的 【4】 。  
  答案:【4】数据独立性  
  评析:数据库的三级模式体系结构把数据的组织管理工作进行了划分,把数据的具体组织留给dbms管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式,保证了数据的独立性。  
    
(5)在关系运算中,查找满足一定条件的元组的运算称之为 【5】 。  
  答案:【5】选择  
  评析:在关系数据库中,选择运算也是一个元运算,关系r通过选择运算(并由该运算给出所选择的逻辑条件)后仍为一个关系。这个关系是由r中的那些满足逻辑条件的元组所组成。  
    
(6)在c语言中(以16位pc机为例),一个float型数据在内存中所占的字节数为4;一个double型数据在内存中所占的字节数为 【6】 。  
  答案:【6】8  
  评析:在一般16位pc机中,一个float型数据在内存中占4个字节(32位),一个double型数据占8个字节。  
    
(7)设有以下变量定义,并已赋确定的值,  
  char w;int x;float y;double z;  
  则表达式:w*x+z-y所求得的数据类型为 【7】 。  
  答案:【7】double型或双精度型  
  评析:①先进行w*x的运算,先将字符型w转换成整型,运算结果为整型;②再将w*x的结果与z相加,要先将第一步的整型转换为double型,运算结果为double型;③最后将w*x+z的结果与y相减,要先将float型y转换成double型,结果为double型。  
    
(8)若运行时给变量x输入12,则以下程序的运行结果是 【8】 ;  
  main(){  
  int,y;  
  scanf(""%d"",&x);  
  y=x>12?x+lo:x-12;  
  printf(""%d\n"",y);  
  }  
  答案:【8】0  
  评析:三目运算符的形式为(表达式1)7(表达式2):(表达式3)。当(表达式1)值为真时,返回(表达式2)的值;为假时,返回(表达式3)的值。题中因为x>t2为假,所以结果为x-12,即为0。  


    
(9)四条语句:x++;、++x;、x=x+l;、x=l+x;,执行后都使变量x中的值增l,请写出一条同一功能的赋值语句(不得与列举的相同) 【9】 。  
  答案:【9】x+=1:  
  评析:题面中的四条语句的作用是使x的值加1,在c中有多种方法可以对变量进行加1操作,这里可以利用c的复合赋值运算符+=实现,本题答案为x+=1:。  
    
(10)设有以下定义和语句,则*(*(p+2)+1)的值为 【10】 。  
  int[3][2]={10,20,30,40,50,60},(*p)[2];  
  p=a;  
  答案:【10】60  
  评析:本题定义了一个3行2列的二维数组a,并定义了一个指向两个元素的一维数组指针p,让p指向二维数组a的首行。*(*(p+2)+1)是引用a[2][1],其值是60。  
    
(11)若要使指针p指向一个double类型的动态存储单元,请填空。  
  p= 【11】 malloc(sizeof(double));  
  答案:【11】(double*)  
  评析:函数malloc返回的是void*,所以若要使指针指向一个double类型,则必须进行类型转换,类型转换格式为:(数据类型*)。  
    
(12)下面程序的功能:输出100以内能被3整除且个位数为6的所有整数,请补充完整。  
  main().  
  { int ij;  
  for(i=o; 【12】 ;i++)  
  { j=i*10+6;  
  if( 【13】 )continue;  
  printf("%d",j);  
  }  
  }  
  答案:【12】i<lo 
【13】j%3!=0  
  评析:本题要求输出100以内能被3整除且个位数为6的所有整数,程序中j=i*10+6;语句是求个位数为6的整数,由此可得出程序的循环次数为i<lo。然后通过if语句判断整数是否能被3整除,若不能则继续下一次循环,若能则输出该整数,所以逻辑表达式为i%3 1=00  
    
(13)函数mycmp(char*s,char。t)的功能是比较字符串s和t的大小,当s等于t时返回0,  
  当s>t返回正值,当s<t时返回负值。请填空。  
  mycmp(char*s,char*t)  
  { while(*s==*t)  
  { if(*s==’\0’)return 0;  
  ++s;++t;  
  }  
  return( 【14】 );  
  }  
  答案:【14】*s-*t或-*t+*s  
  评析:函数的两个形参是两个字符指针变量,字符串的首地址是指针变量的值,*s和*t表示字符串数组s和t的第一个字符,在while循环中,是通过s和t值的不断变化来改变指针所指向的字符,要改变s和t所指不同字符的ascii码的差值,必须使用"*s-*t"得出。  
    
(14)以下程序运行后的输出结果是 【15】 。  
  void fun(、)  
  {  
  static int a=0:  
  a+=2;printf("%d",a);  
  }  
  main()  
  { int cc;  
  for(cc=1;cc<4;cc++)fun();  
  printf("\n");  
  }  
  答案:【15】2 4 6  
  评析:static声明的外部变量只限于被本文件引用,而不能被其他文件引用。用static来声明一个变量的作用有:①对局部变量用static声明,则为该变量分配的空间在整个程序执行期间始终存在;②全部变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。  
    
(15)下列程序的运行结果是 【16】 。  
  main()  
  { union example  
  { struct  
  {int x;int y;}in;  
  int a;  
  int b:  
  }e;  
  e.a=1;e.b=2;  
  e.in.x=e.a*e.b;  
  e.in.y=e.a+e.b;  
  printf("%d,%d\n",e.in.x,e.in.y);  
  }  
  答案:【16】4,8  
  评析:c语言规定,共用体中各个成员变量在内存中占用同一段内存单元,即e.in.x和e.a、e.b占用同一段内存单元,由于e.in.x和e.a、e.b占用的是同一段内存单元,所以程序最后的打印结果为"4,8"。  
    


(16)在对文件进行操作的过程中,若要求文件的位置回到文件的开头,应当调用的函数  是 【17】 函数。  
  答案:【17】[nnlrewind或fseek  
  评析:在对文件进行操作的过程中,若要求文件的位置回到文件的开头,可以调用rewind或fseek函数。其中rewind函数的作用是将位置指针重新返回文件的开头,而fseek函数可以实现文件指针的定位。  
    
(17)以下函数用于求出一个2×4矩阵中的最大元素值。  
  max_value(arr)  
  int arr[][4];  
  {  
  int i,j,max;  
  max=alt[0][0];  
  for(i=0;i<2;i++)  
  for(j=0; 【18】 ;j++)  
  if( 【19】 >max)max=[2q];  
  return(max);  
  }  
  答案:【18】j<4  
  【19】arr[i][j]  
  【20】arr[i][j]  
  评析:2*4矩阵实际上就是一个二维数组,结合本题应为arr[2][4],所以在第一个循环中应当填写"4";第二个横线处是要判断当前的数组元素值是否大于max,所以应填写arr[i][j];第三个横线处是要将当前大于max的数组元素的值赋给变量max,所以应当填写"arr[i][il"。 

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目