1、全国自考(计算机软件基础)模拟试卷 2 及答案与解析一、单项选择题1 C 语言中转义字符n 的含义为 【 】(A)输出字符 n(B)回车换行(C)换页(D)左退一格2 以下选项中,合法的标识符是 【 】(A)long(B) _2abc(C) 3dmax(D)char3 以下选项中,合法的实型常量是 【 】(A)5E2 0(B) E-3(C) 2E0(D)13E4 已知大写字母 A 的 ASCII 码值是 65,小写字母 a 的 ASCII 码值是 97,则用八进制表示的字符常量101是 【 】(A)字符 A(B)字符 a(C)字符 c(D)非法的常量5 设整型变量 a、b 的值均为 2,执行表
2、达式“a=(b=ab,b)”后,a 的值是 【 】(A)一 1(B) 2(C) 1(D)06 C 语言的基本数据类型是指 【 】(A)字符型、整型和实型(B)整型、长整型和无符号整型(C)数组型、指针型和结构类型(D)整型、实型和数组型7 若变量均已正确定义并赋值,以下合法的 C 语言赋值语句是 【 】(A)x=y=5;(B) x=n25;(C) x+n=i;(D)x=5=4+1;8 有以下程序:#includemain() int a=1,b=2,c=3,x;x=(a+bc)c ; printf(“dn“,x) ; 程序的运行结果是 【 】(A)0(B) 1(C) 2(D)39 已知 int
3、 b=4;,执行语句 b+=b+;后,b 的值是 【 】(A)8(B) 9(C) 10(D)1110 已知 int i,s;,下列不能实现计算 的程序段是 【 】(A)for(i=1,s=0;i=0)y=sqrt(x);else y=sqrt(一 x);(B) y=sqrt(x);if(x=0)y=sqrt(x);if(x=0?x=一 x);13 下列程序的输出结果是 【 】#includemain()int x=1,a=0,b=0;switch(x)case 0:b+;case 1:a+;ease 2:a+;b+ ;printf(“d,dn“,a,b) ;(A)1,0(B) 1,1(C) 2
4、,1(D)2,214 设有数据定义语句 char s110=“123“,s210=“ABCDE“;,则执行语句printf(“d“,str1en(strcat(s1 ,s2);后的输出是 【 】(A)3(B) 5(C) 8(D)1015 有以下程序#includemain()int x32=0,i;for(i=0;i ,则输出结果为 【 】(A)2 0 0(B) 2 0 4(C) 2 4 0(D)2 4 6二、填空题16 已知 int a;,表达式(a=1,a*=2),a+4)的值是_。17 C 语言中,唯一的三目运算符是_。18 int a10=2,4,6,7,8,10;,则 aa1=_。1
5、9 下面程序段的时间复杂度是_。i=s=0;while(smain()int x=3,y=6,a=0;while(x+!=(y 一=1)a+=1;if(ylong fun(int n)long s;if(n=1n=2)s=2;else s=n-un(n 一 1);return s;main()printf(“ dn“ ,fun(3);32 以下函数的功能是使 5*5 阶矩阵转置,将程序补充完整。void invert(int a55)int i,j,t;for(i=1;idataQhead;Q 一head= ;return 1;五、程序设计题34 假设二叉树采用二叉链存储结梅存储,设计一个算法
6、,求二叉树的高度。35 编写程序实现采用直接选择排序法对 10 个数进行排序。全国自考(计算机软件基础)模拟试卷 2 答案与解析一、单项选择题1 【正确答案】 B【试题解析】 转义字符以“”开始,后面跟若干个字符,用来表示特定的含义,其中n 表示回车换行,b 表示左退一格,r 表示回车,f 表示换页。2 【正确答案】 B【试题解析】 C 语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。另外,标识符不能与 C 语言规定的关键字同名。关键字有 auto、break、char、do、long 等。3 【正确答案】 C【试题解析】 C 用指数形式表示一个实型常量时,
7、 E 或 e 之前必须有数字,且 E或 e 后面的指数必须为整数。4 【正确答案】 A5 【正确答案】 D【试题解析】 逗号轰达式的执行过程是:顺次从左向右计算每个表达式的值,逗号表达式的值为最后一个表达式的值。6 【正确答案】 A【试题解析】 C 语言的基本数据类型是指整型、实型 (浮点型)和字符型。7 【正确答案】 A【试题解析】 选项 A 中的表达式 x=y=5,先计算 y=5,然后再把计算结果赋值给 x。此赋值语句正确。选项 B 中的求余运算要求参加运算的操作数都为整数。选项 C 中表达式 x+n 不能出现在赋值号的左边。选项 D 中,5 是常数,不能出现在赋值号的左边。8 【正确答案
8、】 B9 【正确答案】 B【试题解析】 b+=b+ 等价于 b=b+(b+),b+表示在使用 b 之后,b 的值加 1,所以 b=b+(b+)=5+4=9。10 【正确答案】 C11 【正确答案】 D【试题解析】 scanf 函数的一般形式为:scanf(“格式控制字符串“ ,输入对象地址列表),题中 x 为浮点型变量,故格式控制字符串为f,输入对象地址为&x。12 【正确答案】 B【试题解析】 选项 B 中的第一句 y=sqrt(x);,如果 x 的值为负数,则会产生错误,因为开平方函数的参数必须为正数。13 【正确答案】 C【试题解析】 switch 语句中表达式 x 的值为 1,故执行
9、case 1 后面的语句a+;,执行后 a 的值为 1,再接着执行 case 2 后面的语句 a+b+ ;,执行后a 的值为 2,b 的值为 1。14 【正确答案】 C15 【正确答案】 B二、填空题16 【正确答案】 617 【正确答案】 ? ;18 【正确答案】 819 【正确答案】 O(n)20 【正确答案】 物理结构(存储结构)21 【正确答案】 front=rear22 【正确答案】 2 i-123 【正确答案】 右子树24 【正确答案】 平均查找长度(ASL)25 【正确答案】 模块三、简答题26 【正确答案】 27 【正确答案】 (1) (2)WPL=(16+17)*2+(9+1
10、4+15)*3+6*4+(2+3)*5=22928 【正确答案】 使用克鲁斯卡尔法构造的最小生成树如下图所示:29 【正确答案】 直接选挣捧序:8,61,12,75,33,54,41直接插入排序:33,61,12,75,8,54,41四、程序分析题30 【正确答案】 x=5,y=4,a=131 【正确答案】 132 【正确答案】 jhead=Q 一tail (Q 一head+1)100五、程序设计题34 【正确答案】 int BTNodeDepth(BTNode*b)int lchilddep,rchilddep;if(b=NULL)return(0);elselchjlddep=BTNode
11、Depth(b 一lchild);rchilddep=BTNodeDepth(b 一rchild);return(lchilddeprchilddep)?(lchilddep+1):(rchnddep+1);35 【正确答案】 #inelude“stdioh“#define N 10main()int i,j,min,tem ,aN;printf(“please input ten num:n“) ;for(i=0;iaj)min=j;tem=ai;aEi=amin;amin=tem;printf(“After sortedn“);for(i=0;iN;i+)printf(“5d“,ai) ;