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

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

1、国家二级( C+)机试模拟试卷 23及答案与解析 一、选择题 1 长度为一个字节的二进制整数,若采用补码表示,且由 4个 “1”和 4个 “0”组合,则可表示最小的整数是 ( )。 ( A) -127 ( B) -121 ( C) -15 ( D) -7 2 计算机硬件唯一直接理解的语言是 ( )。 ( A)机器语言 ( B)汇编语青 ( C) C语言 ( D) FORTRAN语言 3 下列有关算法及其性质的叙述中,错误的是 ( )。 ( A)算法的设计一般采用由粗到细、由抽象到具体的逐步求精方法 ( B)算法必须具有确定性、有穷性和可行性等基本性质 ( C)算法至少需要有 1个输入量 ( D

2、)评价算法的好坏需要考虑执行时占用的计算机资源 4 分组交换也称包交换,下列关于其特点的表述中错误的是 ( )。 ( A)线路利用率高 ( B)可以建立优先级 ( C)收发双方可不同时工作 ( D)适用于实时或交互通信方式的应用 5 按照工程化概念开发软件产品,其正确的工作流程是 ( )。 ( A)软件设计 -需求分析 -编码与调试 -测试 -交付使用 ( B)需求分析 -软件设计 -编码与调试 -测试 -交付使用 ( C)软件设计 -编码与调试 -需求分析 -交付使用 -测试 ( D)需求分析 -编码与调试 -软件设计 -测试 -交付使用 6 下列选项中,不属于 “软件危机 ”产生的主要原因

3、的是 ( )。 ( A)计算机硬件发展速度缓慢致使软件开发受限 ( B)软件开发过程中很难进行质量管理和进度控制 ( C)随着问题的复杂度增加,软件开发效率下降 ( D)对软件需求分析的重要性认识不够 7 下列关于测试用例的说法中,不正确的是 ( )。 ( A)测试用例是软件测试的核心 ( B)测试的 “深度 ”与测试用例的数量成比例 ( C)测试工作量与测试用例的数量无关 ( D)测试用例包括输入集和输出集 8 深度为 7的满二叉树的叶子结点数为 ( )。 ( A) 16 ( B) 32 ( C) 64 ( D) 128 9 设某循环队列的容量为 50,头指针 front=5(指向队头元素的

4、前一位置 ),尾指针rear=29(指向队尾元素 ),则该循环队列中共有 ( )个元素。 ( A) 24 ( B) 34 ( C) 45 ( D) 55 10 在关系数据库中,用来表示实体之间联系的是 ( )。 ( A)表 ( B)数据表 ( C)二维表 ( D)简表 11 下列关于信息系统的叙述中,错误的是 ( )。 ( A)广播电视是一种双向的、点到多点的信息交互系统 ( B)网络聊天是一种双向的,以信息交互为主要目的的系统 ( C)电话是一种双向的、点对点的、以信息交互为主要目的的系统 ( D)雷达是一种以感测和识别为主要目的的系统 12 作为信息处理热点技术之一的 “多媒体技术 ”中的

5、媒体,强调的是 ( )。 ( A)存储媒体 ( B)表现媒体 ( C)传输媒体 ( D)感觉媒体 13 下列关于定点数与浮点数的叙述中,错误的是 ( )。 ( A)在实数的浮点表示中,阶码是一个整数 ( B)整数是实数的特例,也可以用浮点数表示 ( C)实数的补码是其对应的反码在最后一位加 1 ( D)相同长度的浮点数和定点数,前者可表示的数的范围要大于后者 14 下列选项中,均属于通用软件的是 ( )。 ( A) Windows XP、 AutoCAD、 PowerPoint ( B) Visual FoxPro、 Excel、 SPSS ( C) Word、 Photoshop、 Exce

6、l ( D) C+、 CorelDraw、 Firefox 2 0 15 在 Internet中,域名服务器的主要功能是实现 ( )的转换。 c2=c1+32: printf(“ c, c n”, c1, c2); 程序运行输入 65回车后,输出结果为 ( )。 ( A) IP 地址到域名 (主机名字 ) ( B)域名到 IP 地址 ( C)主机 IP 地址和路由器 IP 地址 ( D)路由器 IP 地址 16 在数据库管理系统提供的语言中,负责数据的模式定义与数据的物理存取构建的是 ( )。 ( A)数据定义语言 ( B)数据操纵语言 ( C)数据控制语 言 ( D)数据编程语青 17 已有

7、定义 “char c=”; int a=1, b; ”(此处 c的初值为空格字符 ),执行“b=!c&a; ”后 b的值为 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 3 18 变量已正确定义为整型,则表达式 “n=i=2, +i, i+; ”的值为 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 19 若有定义 “int k; ”,下列程序段的输出结果为 ( )。 for(k=2; k void main() char c1, c2; scanf(“ c“&c1); while(c190)scanf(“ c“, &c1); c2=c1+32: printf

8、(“ c, c n”, c1, c2); 程序运行输入 65回车后,输 出结果为 ( )。 ( A) 65 ( B)不能输出结果 ( C) 33 ( D)无法确定 32 下列程序运行后的输出结果是 ( )。 #include void main() int k=1, S=0; do if10); printf(“s= dkn“, s); ( A) s=0 ( B) s=1 ( C) k=0 ( D) k=1 33 下列程序运行时,若输入 labcdef2df,则输出结果为 ( )。 #include void main() char a=0, ch; while(ch=getchar()!=

9、n) if(a 2!=0& & (ch=a&ch void fun(int*a) a0=ai; void main() int a10=10, 9, 8, 7, 6, 5, 4, 3, 2, 1), i; for(i=2; i=0; i-)fun(&ai); for(i=0; i int_; void main() int x, y(*p)(); scanf(“ d d”, &x, &y); p=max; printf(“ d n“, (*p)(x, y); int max(int a, int b) return(ab?a: b); ( A) min(int a, int b) ( B) m

10、ax(int a, int b) ( C) sum(int a, int b) ( D) mod(int a, int b) 36 下列程序用来判断指定文件是否能正常打开,横线处应填写的内容是 ( )。 #include main() FILE*fp; if(fp=fopen(“test txt“, “r“)!=_) printf(“文件打开成功 ! n“); else printf(“未能打开文件 ! n“); ( A) NULL ( B)文件打开成功 ! ( C)未能打开文件 ! ( D)以上均不正确 37 下列程序的运行结果为 ( )。 #include struct A int a;

11、char b10; double c; ); void f(struct A*t); void main() struct Aa=1001, “ZhangDa“, 1098 0); f(&a); printf(“ d, s, 6 1f、 n“, a a, a b, a c); void f(struct A*t) strcpy(t-b, “ChangRong“); ( A) 1001, ZhangDa, 6 1 ( B) 1001, ZhangDa, 1098 0 ( C) 1001, ChangRong, 1098 0 ( D) 1001, ChangRong, 6 1 38 下列程序把 3

12、个 NODETYPE型的变量链接成一个简单的链表,并在 while循环中输出链表结点数据域中的数据。横线处应填入的内容是 ( )。 #include struct node int data; struct node*next; ); typedfe node NODETYPE; void main() NODETYPE a, b, c*h, *p; a data=10; b data=20; c data=30; h=&a; a next=&b; b next=&c; c next= 0; p=h; while(p)printf(“ d, “, p-data); _; printf(“ n“

13、); ( A) a ( B) *p ( C) p+ ( D) p- 39 下列程序的输出结果是 ( )。 #include void main() int i, j, sum; for(i=3: i=1; i-) sum=0; for(j=1; j void main() int j, a=1, 3, 5, 7, 9, 11, 13, 1 5, *p=a+5; for(j=3; j; j-) switch(j) case 1: case 2: printf(“ d“, *p+); break; case 3: printf(“ d“, *(-p); ( A) 331l ( B) 3517 (

14、C) 9111 ( D) 9911 二、基本操作题 41 使用 VC+6 0打开考生文件夹下的源程序文件 1 cpp,该程序运行时有错误,请改正错误,使得程序通过运行。 程序输出结果为 5 a 1 注意:不要改动 main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在 * * * * * * * * error* * * * * * * *的下面。 试题程序: #include template * * * * * * * * error* * * * * * * * t min(t x, t y) return(x y) ? y: x; void main() int n=5:

15、* * * * * * * * error* * * * * * * * char c=“a“: int d=1: * * * * * * * * error* * * * * * * * cout #define M 2 #define N 4 void funCint aMEN, int*sum) void main() int xEMN=7, 6, 5, 2, 4, 2, 8, 3; int s; fun(x, &s); cout #include #include #include using namespace std; void WriteFile(int x) ofstream

16、out1; * * * * * * * * 1 * * * * * * * * out1 open(“3 txt“, ); out1x; out1 close(); void ClearFile() ofstream out1; out1 open(“3 txt“); out1 close(); class TC public: void disp() cout“m=“mend1 WriteFile(m); cout“n=“nend1: WriteFile(n): * * * * * * * * 2 * * * * * * * * ; void main() * * * * * * * * 3

17、 * * * * * * * * ClearFile(); TC a: a *p=30; * * * * * * * * 4 * * * * * * * * a *p=45; a disp(); 国家二级( C+)机试模拟试卷 23答案与解析 一、选择题 1 【正确答案】 B 【试题解析】 整数在计算机中有原码、反码和补码 3种不同的表示方法。负数的反码是符号位为 “1”,绝对值部分和原码相反。负数的补码是符号位为 “1”,绝对值部分为反 码的最低位加 “1”。正整数的表示方法只有原码一种。 A项的补码为(10000001), B 项的补码为 (10000111), C项的补码为 (11110

18、001), D项的补码为(11111001)。 2 【正确答案】 A 【试题解析】 计算机硬件唯一能直接理解的语言是机器语言,各种高级语言编制的程序都要经过解释或编译程序转换成机器语言,计算机才能理解和执行。 3 【正确答案】 C 【试题解析】 算法可以有 0个或多个输入量,但至少产生一个输出量 (包括参量状态的变化 )。 4 【正确答案】 D 【试题解析】 包交换的缺点是延时较长,不适用于实时或交互通信方式的应用。 5 【正确答案】 B 【试题解析】 本题考查按照工程化概念开发软件产品的工作流程。 6 【正确答案】 A 【试题解析】 软件危机产生的主要原因是选项 B、 C、 D,不包括选项

19、A。 7 【正确答案】 C 【试题解析】 测试工作量与测试用例的数量成比例。 8 【正确答案】 C 【试题解析】 根据二叉树的性质,深度为 N的满二叉树的叶子结点的数目为 2N-1。 9 【正确答案】 A 【试题解析】 在循环 队列中因为头指针指向队头元素的前一个位置,所以是从第6个位置开始有数据元素,所以队列中的数据元素的个数为 29-5=24。 10 【正确答案】 C 【试题解析】 在关系数据库中,二维表用来表示实体之间的联系。 11 【正确答案】 A 【试题解析】 广播电视是一种单向的、点对多点 (面 )的以信息传递为主要目的的系统。 12 【正确答案】 D 【试题解析】 媒体分为感觉媒

20、体、表示媒体、存储媒体、传输媒体和表现媒体 5种, “多媒体技术 ”中的媒体强调的是感觉媒体。 13 【正确答案】 C 【试题解析】 正整数的补码与其原码一致;负整数的补码是其对应的反码在最后一位加 1。 14 【正确答案】 C 【试题解析】 软件可以分为系统软件和应用软件两类,应用软件又可以分为针对具体应用问题而专门开发的定制应用软件和在许多行业和部门中可以广泛使用的通用应用软件。 15 【正确答案】 B 【试题解析】 在 Internet中,把域名翻译为 IP地址的软件称为域名系统 (DNS),运行域名系统的主机称为域名服务器。域名服务器的主要功能是实现入网主机名字和 IP地址的转换。 1

21、6 【正 确答案】 A 【试题解析】 数据定义语言、数据操纵语言和数据控制语言中,都是数据库管理系统提供的。其中,数据定义语言负责数据的模式定义与数据的物理存取构建;数据操纵语言负责数据的操纵,包括查询及增加、删除、修改等操作;数据控制语言负责数据完整性、安全性的定义与检查,以及并发控制、恢复功能。 17 【正确答案】 A 【试题解析】 本题中 c为空格字符,其 ASCII码为 32,所以 !c=0,在逻辑与运算中,只要有一项假,其值就为 0,所以 b的值为 0。 18 【正确答案】 C 【试题解析】 本 题考查数据型及逗号表示式的运算。在逗号表达式中,其值取最后一个表达式的值为 3。 19

22、【正确答案】 C 【试题解析】 程序运行时, printf中 “ d”前的内容原样输出,所以第一次输出#2,接着 k 两次自加为 4,继续循环,接着输出 #4,接着 k两次自加为 6,此时不符合循环条件,所以输出结果为 “#2#4”。 20 【正确答案】 A 【试题解析】 软件测试过程分 4个步骤进行,单元测试、集成测试、验收测试和系统测试,由此可看出集成测试在单元测试之后进行。 21 【正确答案】 D 【试题解析】 软件工作的 3个要素是方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节控制和管理。 22 【正确答案】 B 【试

23、题解析】 元组分量的原子性是指二维表中元组的分量是不可分割的基本数据项。 23 【正确答案】 D 【试题解析】 本题考查运算符与赋值表达式。 a-=a+b 可表示为 a=a-(a+b),也可化简成 a=-b。 24 【正确答案】 C 【试题解析】 本题考查两个知识点:标准输出函数的格式与转义字符。 n 为转义字符,其意义为换行, d代表以整型的格式输出相应位置变量的值。其他字符按原样输出。 25 【正确答案】 A 【试题解析】 当前栈中的所有元素的个数就是用栈底指针减去栈顶指针。 26 【正确答案】 B 【试题解析】 根据定义,软件测试按照功能划分,可以分为白盒测试和黑盒测试。其中,白盒测试方

24、法也称为结构测试或逻辑驱动测试,其主要方法有逻辑覆盖、基本路径测试等。 27 【正确答案】 D 【试题解析】 结构化程序设计的 3种基本控制结构是选择结构、循环结构和顺序结构。 28 【正确答案】 C 【试题解析】 本题考查 E-R的关系。在 E-R图中,用菱形来表示实体之间的联系;矩形表示实体集;椭圆形表示属性。 29 【正确答案】 C 【试题解析】 因为 5和 2都是整型数据,进行 5 2运算后值为 2,然后 2再经强制转换成双精度型变为 2 0,这个值再与 2 5相加等于 4 5,此值再经过整型数据转换为 4。 30 【正确答案】 A 【试题解析】 根据程序要求的格式输出结果的格式控制符

25、为 “x y= d”。 31 【正确答案】 B 【试题解析】 当输入 65时,不符合 while循环语句的要求,程序就会终止,不能往下执行。 32 【正确答案】 A 【试题解析】 因为变量 k 的值为 1,它对 2的余数不等于 0,退出循环。执行下一条语句,输出 s=0。 33 【正确答案】 B 【试题解析】 从键盘获取字符,这个程序的功能是对输入的字符,如果这个字符对 2的余数不等于 0,并且在这个小写字母 a和 z之间,则把这个字符转换成大写字母。 34 【正确答案】 D 【试题解析】 子函数 fun(int*a)的功能是把数组的后一个元素值赋给其前一个元素。在主函数第 1个 for循环语

26、句中,经过 3次循环执行,把数组 a10中的前 3个元素分别更换为 7。在第 2个 for循环语句中,把数组 a10中所有元素输出。 35 【正确答案】 B 【试题解析】 在程序的开始对定义在后面的子函数进行说明,在本程序中,就要对 max(int a, int b)函数说明。 36 【正确答案】 A 【试题解析】 在本题中, fopen函数如果成功打开了文件,返回文件指针,否则返回 NULL。 37 【正确答案】 C 【试题解析】 在本题中,子函数 f(struet A*t)的 功能是把字符串常量“ChangRong”值赋值给结构体 t的 b 成员变量,所以输出结果为 1001,ChangR

27、ong, 1098 0。 38 【正确答案】 C 【试题解析】 在本题程序中,循环语句中的 NODETYPE 型指针变量 p加 1,指向下一个 NODETYPE 型元素。 39 【正确答案】 B 【试题解析】 本题考查 for循环的使用。由于每次进行第 1层 for。循环时, sum的值都会清零,所以直接考虑 i=1时里层循环的变化即可, j=1时,sun=0+1*1=1;之后 j=2,不符合循环条件,跳出内层 循环,此时 i=0,亦跳出外层循环,故 sum值为 1。 40 【正确答案】 D 【试题解析】 本题考查 switehcase 开关语句。当 j=3时,执行 switeh(3),输出a

28、4,为 9; j-为 2,当 j=2时,输出 a4,为 9, j自减或为 1;当 j=1时,输出a5,为 11。循环结束。 二、基本操作题 41 【正确答案】 (1)应改为 “T min(T x, T y)”。 (2)应改为 “char c=a; ”。 (3)应改为 “using namespace std; ”。 【试题 解析】 C+是区分大小写的, “template(class T)”语句中定义的模板类为 T不是 t,所以第 1处的 “t min(t x, ty)”修改为 “T min(T x, T y)”。第 2处 “char c=“a“; ”语句中的变量 a为 char型,赋值为字符

29、 a,在 C+中应该使用单引号标注字符变量,而不是双引号,所以修改为 “char c=a; ”。在程序中用到 C+标准库时,要使用 std 标准命名空间进行限定。 cout为标准库函数,所以要声明 cout是在命名空间 std 中定义的流对象,即添加 “using namespace std; ”。 三、简单应用题 42 【正确答案】 int i, j, k, s=0; for(i=0; i(M; i+) 外循环 k=0; for(j=1; j(N; j+) if(a1k)aij)k=j; 求得每一行的最小值 s+=aik; 最小值求和 *sum=S; 返回求和值 【试题解析】 本题依次访问每

30、一行的元素。在对每一行的访问过程中选出最小数。将选出的最小数求和。 四、 综合应用题 43 【正确答案】 (1)将 “out1 open(“3, txt“, ); ”补充完整为“out1 open(“3 txt“, ios_base: app); ”。 (2)应添加 “int m, n; ”。 (3)应添加 “int TC: *p=&(TC: m); ”。 (4)应添加 “p=&(TC: n); ”。 【试题解析】 本题第 1处要求 “对文件以追加的方式打开 ”。文件输入输出方式的设置值, ios: app是以输出方式打开文件,写入的数据添加在文件末尾,即第 1处的语句补全为 “out1 op

31、en(“3 txt“, ios_base: app); ”。 第 2处要求 “定义 m、 n 为类 TC的公有 int型数据成员 ”。只需在程序中的 TC类中的 public区域添加 m、 n 的定义即可。即在第 2处添加 “int m, n; ”。 第 3处要求 “定义 p为类 TC的数据成员指针,并指向类 TC数据成员 m”。程序中类 TC数据成员 m为 “TC: m”定义 P为类 TC的数据成员指针语句为“TC: *p”,将其指向前面的数据成员 rn,即为 “int TC: *p=&(TC:m); ”。 第 4处要求 “定义 p指向类 TC数据成员 n”。定义类 TC数据成员 n 的语句为“TC: n”,用 p 指向类 TC数据成员 n,添加的语句即 “p=&(TC:n): ”。

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

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

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