[计算机类试卷]国家二级(C语言)笔试模拟试卷43及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷43及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷43及答案与解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 43及答案与解析 1 循环链表的主要优点是 ( A)不再需要头指针了 ( B)从表中任一结点出发都能访问到整个链表 ( C)在进行插入、删除运算时,能更好的保证链表不断开 ( D)已知某个结点的位置后,能够容易的找到它的直接前件 2 栈底至栈顶依次存放元素 A、 B、 C、 D,在第五个元素 E入栈前,栈中元素可以出栈,则出栈序列可能是 ( A) ABCED ( B) DCBEA ( C) DBCEA ( D) CDABE 3 对长度为 n的线性表进行顺序查找,在最坏情况下所需要的比较 次数为 ( A) log2n ( B) n/2 ( C) n ( D) n
2、+1 4 在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率。与程序的效率相比,人们更重视程序的 ( A)安全性 ( B)一致性 ( C)可理解性 ( D)合理性 5 模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的 ( A)抽象和信息隐蔽 ( B)局部化和封装化 ( C)内聚性和耦合性 ( D)激活机制和控制方法 6 软件开发的结构化生命周期方法将软件生命周期划分成 ( A)定义、开发、运行维护 ( B)设计阶段、编程阶段、测试阶段 ( C)总体设计、详细设计、编程调试 ( D)需求分析、功能定义、系统设计 7 在软件工程中,白箱测试法可用于测试程序的内部结构。
3、此方法将程序看做是 ( A)路径的集合 ( B)循环的集合 ( C)目标的集合 ( D)地址的集合 8 在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有 ( A)特定的数据模型 ( B)数据无冗余 ( C)数据可共享 ( D)专门的数据管理软件 9 数据库设计包括两个方面的设计内容,它们是 ( A)概念设计和 逻辑设计 ( B)模式设计和内模式设计 ( C)内模式设计和物理设计 ( D)结构特性设计和行为特性设计 10 实体是信息世界中广泛使用的一个术语,它用于表示 ( A)有生命的事物 ( B)无生命的事物 ( C)实际存在的事物 ( D)一切事物 11 能将高级语言
4、程序转换成目标语言程序的是 _。 ( A)调试程序 ( B)解释程序 ( C)编译程序 ( D)编辑程序 12 _是构成 C语言程序的基本单位。 ( A)函数 ( B)过程 ( C)子程序 ( D)子例程 13 可以 在 C语言中用做用户标识符的是 _。 ( A) void define WORD ( B) as_b3 _123 If ( C) for -abc cas ( D) 2c Do SIG 14 若有以下类型说明语句: char w;int x;flooat y,z; 则表达式 w*x+z-y的结果为_类型。 ( A) float ( B) char ( C) int ( D) do
5、uble 15 main() float x=123.456; printf(“%-5.2fn“,x); 以上程序输出的结果是_。 ( A) 123.4 ( B) 123.5 ( C) 123.45 ( D) 123.46 16 下面语句的输出结果,是 _。 printh(“%dn“,strlen(“t“065xffn“); ( A) 14 ( B) 8 ( C) 5 ( D)输出项不合法,无正常输出 17 下列程序的输出结果,是 _。 main() int a=0,b=0,c=0; if(+a0|+b 0)+c; printf(“na=%d,b=%d,c=%d“,a,b,c); ( A) a
6、=0,b=0,c=0 ( B) a=1,b=1,c=1 ( C) a=1,b=0,c=1 ( D) a=0,b=1,c=1 18 下列程序的输出结果是 _。 main() int i; for(i=1;i+1;i+) if(i 4)printf(“%d“,i+);break; printf(“%d“,i+); ( A) 55 ( B) 56 ( C)程序错误,没有输出 ( D)循环条件永远为真,死循环 19 下列程序的输出结果是 _。 #define A 100 main() int i=0,sun=0; do if(i=(i/2)*2)continue; sum+i; while(+i A)
7、 ; printf(“%dn“,sun); ( A) 2500 ( B) 2050 ( C) 4 ( D) 0 20 下列程序的输出结果是 _。 main() int i=3; switch(i) case 1: case 2:printf(“%d“,i); case 3: case 4:break; default:printh(“OK“; ( A) 0 ( B) 3 ( C) OK ( D)没有任何输 出 21 设 x, y和 z都是 int型变量,且 x=3, y=4, z=5,则下面表达式中,值为 0的表达式是 ( A) x p= scanf(“%c, p=(char*)malloc(
8、1) scanf(“%c“,p); ( C) char *p *p=getchar( ); ( D) char *p,ch; p= *p=getchar( ); 23 下列函数的运行结果是 main ( ) int i=2,p; int j,k; j=i; k=+i; p=f(j,k); printf(“%d“,p); int f(int a, int b) int c; if(a b)c=1; else if(a=b)c=0; else c=-1; return(c); ( A) -1 ( B) 1 ( C) 2 ( D)编译出错,无法运行 24 现有格式化输入语句, scanf( “x=%
9、d ,sum y=%d,line z=%dL“,i M; i+) for(j=0;j N; j+) aij=i+j-(i-j); fun(a); ( A) 3 ( B) 4 ( C) 5 ( D) 6 35 若有说明: int a34=0;则下面正确的叙述是 ( A)只有元素 a00可得到初值 0 ( B)此说明语句不正确 ( C)数组 a中各元素都可得到初值,但其值不一定为 0 ( D)数组 a中每个元素均可得到初值 0 36 对以下说明语句的正确理解是 int a10=6, 7, 8, 9, 10; ( A)将 5个初值依次赋给 a1至 a5 ( B)将 5个初值依次赋给 a0至 a4 (
10、 C)将 5个初值依次赋给 a6至 a10 ( D)因为数组长度与初值的个数不相同,所以此语句不正确 37 设 p1和 p2是指向一个 int型一维数组的指针变量, k为 int型变量,则不能正确执行的语句是 ( A) k=*p1+*p2 ( B) p2=k; ( C) p1=p2; ( D) k=*p1*(*p2); 38 以下程序有错,错误原因是 main() int*p, i; char*q, ch; p= ( A)求字符串的长度 ( B)比较两个字符串的大小 ( C)将字符串 str1复制到字符串 str2中 ( D)将字符串 str1接续到字符串 str2中 48 已知各变量的类型说
11、明如下: int k, a, b; unsigned long w=5; double x=1.42; 则以下不符合 C语言语法的表达式是 ( A) x%(-3) ( B) w+=-2 ( C) k=(a=2, b=3, a+b) ( D) a+=a-=(b=4)*(a=3) 49 以下叙述中正确的是 ( A)预处理命令行必须位于源文件的开头脑 ( B)在源文件的一行上可以多条预处理命令 ( C)宏名必须用大写字母表示 ( D)宏替换不占用程序的运行时间 50 设有 如下定义: struct sk int n; float x; data, *p; 若要使 p指向data中的 n域,正确的赋值
12、语句是 ( A) p=&data.n; ( B) *p=data.n; ( C) p=(struct sk*)&data.n; ( D) p=(struct sk*)data.n: 51 在树形结构中,树根结点没有【 】。 52 Jackson结构化程序设计方法是英国的 M.Jackson提出的,它是一种面向【 】的设计方法。 53 面向对象的模型 中,最基本的概念是对象和【 】。 54 软件设计模块化的目的是【 】。 55 数据模型按不同应用层次分成 3种类型,它们是概念数据模型、【 】和物理数据模型。 56 以下程序的输出结果是【 】。 main() int i=010, j=10; pr
13、intf(“%d, %dn“, i, j); 57 若从键盘输入 58,则以下程序输出的结果是【 】。 main() int a; scanf(“%d“, &a); if(a 50)printf(“%d“, a); if(a 40)printf(“%d“, a); if(a 30)printf(“%d“, a); 58 现有如下定义: struct aaint a; float b; char c; *p;现需用 malloc函数动态的申请一个 struct aa类型大小的空间 (由 p指向 ),则定义的语句为:【 】。 59 下列程序的输出结果是 16.00,请填空。 main() int
14、a=9, b=2; float x=【 】, y=1, 1, z; z=a/2+b*x/y+1/2; printf(“%5.2fn“, z); 60 下面程序的功能是:计算 1 10之间的奇数之和与偶数之和,请填空。 #include stdio.h main() int a, b, c, i; a c 0; for(i 0; i 10; i+ 2) a+=i; 【 】; c+=b; printf(“偶数之和 =%dn“, a); printf(“奇数之和 =%dn“, c-11); 61 下面程序的运行结果是【 】。 #include stdio.h #define SIZE 12 main
15、() char sSIZE; int i; for(i=0; i SIZE; i+) si=A+i+321; sub(s, 7, SIZE-1); for(i=0; i SIZE; i+) printf(“%c“, si); printf(“n“); sub(char*a, int tl, int t2) char ch; while(t1 t2) ch=*(a+t1); *(a+t1)=*(a+t2); *(a+t2)=ch; t1+; t2-; 62 以下程序运行结果是【 】。 #include stdio.h long func(int x) long p; if(x=0x=1)retu
16、rn(2); p=x*func(x-1); return(p); main() printf(“%dn“,func(4); 63 下面函数的功能是将一个字符串的内容颠倒过来,请填空。 void fun(char str) int i, j, k; for(i=0, j=【 】; i j; i+, j-) k=stri; stri=strj; strj=k; 64 阅读下面程序,则程序的执行结果为【 】。 #include“stdio.h“ fun(int k, int*p) int a, b; if(k=1k=2) *p=1; else fun(k-1, &a); fun(k-2, &b);
17、*p=a+b; main() int x; fun(6, &x); printf(“%dn“, x); 65 设有定义 “structint a; float b; char c; abc, *p_abc=&abc; ”,则对结构体成员 a的引用方法可以是 abc.a和 p_abc 【 】 a。 66 以下程序是求矩阵 a, b的和,结果存入矩阵 c中,并按矩阵形式输出,请填空。 #include stdio.h main() int a34=13, -2, 7, 5, 1, 0, 4, -3, 6, 8, 0, 2; int b34=-2, 0, 1, 4, 5, -1, 7, 6, 6,
18、8, 0, 2; int i, j, c34; for(i=0; i 3; i+) for(j=0; j 4; j+) cij=【 】; for(i=0; i 3; i+) for(j=0; j 4; j+) printf(“%3d“, cij); printf(“n“); 67 下面程序是指从终端读入的 20个字符放入字符数组中,然后利用指针变量输出上述字符串,请填空。 #include stdio.h main() int i; char s21, *p; for(i=0; i 20; i+) si=getchar(); si=【 】; p=【 】; while(*p)putchar(*p
19、+); 68 以下涵数 rotate的功能是:将 a所指 N行 N列的二维数组中的最后一行放到 b所指二维数组的第 0列中,把 a所指 二维数组中的第 0行放到 b所指二维数组的最后一列中, b所指二维数组中其他数据不变。 #define N 4 void rotade(int aN, int bN) int i, j; for(i=0; i N; i+) biN-1=【 】;【 】 =aN-1i; 国家二级( C语言)笔试模拟试卷 43答案与解析 1 【正确答案】 B 【试题解析】 循环链表就是将单向链表中最后一个结点的指针指向头结点,使整个链表构成一个环形,这样的结构使得从表中的任一结点出
20、发都能访问到整个链表。 2 【正确答案】 B 【试题解析】 栈操作原则上 “后进先出 ”,栈底至栈顶依次存放元素 A、 B、 C、D,则表明这 4个元素中 D是最后进栈, B、 C处于中间, A最早进栈。所以出栈时一定是先出 D,再出 C,最后出 A。 3 【正确答案】 C 【试题解析】 对于长度为 n的有序线性表,在最坏情况下,二分查找只需要比较log2n次,而顺序查找需要比较 n次。 4 【正确答案】 C 【试题解析】 结构化程序设计方法设计出的程序具有 明显的优点。其一,程序易于理解、使用和维护;其二,提交了编程工作的效率,降低了软件开发成本。其中,人们更重视前者。 5 【正确答案】 C
21、 【试题解析】 模块的独立程序是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。 6 【正确答案】 A 【试题解析】 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。它可以分为软件定义、软件开发及软件运行维护 3个阶段。 7 【正确答案】 A 【试题解析】 软件的白盒测试方法是把测 试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。 8 【正确答案】 A 【试题解析】 在文件系统中,相互独立的记录其内部结构的最简单形式是等长同格式记录的集合,易造成存储空间大
22、量浪费,不方便使用。而在数据库系统中,数据是结构化的,这种结构化要求在描述数据时不仅描述数据本身,还要描述数据间的关系,这正是通过采用特定的数据模型来实现的。 9 【正确答案】 A 【试题解析】 数据库设计包括数据库概念设计和数据库逻辑设计两 个方面的设计内容。 10 【正确答案】 C 【试题解析】 实体是客观存在且可以相互区别的事物。实体可以是具体的对象,如一个学生,也可以是一个抽象的事件,如一次出门旅游等。因此,实体既可以是有生命的事物,也可以是无生命的事物,但它必须是客观存在的,而且可以相互区别。 11 【正确答案】 C 【试题解析】 用高级语言编写的程序称为 “源程序 ”,而计算机只能
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 43 答案 解析 DOC
