《计算机等级考试二级C语言考前密卷(九)》由会员分享,可在线阅读,更多相关《计算机等级考试二级C语言考前密卷(九)(25页珍藏版)》请在金锄头文库上搜索。
1、计算机等级考试二级计算机等级考试二级 C 语言考前密卷(九)语言考前密卷(九)一、选择题一、选择题(1)根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成A)动态结构和静态结构 B)紧凑结构和非紧凑结构C)线性结构和非线性结构 D)内部结构和外部结构(2)设一棵二叉树中有 3 个叶子结点,有 8 个度为 1 的结点,则该二叉树中总的结点数为A)12 B)13C)14 D)15(3)在下列几种排序方法中,要求内存量最大的是A)插入排序B)选择排序C)快速排序D)归并排序(4)下列叙述中,不属于结构化程序设计方法的主要原则的是A)自顶向下B)由底向上C)模块化D)限制使用 got
2、o 语句(5)下列不属于软件调试技术的是A)强行排错法B)集成测试法C)回溯法D)原因排除法(6)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD 图 B)N-S 图C)结构图 D)数据流图(7)软件复杂性度量的参数包括A)效率B)规模C)完整性D)容错性(8)下列叙述中,不属于数据库系统的是A)数据库B)数据库管理系统C)数据库管理员D)数据库应用系统(9)数据库系统的核心是A)数据库B)数据库管理系统C)数据模型D)软件工具(10)视图设计一般有 3 种设计次序,下列不属于视图设计的是A)自顶向下 B)由外向内C)由内向外 D)自底
3、向上(11)下列常数中不能作为 C 语言常量的是A)0xabcB)2.5e-0.2C)32D)0747(12)设 int 型的数据长度为 2 个字节,则 unsigned int 类型数据的取值范围是A)-127128B)0255C)065535D)032768(13)已知 int t=6,s;则执行语句 s=(+t)+(t+);后,s 的值是A)12B)13C)14D)15(14)已知 int x=6,y=2,z;则执行表达式 z=x=xy 后,变量 z 的值为A)0B)1C)4D)5(15)已知 int i,a;执行语句 i=(a=3,a+,-a,a+4,a+5,+a);后,变量 i 的值
4、为A)2B)3C)4D)5(16)下列说法中正确的是A)一个 C 程序是从命令行开始执行的B)C 程序中有些执行语句不用分号(;)结束C)分号不是 C 语句的一部分,是 C 语句之间的分隔符D)命令行必须用“#”开头,最后不能加“;”号,命令行不是 C 程序中的语句(17)已知 int x=2;执行语句 x*=x+=+x;后,x 的值是A)16B)26C)36D)46(18)已知 int a=20,b=5;则执行以下语句后的输出结果是printf(“%dn“,a%=(b%=2);A)0B)1C)2D)3(19)现有以下程序段#include main() int a,b,c;scanf(“a=
5、%*d%d,b=%d%*d,c=%d“,printf(“a=%d,b=%d,c=%dn“,a,b,c); 若输出的结果为 a=20,b=30,c=40,则以下能够正确输入数据的是A)a=1020,b=2030,c=40B)20,30,40C)a=20,b=30,c=40D)a=1020,b=3020,c=40注: “”表示空格,表示回车(20)已知 int x=5,y=3;则表达式(x|y)a=a30?1:2;b=b30?1:2;c=c30?1:2;printf(“%d,%d,%dn“,a,b,c);则执行结果为A)2,1,2B)1,2,1C)1,1,2D)2,1,1(22)阅读如下程序段#i
6、nclude “stdio.h“main() int a=45,b=40,c=50,d;d=a30?b:c;switch(d) case 30 : printf(“%d,“,a);case 40 : printf(“%d,“,b);case 50 : printf(“%d,“,c);default : printf(“#“);则输出的结果是A)40,50,B)50,#C)40,#D)40,50,#(23)若有定义 int k=10;则下列程序的输出结果为doprintf(“%d“,k-); while(!k);A)9B)10C)10987654321D)没有输出(24)阅读下列程序段,则程序的
7、输出结果是#include “stdio.h“main() int a=10,b=10,k;for(k=0;a8;b=+k)printf(“%d,%d,“,a-,-b);printf(“n“);A)10,10,10,0,B)10,9,9,0,C)10,10,9,1,D)9,9,9,1,(25)下列程序的运行结果是#include “stdio.h“main()int a,b,m;for(a=5;a=1;a-) m=0;for(b=a;b0j-)printf(“%d,“,kj);A)输入 10 个数据的顺序输入并输出B)输入 10 个数据的逆序存放C)输入 10 个数据的逆序输出D)以上叙述均错
8、误(37)阅读程序,则执行后的结果为#include “stdio.h“main()int i,m,n;for(i=0;i0)puts(a);else if(k if(strcmp(ai,q)data.xD)t.data.x(48)若有以下程序段,则选项中值为 2 的是struct aint n,*next;int x=1,y=2,z=3;struct a s3,*p=s;s0.next=s1.next=s2.next=A)*(p+)-nextB)*(+p)-nextC)(*p).nextD)(p+)-next(49)下面程序段的输出为#include “stdio.h“main() int
9、a=8,b;b=a|1;b=1;printf(“%d,%dn“,a,b);A)4,4B)4,0C)8,4D)8,0(50)阅读下面程序,此程序的功能为#include “stdio.h“main(int argc,char *argv) FILE *p1,*p2;int c;p1=fopen(argv1,“r“);p2=fopen(argv2,“a“);c=fseek(p2,0L,2);while(c=fgetc(p1)!=EOF)fputc(c,p2);fclose(p1);fclose(p2);A)实现将 p1 打开的文件中的内容复制到 p2 打开的文件B)实现将 p2 打开的文件中的内容
10、复制到 p1 打开的文件C)实现将 p1 打开的文件中的内容追加到 p2 打开的文件内容之后D)实现将 p2 打开的文件中的内容追加到 p1 打开的文件内容之后二、填空题二、填空题(1)算法的工作量大小和实现算法所需的存储单元多少分别称为算法的 【1】 。【命题目的】本题考查了考生对算法的理解程度。【解题要点】算法的复杂性是指对一个在有限步骤内终止算法和所需存储空间大小的估计。算法的计算量是算法的时间复杂性,算法所需存储空间大小是算法的空间复杂性。【考点链接】算法的各种属性及其相互作用。(2)数据结构包括数据的逻辑结构、数据的 【2】 以及对数据的操作运算。【命题目的】本题考查了数据结构所包括
11、的几个方面。【解题要点】数据结构包括 3 个方面,即数据的逻辑结构、数据的存储结构及对数据的操作运算。【考点链接】数据结构包含的 3 个方面及各方面之间的关系。(3)可以把具有相同属性的一些不同对象归类,称为 【3】 。【命题目的】本题考查了对象的一些基本特征。【解题要点】类描述的是具有相似性质的一组对象;把具有相同属性的一些不同对象归为类,我们称之为对象类。(4)软件工程包括 3 个要素,分别为方法、工具和 【4】 。【命题目的】本题考查软件工程的 3 要素。【解题要点】软件工程包括 3 个要素,即方法、工具和过程。方法是完成软件工程项目的基础上的技术手段;工具支持软件的开发、管理、文档生成
12、;过程支持软件开发的各个环节的控制、管理。【考点链接】软件工程的 3 个要素及各要素的作用。(5)由关系数据库系统支持的完整性约束是指 【5】 和参照完整性。【命题目的】掌握关系的完整性约束。【解题要点】关系的完整性约束指关系的某种约束条件,包括实体完整性、参照完整性和用户定义的完整性。其中,前两种完整性约束由关系数据库系统自动支持。【考点链接】关系的各种性质。(6)表达式 3*7/2+7/2%5 的值为 【6】 。解析: 算术运算符的优先级别依次为(由高到低):*,/,%,+,-。(7)阅读下面的程序,当程序在执行时,如果输入的是A,则输出结果为 【7】 。#include “stdio.h
13、“main()char a;a=getchar();switch(a)case 65: printf(“%c“,A);case 66: printf(“%c“,B);default :printf(“%sn“,“other“);解析: switch 语句中的某一个标号被选中,将依次执行这个语句到 default 语句之间的所有语句。如遇到 break 语句之后就跳出了 switch 语句。(8)以下程序的输出结果是 【8】 。main()char a =“abcdefg“;char b10=“abcdefg“;printf(“%d,%dn“,sizeof(a),sizeof(b);解析: 当维
14、数组省略维数时,系统会按数组实际元数分配内存空间,如规定了一维的大小,则按维数分配内存空间的大小。(9) 阅读下面程序段,则执行后的输出结果为 【9】 。#include “stdio.h“main()int a=1;for(;a=0;n-)m*=n;printf(“%dn“,m);解析: for 语句执行最后时 n 的值为 0,所以 m 的值也为 0。(11)阅读下列程序,则执行后的结果为 【11】 。#include “stdio.h“fun(int x,int y) int z;z=x;x=y;y=z;main()int a,b;a=100;b=640;fun(a,b);printf(“
15、%d,%dn“,a,b);解析: 当传递数据值的时候,在被调用函数内部不能改变调用函数的变量的值。(12)阅读以下程序,使程序输出结果为 30,4.000 000,请填空。#include “stdio.h“main()int a=30,b=40,c;double 【12】 ,s;s=fun(printf(“%d,%lfn“,c,s);double fun(int *a,int *b, 【13】 ) *c=*a%*b;return(4.0); 解析: 函数说明的一般形式为:类型名 函数名(参数类型 1,参数类型 2,)。(13)下面程序段的功能是:从键盘上输入两个字符串,对两个字符串分别排序;
16、然后将它们合并,合并后的字符串按 ASCII 码值从小到大排序,并删去相同的字符。请填空。#include “stdio.h“fun(char *x,char *y,char *z)char t,*p;p=z;while(*x!=0j if(sisj) 【16】 main() char s1100,s2100,s3200;scanf(“%s“,s1);scanf(“%s“,s2);sort(s1);sort(s2);s30=0;fun(s1,s2,s3);printf(“%sn“,s3);解析: 根据题目的要求认真阅读程序,找到各个部分的功能所在,这样就很容易做出答案。(14)下面函数是一个求阶乘的递归调用函数。请填空。int fun(int k)if(k=1) 【17】 ;else re