1、全国自考(计算机软件基础)模拟试卷 5 及答案与解析一、单项选择题1 已知 int b=4;,执行语句 b+=b+;后,b 的值是 【 】(A)8(B) 9(C) 10(D)112 下列数据中,不合法的 C 语言实型数据是 【 】(A)0123(B) 123E3(C) 21E35(D)78903 按照 C 语言规定的用户标识符命令规则,不能出现在变量名中的是 【 】(A)大写字母(B)连接符(C)数字(D)下划线4 对于输入语句 scanf(“d,d“,&a,&b);,要使变量 a、b 的值分别为 1 和2,则正确的输入是 【 】(A)1,2 回车(B) 12 回车(C) 1 回车 2 回车(
2、D)1;2 回车5 有以下程序段:int a,b,c;a=10;b=50;c=30;if(ab)a=b, b=c;c=a ;printf(“a= d b=d c= dn“ ,a ,b,c);程序的输出结果是 【 】(A)a=10 b=50 c=10(B) a=10 b=50 c=30(C) a=10 b=30 c=10(D)a=50 b=30 c=506 已知 char sr20;int i;,从键盘向数组 sr 输入一个字符串的正确语句是 【 】(A)gets(sr);(B) gets(sr20);(C) for(i=0;iint a=3,b=4;void fun(int x1,int x2
3、)printf(“d ,dn“ ,x1+x2 ,b);main()int a=5,b=6;fun(a,b) ;(A)7,4(B) 11,4(C) 7,6(D)11,68 设有两条语句 int a,*p=&a;和*p=a ;,则下列说法中正确的是 【 】(A)两条语句中的“*p”的含义完全相同(B)第 2 条语句中的“*p=a”是将 a 的值赋予变量 P(C)两条语句中的“*p=&a”和“*p=a”的功能完全相同(D)第 1 条语句中的“*p=&a”是定义指针变量 p 并对其进行初始化9 以下结构类型和结构变量定义语句中正确的是 【 】(A)typedef structint n;char c;
4、REC;REC t1,t2;(B) struct REC;int n;char c;REC t1,t2;(C) typedef struct REC;int n=0;char c=A;t1,t2;(D)structint n;char c;REC10 数据结构课程主要讨论算法的 【 】(A)空间性和时间性(B)正确性和简明性(C)可读性和文档性(D)数据复杂性和程序复杂性11 下列有关线性表的叙述中,正确的是 【 】(A)同一个线性表中的数据节点具有相同的属性(B)线性表中任何一个元素有且仅有一个直接前趋(C)线性表中任何一个元素有且仅有一个直接后继(D)线性表是一种复杂的、不常用的数据结构1
5、2 当栈中的元素为 n 个,做进栈运算时发生上溢,则说明该栈的最大容量是 【 】(A)n2(B) n(C) n+1(D)n113 将一棵有 100 个节点的完全二叉树从根这一层开始,每一层从左到右依次对节点进行编号,根节点的编号是 1,则编号为 49 的节点的左孩子的编号为 【 】(A)98(B) 99(C) 50(D)4814 如果在排序过程中不改变关键字相同的元素的相对位置,则认为该排序方法是 【 】(A)不稳定的(B)稳定的(C)基于交换的(D)基于选择的15 需求分析常用的工具是 【 】(A)PAD(B) PFD(C) NS(D)DFD二、填空题16 树形结构中节点 a 有 3 个兄弟
6、,b 是 a 的双亲,则 b 的度为_。17 已知完全二叉树的第 8 层有 8 个节点,则其叶子节点的个数为_。18 已知二叉树的先序序列为 ABDCEFG,中序序列为 DBCAFEG,则后序序列为_。19 先序序列为 xyz 且后序序列为 zyx 的二叉树共有 _棵。20 在有向图中,以顶点 V 为终点的边的数目称为 V 的_。21 一个图的_是这个图最小的连通子图。22 在无向图 G 的邻接矩阵 A 中,若 Aij等于 1,则 Aji等于_。23 有一个长度为 20 的有序表采用折半查找方法进行查找,共有_个元素的查找长度为 3。24 软件生存周期可分为_、软件开发和软件维护三个阶段。25
7、 _就是抽出事务的本质特性而暂时不考虑它们的物理特性。三、简答题26 分别画出用 while 型循环求 sum=1+3+5+999 的程序流程图和 NS 图。27 假设通信的电文仅由 8 个字母组成,字母在电文中出现的频率分别为:007,019,002,006,032,003,021,010请构造哈夫曼树(权值小的为左子树,权值大的为右子树),并根据哈夫曼编码树为这 8 个字母设计哈夫曼编码。28 写出下列 AOV 网的所有拓扑序列。29 已知一数值序列为33,61,12,75,8,54,41 ,请分别写出按升序进行排序时,直接选择排序、直接插入排序第一趟结束后的数值序列。四、程序分析题30
8、下列算法用于判断带头节点的循环双链表 A 是否对称相等,请在算法中的横线处填上正确的语句。int dlink_symmetry(dlklist s)j=1;p=s 一next;q=sprior;while(p!=q& )if(p 一data=q data) ;q=q 一prior;elsej=0;return(j);31 下面算法的功能是_。LinkList ListListDemo(ListList &L)L 是不带头节点的单链表Inode*q,*p;if(L&Lnext)q=L;L=L 一next;p=L:while(pnext)p=p 一next;p 一next=q;p 一next=NU
9、LL;return L:32 下列算法的时间复杂度是_。s=0:for(i=0;ib,即 1050,显然条件不成立,所以程序将跳过 if 语句,执行 if 语句的后续语句,将变量 a 的值 10 赋给变量 c,接着执行后面的输出语句,所以最后的答案为选项 A。6 【正确答案】 A【试题解析】 gets(sr) 的功能是从键盘输入一个字符串到字符数组 sr,sr 为字符数组名。7 【正确答案】 B【试题解析】 C 语言规定当全局变量和局部变量重名时,局部变量优先。第 2 条语句中的 a、b 是全局变量,其值分别为 3、4;主函数中的 a、b 是局部变量,其值为 5、6。调用函数后,形参 x1 和
10、 x2 的值为 5、6,输出时的变量 b 是全局变量,值为 4。8 【正确答案】 D【试题解析】 题目中的第 1 条语句定义整型变量 a 和指向 a 的指针变量 p;第 2条语句中的“*p” 就是变量 a,即将 a 的值赋予*p 。因此,选项 A、B、C 均是错误的。9 【正确答案】 A【试题解析】 选项 A 中用 typedlef 定义结构类型 RFC,用新类型名 RFC 定义变量,是正确的。选项 B 中 struct REC 后不应该加分号,并且只有 struct 和 REC在一起才能定义变量。选项 C 中 typeclef struct REC 后不应该加分号,并且结构类型的成员不应该初
11、始化。选项 D 中 REC 后面应该加分号。10 【正确答案】 A【试题解析】 数据结构课程主要讨论算法的时间性和空间性,称作时间复杂度和空间复杂度,以此作为评价算法的两大性能指标。11 【正确答案】 A12 【正确答案】 B【试题解析】 栈是限定在表的一端进行插入和删除的线性表;当栈满时再做进栈运算必定产生空间溢出,简称“上溢”,所以如果栈中的元素为 n 个,做进栈运算时发生上溢,说明栈已满,则该栈的最大容量为 n。13 【正确答案】 A14 【正确答案】 B【试题解析】 如果待排序的元素中存在有多个关键字相同的元素,经过排序后这些具有相同关键字的元素之间的相对次序保持不变,则称这种排序方法
12、是稳定的;反之,若具有相同关键字的元素之间的相对次序发生了变化,则称这种排序方法是不稳定的。15 【正确答案】 D二、填空题16 【正确答案】 417 【正确答案】 6818 【正确答案】 DCBFGEA19 【正确答案】 420 【正确答案】 入度21 【正确答案】 生成树22 【正确答案】 123 【正确答案】 424 【正确答案】 软件定义25 【正确答案】 抽象三、简答题26 【正确答案】 27 【正确答案】 哈夫曼树如下:哈夫曼编码为:I1=00000I2=00001I3=0001I4=0010I5=0011I6=01I7=10I8=1128 【正确答案】 29 【正确答案】 直接选择排序:8,61,12,75,33,54,41直接插入排序:33,61,12,758,54,41四、程序分析题30 【正确答案】 jp=p 一next31 【正确答案】 删除单链表的第 1 个节点32 【正确答案】 O(n 2)33 【正确答案】 count=0p=p 一next五、程序设计题34 【正确答案】 #ineludemain()int a,n,i=1,sn=0 ,tn=0;printf(“a,n= :“) ;scanf(“d,d“,&a ,&n);while(idata=x)n+;p=p 一next;return(n);
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1