1、全国自考(计算机软件基础)模拟试卷 4 及答案与解析一、单项选择题1 下列不是 C 语言提供的合法关键字的是 【 】(A)switch(B) begin(C) case(D)default2 设 ch 是 char 型变量,其值为A,则下面表达式的值是 【 】ch=(ch=A&8Lchmain()int a=13,m=0;switch(a3)case 0:m+;case 1:m-;case 2:m+;default:m+;printf(“dn“,m) ;(A)1(B) 0(C) 1(D)24 有以下程序:#includemain()int x=1,y=2,z=3;if(xy)if(yint x
2、=1;int fun(int a)static int b=1;b+=a+x;return b;main()int i=2;for(i=0;inext=NULL(C) headnext=head(D)head!=NULL11 若一个队列的入队序列是 1、4、2、3,则该队列的出队序列是 【 】(A)4、3、2、1(B) 1、2、3、4(C) 1、4、2、3(D)3、2、4、112 判定一个循环队列 Q(元素个数最多为 m0)为空的条件是 【 】(A)Q 一front=Q 一rear(B) Q 一front!=Q 一rear(C) Q 一front=(Q 一rear+1)m 0(D)Q 一fro
3、nt!=(Q 一rear+1)m 013 深度为 4 的二叉树最多有多少个节点 【 】(A)14(B) 15(C) 16(D)1714 设待排序的序列中有 n 个元素,采用冒泡排序方法进行一趟排序所需交换元素的次数最多为 【 】(A)n(B) 0(C) n+1(D)n 一 115 以下叙述中正确的是 【 】(A)可行性研究属于软件开发阶段(B)概要设计属于软件定义阶段(C)编码属于软件维护阶段(D)详细设计属于软件开发阶段二、填空题16 以下程序段的输出结果是_。#includemain()int a=2,b=3,c=4;a*=16+(b+)一(+c);printf(“dn“,a);17 已知
4、 int a=1,b=2;,表达式!(a+b)a&b+2*4 的值是_。18 字符串的结束标记字符是_。19 变量的作用域是指变量的有效范围,在作用域内可以引用该变量。按作用域变量可以分为全局变量和_变量。20 在定义语句中,指针变量名前必须有“_”号。21 若经常进行的运算为查找运算,以_存储为宜。22 若一棵二叉树的叶子节点数为 n,则在该二叉树中,左、右子树皆非空的节点个数为_。23 当无向图 G 的顶点的度数的最大值大于或等于顶点数的 _倍时,G 至少有一条回路。24 具有 24 个元素的序列,采用冒泡排序最少需要比较_次才能完成排序。25 软件定义阶段形成的_是软件设计阶段的出发点。
5、三、程序分析题26 写出下列程序的运行结果。#includemain()int i=1,j=1 ;for(;j10)break;if(j2!=0)j+=3;continue;j 一=1 ;printf(“d,dn“,i,j);27 写出下列程序的运行结果。#includevoid fun()static int a=0;a+=2:printf(“d“,a);main()int cc;for(cc=l;cc#define M 81int fun(char*ss,char c)int i=0;for(; ;ss+)if(*ss=c)i+:return ;main()char aM,ch;print
6、f(“Please enter a string:“);gets(a);printf(“Please enter a char:“) ;ch=getchar();printf(“The number of the char is:dn“,fun(a,ch) ;29 下列 fsum()函数的功能是求带头节点的单链表中各节点数据域中数值的和,填空完成程序。struct nodefloat x;struct node*next;f10at fsum(struct node*head)float s=0;struct node*q; ;while!=NULL)s=s+q 一x; return s;四、
7、程序设计题30 已知长度为 n 的线性表 A 采用顺序存储结构,并且数据元素按值的大小非递减排列,写一算法,删除该线性表中值相同的多余元素(该算法完成后,线性表中数据元素严格按值递增排列)。31 编写一个算法,将一个顺序栈中的元素依次取出,并打印元素值。全国自考(计算机软件基础)模拟试卷 4 答案与解析一、单项选择题1 【正确答案】 B2 【正确答案】 B【试题解析】 由于字符型变量 ch 的值为A,计算表达式 (ch=A&ch=A&hy 这个条件后才被执行,因为 else 语句总是和最近的 if 语句配套,所以此程序在执行时,由于 xnextq=q 一next四、程序设计题30 【正确答案】 void delete(L a ,int itern)int i,m;i=0;while(itop-;
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1