计算机等级二级C语言模拟试题1(九)

日期:12-29| http://www.59wj.com |C模拟题|人气:471

计算机等级二级C语言模拟试题1(九) 一、选择题(1)~(10)每小题2分,(11)-(50)每小题1分,共60分)

   下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

   (1)算法分析的目的是________。
   A)找出数据结构的合理性   B)找出算法中输入和输出之间的关系
   C)分析算法的易懂性和可靠性 D)分析算法的效率以求改进
   答案:D
   评析:算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数掌级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。

   (2)n个顶点的强连通图的边数至少有________。
   A)n-1  B)n(n-1)  C)n   D)n+l
   答案:C
   评析:在有向图中,若任意两个顶点都连通,则称该图是强连通图,这样的有向图的形状是环状,因而至少应有n条边。

   (3)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是________。
   A)堆排序  B)直接插入排序  C)快速排序 D)直接选择排序
   答案:B
   评析:当数据表A中每个元素距其最终位置不远,说明数据表A按关键字值基本有序,在待排序序列基本有序的情况.下,采用插入排序所用时间最少,故答案为选项B。

   (4)用链表表示线性表的优点是________。
   A)便于插入和删除操作   B)数据元素的物理顺序与逻辑顺序相同
   C)花费的存储空间较顺序存储少 D)便于随机存取
   答案:A
   评析:链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。故链式存储结构下的线性表便于插入和删除操作。

   (5)下列不属于结构化分析的常用工具的是________。
   A)数据流图  B)数据字典  C)判定树  D)PAD图
   答案:D
   评析:结构化分析的常用工具有数据流图、数据字典、判定树和判定表。而PAD图是常见的过程 设计 工具中的图形设计。

   (6)软件开发的结构化生命周期方法将软件生命周期划分成________。
   A)定义、开发、运行维护
   B)设计阶段、编程阶段、测试阶段
   C)总体设计、详细设计、编程调试
   D)需求分析、功能定义、系统设计
   答案:A
   评析:通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。它可以分为软件定义、软件开发及软件运行维护三个阶段。

   (7)在软件工程中,白盒测试法可用于测试程序的内部结构。此方法将程序看做是________。
   A) 循环的集合 B)地址的集合 C)路径的集合 D)目标的集合
   答案:C
   评析:软件的白盒测试方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。

   (8)在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有________。
   A)数据无冗余   B)数据可共享
   C)专门的数据管理软件  D)特定的数据模型
   答案:D
   评析:在文件系统中,相互独立的记录其内部结构的最简单形式是等长同格式记录的集合,易造成存储空间大量浪费,不方便使用。而在数据库系统中,数据是结构化的,这种结构化要求在描述数据时不仅描速数据本身,还要描述数据间的关系,这正是通过采用特定的数据模型来实现的。

   (9)分布式数据库系统不具有的特点是________。
   A)分布式  B)数据冗余
   C)数据分布性和逻辑整体性  D)位置透明性和复制透明性
   答案:B
   评析:分布式数据库系统具有数据分布性、逻辑整体性、位置透明性和复制透明性的特点,其数据也是分布的;但分布式数据库系统中数据经常重复存储,数据也并非必须重复存储,主要视数据的分配模式而定。若分配模式是一对多,即一个片段分配到多个场地存放,则是冗余的数据库,否则是非冗余的数据库。

   (10)下列说法中,不属于数据模型所描述的内容的是________。
   A)数据结构 B)数据操作  C)数据查询  D)数据约束
   答案:C
   评析:数据模型所描述的内容有3个部分,它们是数据结构、数据操作和数据约束。数据操作主要是描述在相应数据结构上的操作类型与操作方式;数据模型中的数据约束主要描述数据结构内数据间的语法、语义联系,它们之间的制约与依存关系,以及数据动态变化的规则,以保证数据的正确、有效与胡容。

   (11)在结构化程序设计中,限制使用goto语句的原因是________。
   A)提高程序的执行效率
   B)提高程序的清晰性和可靠性
   C)便于程序的合成
   D)该语句对任何结构的程序都不适用
   答案:B
   评析:在c语言中,限制使用goto语句,其目的是为了提高程序的清晰性与可靠性,一般来说,除了从多重循环中跳出,一般不使用goto语句。

   (12)以下选项中合法的实型常数是________。
   A)5E2.0  B)E-3  C).2E0  D)1.3E
   答案:C
   评析:以指数形式表示实数时,字母e(或E)之前必须有数字,且e后面指数必须为整数。

   (13)下列叙述中,正确的是________。
   A)C语言中既有逻辑类型也有集合类型
   B)c语言中没有逻辑类型但有集合类型
   B)C语言中有逻辑类型但没有集合类型
   B)C语言中没有逻辑类型也没有集合类型
   答案:B
   评析:在c语言中只提供了整型、浮点型、字符型这几种基本类型,c语言没有提供逻辑类型,在c中一般用整型来表示逻辑类型。在自定义类型中,c提供了struct,enum及union类型,但没有提供集合类型,在pascal中提供了集合类型set。

   (14)已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\10l‘是________。
   A)字符A  B)字符a  C)字符e  D)非法的常量
   答案:A
   评析:八进制101转换为十进制即为65,而字母A的ASCII码是65,所以用八进制表示的字符常量‘\101‘是A。

   (15)设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是________。
   A)6.500000 B)6  C)5.500000  D)6.000000
   答案:D
   评析:各类数值型数据在进行混合运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则为:总是转换为精度更大的数据类型,字符数据转换为整数,short型转为int型,float型数据在运算时转换成双精度型,以提高运算精度。

   (16)以下四个选项中不能看作一条语句的是________。
   A){;}  B)a=0,b:0,c=0; C)if(a>0);  D)if(b==0)m=l;n=2;
   答案:D
   评析:选项A为空语句,选项B是一个由逗号运算符表达式形成的语句,选项c为一个条件语句,选项D有两个分号,是由两个语句构成,不能看成一条语句。

   (17)已知i、j、k为int型变量,若从键盘输入:1,2,3↙,使i的值为l、j的值为2、k的值为3,以下选项中正确的输入语句是________。
   A)scanf("%2d%2d%2 dtt,&i,&j,&k);
   B)scanf("%d %d %d",&i,&j,&k);
   C)scanf("%d,%d,%dfI,&i,&j,&k);
   D)scanf("i=%d,j=%d,k=%d-t,&i,&j,&k);
   答案:C
   评析:如果在"格式控制"字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。
www.59wj.com
   (18)关于goto语句的使用,下面正确的是________。
   A)goto 2;   B)goto g;   C)goto g:;   D)goto 2;
   2:exit(0);  g:exit(O);  g:exit(O);  2 exit(0);
   答案:B
   评析:在c中,goto语句后面的标号的命名规则与c语言中标识符的命名规则相同,在goto语句后面的标号后不要加":"号,在某一行上添加标号时,在标号的后面要添加":"号。

   (19)若有以下程序:
   main()
   {int k=2,i=2,m;
   m=(k+=I*=k);
   printf("%d,%d、n",m,i);
   }
   执行后的输出结果是__________。
   A)8,6  B)8,3  C)6,4  D) 7,4
   答案:C
   评析:在赋值符"="之前加上其它运算符,可以构成复合的运算符。此运算为右结合性,即从右往左计算。I*=k即i=i*k=2*2=4,k=k+i=2+4=6,然后将k的值赋给m。

   (20)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
   #define N 10
   void arrin(int x[N])
   { int i=0;
   while(i<N)scanf("%d",_________);
   }
   在下划线处应填入的是_________。
   A)x+i  B)&x[i+l]  C)x+(i++)  D)&x[++I]
   答案:C
   评析:在c中,对于一维数组而言,数组变量表示数组中首元素的的地址。当用scanf函数向数组x的第i个元素中输入整型数据时,只要执行scanf("%d"x+i):由于要循环输入数组中和各个元素,必须要使其地址值不断自增。故本题答案为c。

   (21)已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-l&&y+z/2的值是_________。
   A)6  B)0  C)2  D)1
   答案:D
   评析:在本题中,运算符的优先级分别为:!>/>+,->&&即:!(3+4)+5-1&&4+5/2=0+5-1&&4+2=4&&6=l。

   (22)以下选项中,与k=11++完全等价的表达式是__________。
   A)k=n,n=n+1  B)n=n+1,l(=n  C)l(=什n  D)k+--n+1
   答案:A
   评析:n++是自增运算,是先使用,然后再使n加1,分开来写即为:k=n,n=n+l。

   (23)以下程序运行后,输出结果为__________。
   main()
   {
   int y=18,i=0J,a;
   do
   {a[I]=y%2;i++;y。y/2;
   }while(y>。1);
   for(j=i一1 0>=00一)
   printf("%d"a[j]);
   printf("\n");
   }
   A)10000  B)10010  C)00l 10  D)10100
   答案:B
   评析:分析程序不难得知该程序的功能实际上就是采用除余取整法实现将10进制数据转换成二进制数。对于10进制数18,其转化为二进制数后,结果为10010。

   (24)以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:
   main()
   {int n,k;
   float score,sum,ave;
   sum=0.0;
   for(n=1;n<=10;n++)
   {for(k=l;k<=4;k++)
   {seal3f("%f",&score);
   sum+=score;
   }
   ave=sum/4.0;
   printf("NO%d:%f“n",n,ave);
   }
   }
   上述程序运行后结果不正确,调试中发现有一条语句出现在程序的位置不正确。这条  语句是________。
   A)sum=O.O;   B)sum+=score;
   C)ave=sum/4.0;  D)printf("NO%d:%fua",n,ave);
   答案:A
   评析:题目中要求每位学生的平均分数,首先要求每位学生的总分,也就是程序中的Sum,所以sum应在第一个for循环体内赋初值,如果在循环体外赋初值就会得到所有学生的分数总和,不合题意。

   (25)下面程序执行后的输出结果是__________。
   main()
   {
   charx=Oxddff;
   printf("%d\n",x);
   }
   A)-35  B)-1  C)255  D)-8705
   答案:B
   评析:由于程序中对字符变量x赋值为0xddff,而字符型变量只占一个字节,故实际存入c单元的为该16进制的低字节部分,即ff。对该数按整型格式输出,其结果为-1。

   (26)有以下程序
   main()
   { int a=15,b=21,m=O;
   switch(a%3)
   { case O:m++;break;
   case l:m++:
   switch(b%2)
   { default:m++;
   case O:m++;break;
   }
   }
   printf("%d\n",m);
   }
   程序运行后的输出结果是_________。
   A)l  B)2  C)3  D)4
   答案:A
   评析:因为a%3是个常数,所以只执行一次就跳出switch结构。即只执行m++,此时m为1。

   (27)若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是_________。
   A)p=q;  B)*p=*q;  C)n=*q;  D)p*n;
   答案:D
   评析:指针变量不同于整型变量和其它类型的变量,它是用来存放地址(指针)的,不能将一个整型量(或任何其它非地址类型的数据)赋给一个指针变量,这样的赋值是不合法的。 www.59wj.com 如果觉得《计算机等级二级C语言模拟试题1(九)》C模拟题,jsj不错,可以推荐给好友哦。

本文Tags: 计算机等级考试 - 模拟试题 - 计算机二级模拟试题 - C模拟题,jsj,
在百度中搜索相关文章:计算机等级二级C语言模拟试题1(九)
在谷歌中搜索相关文章:计算机等级二级C语言模拟试题1(九)
在soso中搜索相关文章:计算机等级二级C语言模拟试题1(九)
在搜狗中搜索相关文章:计算机等级二级C语言模拟试题1(九)
相关分类导航|
热门推荐|