[计算机类试卷]国家二级(C语言)笔试模拟试卷103及答案与解析.doc

上传人:inwarn120 文档编号:503264 上传时间:2018-11-29 格式:DOC 页数:32 大小:83.50KB
下载 相关 举报
[计算机类试卷]国家二级(C语言)笔试模拟试卷103及答案与解析.doc_第1页
第1页 / 共32页
[计算机类试卷]国家二级(C语言)笔试模拟试卷103及答案与解析.doc_第2页
第2页 / 共32页
[计算机类试卷]国家二级(C语言)笔试模拟试卷103及答案与解析.doc_第3页
第3页 / 共32页
[计算机类试卷]国家二级(C语言)笔试模拟试卷103及答案与解析.doc_第4页
第4页 / 共32页
[计算机类试卷]国家二级(C语言)笔试模拟试卷103及答案与解析.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、国家二级( C语言)笔试模拟试卷 103及答案与解析 1 算法的时间复杂度是指 ( )。 ( A)执行算法程序所需要的时间 ( B)算法程序的长度 ( C)算法程序中的指令条数 ( D)算法执行过程中所需要的基本运算次数 2 设栈 S的初始状态为空。元素 a、 b、 c、 d、 e、 f依次通过栈 S,若出栈的顺序为b、 d、 c、 f、 e、 a,则栈 S的容量至少应该为 ( )。 ( A) 3 ( B) 4 ( C) 5 ( D) 6 3 在最坏情况下,下列排序方法中时间复杂度最小的是 ( )。 ( A)冒泡排序 ( B)快速排序 ( C)插入排序 ( D)堆排序 4 下列叙述中正确的是

2、( )。 ( A)在模块化程序设计中,一个模块应尽量多的包括与其他模块联系的信息 ( B)在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节 ( C)在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则 ( D)在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法 5 下列叙述中正确的是 ( )。 ( A)程序执行的效率与数据的存储结构密切相关 ( B)程序执行的效率只取决于程序的控制结构 ( C)程序 执行的效率只取决于所处理的数据量 ( D)以上三种说法都不对 6 下面不属于软件工程 3个要素的是 ( )。 ( A)工具 ( B)过程 ( C)方法 (

3、 D)环境 7 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是 ( )。 ( A)控制流 ( B)加工 ( C)数据存储 ( D)源和潭 8 下述关于数据库系统的叙述中正确的是 ( )。 ( A)数据库系统减少了数据冗余 ( B)数据库系统避免了一切冗余 ( C)数据库系统中数 据的一致性是指数据类型一致 ( D)数据库系统比文件系统能管理更多的数据 9 用树形结构来表示实体之间联系的模型称为 ( )。 ( A)关系模型 ( B)层次模型 ( C)网状模型 ( D)数据模型 10 下列叙述中正确的是 ( )。 ( A)实体集

4、之间一对一的联系实际上就是一一对应的关系 ( B)关系模型只能处理实体集之间一对一的联系 ( C)关系模型属于格式化模型 ( D)以上三种说法都不对 11 下列选项中不属于 C语言的数据类型是 ( )。 ( A)复数型 ( B)逻辑型 ( C)双精度型 ( D)集合型 12 以下合法的 C语言赋值语句是 ( )。 ( A) a=b=58 ( B) k=int(a-b): ( C) a=58, b=20 ( D) +i; 13 能正确表示逻辑关系 “a =10或 a =0”的 C语言表达式是 ( )。 ( A) a =10ora=10 ( B) a =0|a =10 ( C) a =10则以下对

5、 x数组元素的正确引用形式是 ( )。 ( A) x+2 ( B) break; ( C) switch a case c1:y=a-b; break; case c2:x=a*d; break; default:x=a+b; ( D) switch(a-b) default:y=a*b; break; case 3:case 4:x=a+b; break; case 10: case 11: y=ab; break; 27 设 int i=10, j=11, k=12, x=0;执行语句: if(i 5) if(j 100) if(k 11) X=3; else x=4; else x=5;

6、 后 x的值是 ( )。 ( A) 0 ( B) 3 ( C) 4 ( D) 5 28 执行以下程序后 i的值为 ( )。 main() int x, i; for(i=l, x=1; i =36;i+) if(x =20) break; if(x%5=1) x+=5; continue; x-=5; ) printf(“%d“, i); ( A) 3 ( B) 4 ( C) 5 ( D) 6 29 关于语句 “for(表达式 1;表达式 2;表达式 3)”,下面说法中错误的是 ( )。 ( A) for语句中的三个表达式不可以同时省略 ( B) for语句可以用于循环次数不确定的情况 ( C

7、) for语句中表达式 2可以是关系表达式或逻 辑表达式 ( D) for语句中表达式 1和表达式 3可以是逗号表达式 30 已知函数定义如下,函数 abed的功能是 ( )。 abcd(char *s1, char *s2) while(*s2+=*s1+); ( A)串复制 ( B)求串长 ( C)串比较 ( D)串反向 31 下列程序的输出结果是 ( )。 struct abc int a, b, C; ); main() struct abc s2=1, 2, 3, 4, 5, 6; int t; t=S0 a+S1 b; printf(“%dn“, t); ( A) 3 ( B) 4

8、 ( C) 5 ( D) 6 32 若二维数组 a有 m列,且设 a00位于数组的第一个位置上,则计算任一元素aij刚在数组中的位置的式子为 ( )。 ( A) i*m+j ( B) j*m+i ( C) i*m+j-1 ( D) i*m+j+l 33 下面程序的输出结果是 ( )。 main() int i=1, p; p=f(i, +i); 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) 0 ( C) 1 ( D) 2

9、34 以下程序的输出结果是 ( )。 #inClude stdio.h main() int a, b,d=241; a=d/100%9; b=(-1) ( B) aa是指针变量,它指向含有两个数组元素的字符型一维数组 ( C) aa数组的两个元素分别存放的是含有 4个字符的一维字符数组的首地址 ( D) aa数组的两个元素中各自存放了字符 a和 A的地址 39 关于下面的程序,正确的说法是 ( )。 int a, i=1; while(i =0) scanf(“%d“, k LEN;k+) ak=k; fun2() int k; for(k=0;k LEN;k+) printf(“%d“,*

10、(a+k); 62 以下程序的输出结果是 _。 int fun(int*x,int*y) static int m=4; m=*X+*y; *x-=m; *y+=m; return m; main() int a=2,b=6,n; n=fun(printf(“%d,“,n); n=fun( printf(“%dn“,n); 63 想通过以下输入语句给 x赋值 2,给 y赋值 3,则输入数据的形式应该是_。 int x,y; scanf(“x=%d,y=%d“,a=b; b=temp;x=a/b; printf(“x=%dn“,x); 65 下列程序的功能是把从终端读入的文本 (用 作为文本结束

11、标志 )输出到一个名为 bi.dat的新文件中。请填空。 #include “stdio h“ FILE *fp; char ch; if(fp=fopen(“bi.dat“,“w“)=NULL)exit(0); while(_)fputc(ch,fp); _; 66 fun1函数的功能是将 3个整数按由大到小的顺序调整后依次放 入 a、 b、 c3个变量中, a中放最大数, fun2函数的功能是交换两个变量中的值。补足所缺语句。 fun2(int*x,int*y) int t; t=*x; *x=*y; *y=t; fun1(int*p1,int*p2,int*p3) if(*p3 *p2)

12、 fun2(*P2,*p3); if(*p1 *p3) fun2(_); if(*p1 *p2) fun2(_); main() int a,b,c; scanf(“%d%d%d“,i_;i+) z=_; returnz; 国家二级( C语言)笔试模拟试卷 103答案与解析 1 【正确答案】 D 【试题解析】 算法的时间复杂度实际上就是执行算法程序所需要的计算工作量,也就是算法执行过程中所需要的基本运算次数,与编写算法程序所使用的程序设计语言、执行算法程序时所使用的计算工具以及程序员的水平无关。 2 【正确答案】 A 【试题解析】 根据条件,可做如下操作: a、 b进栈,栈中有 a和 b两个元

13、素; b出栈, c、 d进栈,栈中有 a、 c、 d这 3个元素; d、 c出栈, e、 f进栈,栈中 有 a、 e、 f这 3个元素; 元素 f、 e、 a出栈,栈为空。由此可见,进栈顺序为 a、 b、 c、 d、 e、 f,出栈顺序为 b、 d、 c、 f、 e、 a,满足题目要求。每次进栈操作后,栈中最多有 3个元素,所以,为了顺利完成这些操作,栈的容量应至少为 3。 3 【正确答案】 D 【试题解析】 在最坏情况下:冒泡排序需要的比较次数为 n(n-1)/2;快速排序需要的比较次数也为 n(n-1)/2;插入排序需要的比较次数也为 n(n-1)/2;堆排序需要比较的次数为 O(nlog

14、2n)。可知,在最坏情况下,堆排序的时间复杂度最小,本题的正 确答案为选项 D。 4 【正确答案】 C 【试题解析】 模块化设计要求分解大程序,使每个模块都能易于理解,各模块的功能尽量单一,各模块之间的联系尽量少,选项 A错误:在自顶向下、逐步细化的设计过程中,是按照先全局后局部、先整体后细节、先抽象后具体的方法设计程序,选项 B错误;在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则,所以,在程序设计过程中,结构化程序设计方法与模块化程序设计方法是要同时采用的,选项 D错误。 5 【正确答案】 A 【试题解析】 程序执行的实际计算工作量不仅与程 序的控制结构有一定的关系,与处理的数

15、据量有关,而且还与数据的存储结构密切相关。所以,选项 A正确,选项 B和选项 C错误。 6 【正确答案】 D 【试题解析】 软件工程包括 3个要素,即方法、工具和过程。环境不属于软件工程的 3个要素之一。 7 【正确答案】 A 【试题解析】 数据流图由 4种基本成分构成:数据流,数据处理 (即加工 ),数据存储,外部实体 (即源和潭 )。控制流不属于数据流图的合法图符。 8 【正确答案】 A 【试题解析】 数据库系统虽然减少了数据冗余,但不能避免一切冗余,选项 A正确,选项 B错误;数据的不一致性是指对数据的存取方式,而不是数据类型一致,选项 C错误:不管有多少数据,数据库系统和文件系统都可以

16、管理,选项 D错误。 9 【正确答案】 B 【试题解析】 在层次模型中,实体之间的联系是用树结构来表示的,其中实体集(记录型 )是树中的结点,而树中各结点之间的连线表示它们之间的关系。 10 【正确答案】 D 【试题解析】 实体集之间一对一的联系不一定是一一对应的关系,选项 A错误;关系模型中可以直接描述多对多的实体联系,选项 B错误;关系模型是与格式化模型完全不同的 数据模型,它用表格数据来表示实体本身及其相互之间的联系,建立在数学理论基础上,选项 C错误。 11 【正确答案】 A 【试题解析】 在 C语言中,数据类型可分为基本数据类型、构造数据类型、指针类型、空类型 4大类,其中基本类型;

17、字符型、整型、实型 (单精度型和双精度型 )、枚举类型。构造类型:数组、结构体、公用体。选项 B中的逻辑型和 C中双精度类型都属于基本数据类型,选项 D集合类型属于构造类型;而选项 A复数型不是 C语言的数据类型。 12 【正确答案】 D 【试题解析】 选项 A和选项 C中都没有以 “;”结束,故选项 A和选项 C都不是正确的赋值语句;选项 B中强制转换类型符 int应用括号括起来,故选项 B不正确,只有选项 D是合法的 C语言赋值语句。 13 【正确答案】 D 【试题解析】 在 C语言中,逻辑运算符有与 =65+53=67,所以输出变量 ch值的 ASCII码的十进制表示。格式控制符要求变量

18、 ch2按字符形式输出, A+6-3=65+6-3=68,字母 D的 ASCII码的十进制表示为 68,所以输出 D。 18 【正确答案】 D 【试题解析】 X-是先使用 x的值再对 x减 1,即输出 11; -y是先对 y减 1再使用 y的值,输出 10。格式控制中 的普通字符 “, ”原样输出。所以选项 D符合题意。 19 【正确答案】 B 【试题解析】 本题 scanf()函数中输入格式串为 “%f%f%f”,要求输入变量 a、 b和 c时用空格隔开,也可以用回车分隔。选项 A中从键盘输入 3个变量的值时用回车符隔开,满足输入格式串的要求,故选项 A的输入方式能达到题意的要求。 选项 B

19、中从键盘输入 3个变量的值时中间用了 “, ”隔开,而在输入格式串中没有要求用 “, ”隔开,故选项 B的输入方式不能达到题意的要求;选项 C和D中分别都用了回车和空格宋分隔,满足输入格式串的要求, 故选项 C和 D的输入方式也能达到题意的要求。所以, 4个选项中选项 B符合题意。 20 【正确答案】 D 【试题解析】 选项 A二维数组行下标为 1,即数组有一行元素,列下标为 4表示一行中包含 4个元素,而初值列表中有 5个元素,故 A错。选项 B省略了列下标故错误。选项 C二维数组行下标为 2,数组有 2行元素,而初值列表中有 3行元素,故 C错误。故 D为所选。 21 【正确答案】 C 【

20、试题解析】 语句 “b=+a: ”是先执行 a加 1, a值为 8,再赋值给 b, b值为8。语句 “b=a+; ”是先使用 a的值,即对 c赋 值, c的值为 8,再执行 a加 1, a值为 9。所以,选项 C正确。 22 【正确答案】 C 【试题解析】 转义字符是要用 开头的,所以选项 B不是转义字符。开头的斜杠为单斜杠,所以选项 D不是转义字符。斜杠后面可跟 1至 3位八进制数,可以由 0开头:或以 x开头的 1至 2位十六进制数,因此选项 A是错误的。 为转义字符,为单引号字符,所以选项 C符合题意。 23 【正确答案】 C 【试题解析】 变量 z被定义为整型,所以选项 B和 D不符合

21、题意,首先被排除。变量 x和 y也被定义为整型,所以表达式 x/y的值为整数 1,最后 z被赋值为3,选项 C正确。 24 【正确答案】 B 【试题解析】 表达式 m+n的值被强制转换为实型,则 (m=n)/2的值为 2.5。变量a和 b被强制转换为整型,所以 (int)a (int) b的值为 1,因此表达式的值为 3.5,选项 B正确。 25 【正确答案】 C 【试题解析】 数组名 x为该数组的首地址即第 1个元素的地址, x+2表示数组第3个元素的值地址。 x6表示数组中长度为 6,数组元素的下标从 0到 5,没有x6。 i 2;i+)pi=chi; ”是将字符串 “6937“和 “82

22、54“的首地址分别赋给指针数组 p的两个元素。下面的 for循环嵌套是取二维字符数组 ch偶数列上的数字字符,将它们组成一个数。所以选项 D符合题意。 44 【正确答案】 A 【试题解析】 因为函数 sub()只是简单地返回两个参数的乘积,所以表达式sub(int)sub(k+j, j), k+i)展开后就是: (int)(k+j) *j)*(k+i)=(3+2)*2)*(3+1)=10*4=40。所以程序运行后的输出结果是 40,应该选择A。 45 【正确答案】 A 【试题解析】 表达式 a&2的值为 0,不必再计算表达式 ch m,整个逻辑表达式的值为 0。 46 【正确答案】 A 【试题

23、解析】 结构体变量所占的存储空间是各个分量所占空间的总和。共用体变量中的所有成员占有同一个存储空间,其字节数与成员中占字节数最多的那个成员相等。 char u15是有 5个 元素的字符数组占 5个字节, int u22是有 2个元素的整型数组占 2*2=4个字节,共用体占 5个字节的存储空间。 int占 2个字节,char占 1个字节, float占 4个字节,因此结构体所占的存储空间为 2+1+4+5=12个字节。 47 【正确答案】 A 【试题解析】 程序的功能是将字符数组 a中的小写字母变为大写字母,所以选项A符合题意。 48 【正确答案】 B 【试题解析】 do-while循环的功能是

24、对数组 a中的元素赋值,值为 0、 1、 0、 0、1。 for循环的功能是将数组 a中元素按下标从 大到小的顺序输出,所以选项 B符合题意。 49 【正确答案】 A 【试题解析】 数组 a是 3行 4列的二维数组。行下标的范围是 0到 2,列下标的范围是 0到 3, a02、 a13、 a23的行下标和列下标值都在此范围之内,可以输出确定的值。数组有 12个元素,但 中的数据只有 9个,剩余的元素的初值为 0。 a02的值为 3, a13的值为 8, a23的值为 0。 50 【正确答案】 B 【试题解析】 二维数组 c是结构体类型的数组。字符 a在第一个数组元素 c00中,它是字符型数据,

25、只有选项 B符合题意。 51 【正确答案】 逻辑结构中相邻的结点在存储结构中仍相邻。 【试题解析】 顺序存储结构的主要特点是数据元素按线性表的逻辑次序,依次存放在一组地址连续的存储单元中。在存储单元中,各元素的物理位置和逻辑结构中各结点间的相邻关系是一致的。 52 【正确答案】 软件危机的出现。 【试题解析】 从 20世纪 60年代中期到 70年代中期,随着计算机应用的日益普及,软件数量急剧膨胀,在程序运行时发现的错误必须设法改正,用户有了新的需求时,必须相应地修改程序以适应 新的环境。种种软件维护工作耗费惊人的资源,更严重的是许多程序个体化使得程序最终无法维护, “软件危机 ”就这样出现了。

26、为了更有效地开发与维护软件,新兴了一门软件工程学,即软件工程。 53 【正确答案】 白盒法。 【试题解析】 软件测试过程一般按 4个步骤进行,即单元测试、集成测试、验收测试和系统测试。单元测试的技术可以采用静态分析和动态测试。对动态测试,多采用白盒动态测试为主,辅之以黑盒测试。 54 【正确答案】 错误。 【试题解析】 数据库恢复是将数据库中的数据从错误状态中恢复到某种逻辑一致的状态。如果数据库中包含成功事务提交的结果,则称数据库处于一致性状态。 55 【正确答案】 数据元素。 56 【正确答案】 2.0。 【试题解析】 x和 y为整数,运算符 “/”在这里是整型除,整除后值为 0。 57 【正确答案】 80。 【试题解析】 p=a+2使指针 p指向数组 a的第三个元素,即 a2, (p+2)3使 p再移动 5个单位,则指向了数组元素 a7,它的值为 80。 58 【正确答案】 6,11,6,10。 【试题解析】 本题考查自加的前置和后置的区别。 59 【正确答案】 p=a+4或 p=&a4。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1