全国自考(计算机软件基础)模拟试卷1_第1页
全国自考(计算机软件基础)模拟试卷1_第2页
全国自考(计算机软件基础)模拟试卷1_第3页
全国自考(计算机软件基础)模拟试卷1_第4页
全国自考(计算机软件基础)模拟试卷1_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全国自考(计算机软件基础)模拟试卷1

(共8套)

(共264题)

全国自考(计算机软件基础)模拟试卷

第1套

一、单项选择题(本题共75题,每题,,0分,共75

分。)

1、与所使用的计算机无关的是数据的【】结构。

A、存储

B、物理

C、逻辑

D、物理和逻辑

标准答案:c

知识点。析:数据的逻辑结构是从逻辑关系上描述数据,它与计算机存储无关,是

独立于计算机的。

2、数据的逻辑结构又分为【】

A、动态结构和静态结构

B、紧凑结构和非紧凑结构

C、线性结构和非线性结构

D、内部结构和外部结构

标准答案:C

知识点解析:数据的逻辑结构是数据之间的外在联系,可以分为两类:线性结构和

非线性结构。

3、在以下叙述中,不正确的是【】

A、数据的逻辑结构是数据元素之间的逻辑关系,是依赖于计算机语言的

B、存储结构不仅涉及数据元素的机内表示,还包括数据之间关联方式的表示

C、顺序存储方式使用的是一段连续的存储区

D、算法的时间复杂度与算法中语句的频度有关

标准答案:A

知识点解析:数据的逻辑结构是数据之间的外在联系,它与计算机存储无关,是不

依赖于计算机语言的。

4、某算法的时间复杂度为0(/),表明该算法的【】

A、问题规模是I?

B、执行时间等于I?

C、执行时间与/成正比

D、问题规模与/成正比

标准答案:C

知识点解析:暂无解析

5、下列程序的功能是计算两个矩阵的乘积,其算法的时间复杂度是【】void

mul_matrix(intn>inta[][5],intb[][5],intc[][5])(inti»j,k,x;for(i=0;i

A、0(n)

B、O(log3n)

C、O(n2)

D、0(n3)

标准答案:D

知识点解析:暂无解析

6、下面程序段的时间复杂度为【】for(inti=0;i

A、0(m2)

B、0(n)

C、0(m*n)

D、0(m+n)

标准答案:C

知识点解析:暂无解析

7、已知指针p和q分别指向某单链表中第一个节点和最后一个节点。假设指针s

指向另一个单链表中某个节点,则在s所指节点之后插入p所指向的链表应执行的

操作是【】

A、q—>next=s->ncxt;s一>next=p;

B、s->next=p;q—>next=s一>next

C>p一>next=s一>next;s一>next=q:

D、s—>next=q;p->next=s一〉next;

标准答案:A

知识点解析:插入p所指向的链表时,应首先将单链表的最后一个节点q指向节点

s的下一个节点,最后将s指向单链表的第一个节点p。

8、在一个具有n个节点的有序单链表中插入一个新节点并使其仍然有序的时间复

杂度为【】

A、0(1)

B、0(n)

C、O(n-)

D、O(log3n)

标准答案:B

知识点解析:在有序单链表中插入一个节点并使其保持有序,花费时间最多的是查

找插入位置。对具有n个节点的单链表来说,杳找位置的平均比较次数是(n+1)/

2,故时间复杂度为0(n)。

9、在一个单链表中,已知q所指节点是p所指节点的前趋节点,若在q和p之间

插入s所指向的节点,则执行的操作是【】

A^s—>next=p—>next;p—>next=s;

q一>next=s;s->next=p:

C^p—>next=s;s—>next=q;

D^p—>next=s—>next;s—>next=p;

标准效索.R

知识E解析:暂无解析

10、设在一个单链表中指针p指向节点a,若要删除a之后的一个节点(若存在),

则需执行的修改指针的操作为【】

A、p—>ncxt=p一>next一>next

B、p=p->next

C>p=p->next->next

D、next=p

标准答案:A

知识点解析:暂无解析

11、带头节点的单链表heaki为空的判定条件是【】

A、head==NULL

B、head一>next==NULL

C、head—>next==head

D、head!=NULL

标准答案:B

知识点解析:带头节点的单链表head,head指向单链表的头节点,头节点的指针

域head—>next指向第一个数据节点,如果head—>next的值为空,则单链表为

空。

12、按照1、2、3、4、5的次序依次入栈时,出栈序列不可能是【】

A、1、2、3、4、5

B、2、3、4、5、1

C、5、4、3、2、1

D、5、4、1、2、3

标准答案:D

知识点解析:栈是按“先进后出”的原则组织数据的,所以选项D中若5先出栈,

出栈的顺序只能是5、4、3、2、1,1是不可能在2、3的前面出栈的。

13、在一个链队列中,假设f和r分别为队头和队尾指针,则插入指针s所指节点

的运算是【】

A、f—>next=s;f=s;

B、r—>next=s;r=s;

C^s—>next=r;r=s;

D、s—*>next=f;f=s;

标准答案:B

知识点解析:链队列的插入操作在队尾进行,若队列未满,只需要在链队列尾部增

加新节点,并让队尾指升指向新节点即可。

14、假定一个顺序队列的队头和队尾指针分别用front和rear表示,则判断队列为

空的条件是【】

A,front+1==rear

B、rear+1==front

C、front==0

D、front==rear

标准答案:D

知识点解析:暂无解析

15、假定利用数组a[N]顺序存储一个栈,用top表示栈顶指针,1叩二=一1表示栈

空,并已知栈未满,当元素x进栈时所执行的操作为【】

A、a[—top]==x

B、a[top-]==x

C、a[++top]==x

D、a[top++]==x

标准答案:C

知识点解析:若栈未满,则进栈的步骤是:(1)栈顶指针上移I个节点。(2)将数据

加入到top所指位置。

二、填空题(本题共70题,每题1.0分,共10分。)

16、在C语言中,表示换行的转义字符是

标准答案:\n

知识点解析:暂无解析

17、执行for(j=k=0;j<10;k+=j++);语句后,变量k的值是o

标准答案:45

知识点解析:暂无解析

18、已知:charslr[15];str数组的最后一个元素是。

标准答案:str[14]

知识点解析:暂无解析

19、数据的逻辑结构又分为两类:线性结构和o

标准答案:非线性结构

知识点解析:暂无解析

20、n阶三对角阵压缩存储至少需要个存储空间。

标准答案:3n一2

知识点解析:暂无解析

21、在带有表头节点的单链表L中,若要删除第一个节点,则需执行的三条语句

是:;L->next=p->next;free(p);。

标准答案:p=L—>next

知识点解析:暂无解析

22、对于一棵具有n个节点的树,该树中所有节点的度数之和为。

标准答案:n—1

知识点解析:暂无解析

23、拓扑排序是针对图的。

标准答案:有向无环

知识点解析:暂无解析

24、是按某种顺序将数据元素的无序序列调整成有序序列的过程。

标准答案:排序

知识点解析:暂无解析

25、黑盒测试法包括等,'介划分、以及错误推测法等。

标准答案:边界值分析

知识点解析:暂无解析

三、程序分析题(本题共4题,每题7.0分,共4分。)

26、以下程序是用来统计从键盘输入的一个正整数的各位数字中零的个数,并求各

位数字中的最大者。例如:1080的各位数字中零的个数是2,各位数字中的最大者

是8。请将程序补充完整。#includemain(){unsignedlongnum,max,t;int

count;count=max=0;scanf("%old”,&num);do{l=;

if(t==0)++count:elseif(max

标准答案:num%10

知识点解析:暂无解析

27、下列程序的功能是输出100以内能被3整除且个位数为6的所有整数,填空完

成程序。#includemain(){inti,j;for(i=0;i<10;i++){j=i*10+6;

if()continue;printf("%d\n",j);)}

标准答案:j%3!=0

知识点解析:暂无解析

28卜列程序的运行结果是o#includemain(){inti=l,j=l;for(;j<20;

i++){if(j>10)break;if(j%2!=0){j+=3:continue.;)j一=1;}printf("%d,%d

\n”,i,j);}

标准答案:10,12

知识点解析:暂无解析

29>以下程序的输出结果是________o#includemain(){intarr[10],2k=0;

for(i=0;i<10;i++)arr[i]=i;for(i=0;i<4;i++)k+=arr[i]+i;prinlf(、%d\n”,

k):}

标准答案;12

知识点解析:暂无解析

四、程序设计题(本题共2题,每题7.0分,共2分。)

30、从键盘输入任意一个3位正整数(即在100〜999之间的整数),求其各位上数

字之和。如输入123,则结果应输出6(即1+2+3=6)。

标准答案:#includemain(){intnum;intsum;scanf(M%d",&num);sum二num/

100+num/10%10+num%10;prinlf("您输入的数据是:%d,它各位上数字之和

是:%d\n",hum,sum);)

知识点解析:暂无解析

31、假设二叉树采用二叉链存储结构,设计一个算法把二叉树b复制到二叉树t

中。

标准答案:voidCopy(BTNode*b,BTNode*&t){if(b=NULL)t=NULL;else

{t=(BTNode*)manoc(si2eof(BTNode));t一>data=b—^>data;Copy(b—*>lchild,t

->lchild);Copy(b->rchild,t->rehild);))

知识点解析:暂无解析

全国自考(计算机软件基础)模拟试卷

第2套

一、单项选择题(本题共75题,每题7.0分,共75

分。)

1、不属于c语言转义字符的是【】

A、

B、\

C、\ddcl

D、\xhh

标准答案:B

知识点解析:转义字符是由字符开始,后面跟若干个字符组成的控制字符。

2、若变量a和i己正确定义,且i已正确赋值,则下列是合法的语句的是【】

A、a==l

B、++i;

C、a=a++=5;

D、a=int(i);

标准答案:B

知识点解析:选项A是一个表达式,因为缺少分号,所以不是语句;选项C包含

一个不合法的运算符“++=",选项D应为a=(im)i;。

3、执行下列程序段后的输出结果是[]inta=3»b===2;printf("%d,%d",b=a

A、0,0

B、0,1

C、1,0

D、1,1

标准答案:C

知识点解析:由于printf函数中“表达式列表的计算顺序是自右向左的“,所以先算

“a=a

4、执行语句for(k=4;k>0;k-){break:-k:}后,变量k的值是[]

A、I

B、2

C、3

D、4

标准答案:D

知识点解析:第1次循环时,循环判断条件“4>0”为真,执行循环体。由于循环体

中第1条语句就是“break;",强型退出循环。此时的变量k的值为4。

5、下列叙述正确的是【】

A、while语句的循环体至少执行一次

B、do-while语句的循环体至少执行一次

C^do-while语句的循环体不能是复合语句

D>continue语句能够从循环体内转到循环体外

标准答案:B

知识点解析:while语句的循环体可以一次也不执行;do-while语句的循环体可以

是复合语句;continue只结束本次循环重新进行下次循环判结束整个循环。

6、若有定义语句intmn={5,4,3,2,1},i=4;?则下面对数组m的数组元素

的引用中错误的是【】

A、m|—i]

B、m[2*2]

C>m[m[0]]

D、

标准答案:C

知识点解析:根据定义语句可知数组m中有5个元素,即m[0]〜m[4],在选项C

中,m⑼的值为5,即m[5],因为m数组中的下标最大为4,不存在m[5]

这个个元素,这种情况亦为越界,所以选项C是错误的。

7、已知C语言函数fun()的定义形式为voidfun(charch,floatx){…)则正确调用函

数fun()的语句是【】

A、fun("aH,3.0);

B、ftin(,abcd,,19.5);

C、t=fun('z',3.6);

D、fun(65,32);

标准答案:D

知识点解析:fun()函数的第1个形参为字符型变量,字符型数据可以和整型数据通

用,整型数据对应字符型数据的ASCH码值,所以对应实参可以是字符型数据或

者字符的ASCII码值;函数的第2个形参为单精度型变量,对应实参可以为单精

度或者整型数据;函数定义没有返回值,因此选项C错误;选项A中的”a"是字符

串常量,不能作为第一个实参,所以选项A错误;选项B中的匕bed,格式不正确。

8、设有定义语句intx=3,*p=&x;,则值不为3的表达式是【】

A、X

B、*p

C、p+0

D、*&x

标准答案:c

知识点解析:选项C中的p+O就是p,p是x的地址,地址型表达式的值不是变量

的值。

9、设有以下定义语句,则下面的叙述中不正确的是【】structex{intx;floaty;

charz;}example;

A、struct是结构类型的关键字

B、example是结构类型名

C、x、y、z都是结构类型成员名

D、siructex是结构类型

标准答案:B

知识点解析:暂无解析

10、以下程序段的时间复杂度是[]i=l;k=0;n=100;do{k=k+10*i:

i++:)while(i==n);

A、0(1)

B、0(n)

C、O(i)

D、0(i*n)

标准答案:A

知识点解析:do-while循环执行一次后,i=2,n=100,循环判断条件就不满足了,

所以只执行循环体一次,故时间复杂度为0(1)。

11、在一个长度为n的顺序存储的线性表中,向第i个元素(Igign+l)位置插入一个

新元素时,需要从后向前依次后移【1个元素。

A、n—i

B、n—i+1

C、n—i—1

D、i

标准答案:B

知识点解析:暂无解析

12、往顺序栈中推入一个元素时,栈顶指针是【】

A、加1

B、减1

C、不变

D、清0

标准答案:A

知识点解析:在顺序栈中,栈顶指针是正向增长的,即进栈时将栈顶指针加1,退

栈时将栈顶指针减io

13、某二义树的先序序列是abdgcefh,中序序列是dgbaechf,则其后序序列是

[1

A、bdgcefha

B、gdbccfha

C、bdgaechf

D、gdbehfca

标准答案:D

知识点解析:暂无解析

14、从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的

排序方法是【】

A、希尔排序

B、直接选择排序

C、直接插入排序

D、冒泡排序

标准答案:B

知识点解析:暂无解析

15、下面不属于软件设计原则的是【】

A、抽象

B、模块化

C、自底向上

D、信息隐蔽

标准答案:C

知识点解析:暂无解析

二、填空题(本题共70题,每题1.0分,共10分。)

16、从用户使用的角度来看,函数分为库函数和_______函数。

标准答案:用户自定义

知识点解析:暂无解析

17、若有以下函数调用语句:func(a+b,(x,y),fun(n+k,d,(a,b)));在此函数

调用语句中实参的个数是______O

标准答案:3

知识点解析:暂无解析

18、函数的返回值是通过函数体中的语句获得。

标准答案:return

知识点解析:暂无解析

19、如果被调函数定义为类型,则被调函数不带回任何值。

标准答案:void或空

知识点解析:暂无解析

20、只有先定义一个_______型变量,才能将另外一个变量的地址存放到该变量

中。

标准答案:指针

知识点解析:暂无解析

21、若指针变量P指向整型变量i,则i变量又可用表示。

标准答案:*p

知识点解析:暂无解析

22、已知:inta口二{1,3,5,7,9),*ip=a;,表达式*(ip+2)的值是。

标准答案:5

知识点解析:暂无解析

23、下面程序的输出结果是_______o#includemain(){chara[]={9,8,7,6,5,

4,3,2,1,0},*p=a+5;printf("%d\n",*-p);}

标准答案:5

知识点解析:暂无解析

24、有如下定义语句:structstu{intx:floaty:charz;}a[3],*p=a;则数组a

共占个字节。

标准答案:21

知识点解析:暂无解析

25、有如下定义语句:struct{intX:inty;}s[2]={{l,2},{3,4)),*p=s:则表

达式(++p)x的结果是o

标准答案.3

知识点诵析:暂无解析

三、程序分析题(本题共4题,每题1.0分,共4分0)

26、阅读下列程序,写出程序的运行结果。#includesub(intx,inty,int*z)

{*z=y—x;)main(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,

&c);printf(M%d,%d,%d\n”,a,b,c);}

标准答案:一5,—12,—7

知识点解析:暂无解析

27、写出下列程序的运行结果。#includestructst{intx:int*y:)*p:int

dt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[l],70,&dt[2],

80,&dt[3]J;main()(p=aa;printf("%d\n",++p->x);printf("%d\n",(++p)

一>x);}

标准答案:5160

知识点解析:暂无解析

28、以下程序的功能是将两个3*4阶矩阵相加,并显示出结果。请填空完成程序。

includemain()(inta[3][4]={{3,-2,1,2),{0,1,3,—2),{3,1,0,4)};

intb[3][4]={{-2,3,0,11),[1,0,一2,3).{一2,0»1,—3}};inti,

j,c[3][4];for(i=0;i<3;i++)for(j=0;j<4;j++)①;for(i=0;i<3;i+4-)

{for(j=0:j<4;j++)prinff("%d",c[i]UD:②;}}

标准答案:®c[i]|j]=a[iHjl+bli][j]②primf("\n”)

知识点解析:暂无解析

29、以下程序的功能是将字符数组a中下标值为偶数的元素从小到大排列,其他元

素不变。请填空完成程序。#include#includemain()(ehara|]="clanguage",t;int

1,j,k;k=strlen(a);for(i=0;i<=k-2;i+=2)for(j=i+2;j<=k;①)if(②)

{t=a[i];a[i]=a[j];a[j]=t;)puts(a);printf("\n");)

标准答案;①jl=2或j=jl2②a[i]>a]j]

知识点解析:暂无解析

四、程序设计题(本题共2题,每题7.0分,共2分0)

30、编写一个程序,其功能是将输入的4个整数按由小到大的顺序输出。

标准答案:#inckidemain(){intt,a,b,c,d:printf("请输入4个整数:"):

scanf("%d,%d,%d,%d\n",8La,&b,&c,&d);printf("a=%d,b=%d,

c=%d,d=%d\n",a,b,c,d);if(a>b){t=a;a=b;b=t;)if(a>c){t=a;a=c;

c=t:}if(a>d)(t=a;a=d:d=t;}if(b>c){t=b;b=c;c=t;}if(b>d){t=b.b=d:

d=t;}if(c>d){t=c;c=d;d=t;}printf(排序结果如下;\n");printf("%d,

oAd,%d,%d\n",a,b,c,d);)

知识点解析:暂无解析

31、假设二叉树采用二叉链存储结构存储,试设计一个算法,计算一棵给定二叉树

的所有叶子节点个数。

标准答案:intLeafNodes(BTNode*b)intnuml,num2;if(b==NULL)return0;else

if(b—>lchild==NULL&&b一>rchild==NULL)return1;else{numl=LeafNodes(b

一>ichild);num2=LeafNodes(b->rchild);return(num1+num2);)}

知识点解析:暂无解析

全国自考(计算机软件基础)模拟试卷

第3套

一、单项选择题(本题共75题,每题1.0分,共15

分。)

1、一个完整的c程序由【】构成。

A、一个主程序和一个子程序

B、一个主函数和若干个子函数

C、一个主函数和一个其他函数

D、一个主函数和若干个子程序

标准答案:B

知识点解析:一个完整的C程序是由一个主函数和若干个子函数构成的,并且程

序的执行总是从主函数开始。

2、下列叙述中错误的是【】

A、一个C程序至少包含一个函数

B、一个C程序可以包含一个主函数和若干个其他函数

C、主函数和其他函数之间可以相互调用

D、C程序的基本单位是函数

标准答案:C

知识点》析:主函数可以调用其他函数,但是其他函数不能调用主函数。

3、有以下程序:#includeintfun(inta,intb){if(b==0)returna;elsereturn(fun(—

a,-b));}main(){printf(H%d\n",fun(4,2));}程序的运行结果是[]

A、1

B、2

C、3

D、4

标准答案:B

知识点解析:因为题中实参为4和2,所以在函数「un中,形参a=4,形参b=2,

不满足if语句的判定条件,所以执行else子句,继续调用函数fun,在此过程中

a、b的值总是每调用一次函数则都减1,直至a=2,b=0为止,所以程序最后的结

果为2。

4、局部变量的作用域是【】

A、该变量所在的程序

B、该变量所在的文件

C、主函数

D、该变量所在的函数

标准答案:D

知识点解析:在函数内部定义的变量称为局部变量,局部变量的作用城就是其所在

的函数。

5、下列程序的输出结果是[]#includefun(intx){intp;if(x==OII

x==l)return⑶;p=x-fun(x一2);returnp:}main(){printf("%d\n",fun(9));)

A、7

B、2

C、0

D、3

标准答案:A

知识点解析:暂无解析

6、下列关于C语言程序的叙述,正确的是【】

A、main。所在行的末尾必须有”

B、主函数的函数体不一定用花括号((1)括起来

C、一个完整的C程序可以没有任何函数

D、C语言程序的简单语句必须用分号(;)作为语句的结束符

标准答案:D

知识点解析:一个完整的C程序可由一个主函数main组成,或由一个主函数和若

干个子函数构成,main。所在行的末尾没有“;”,主函数的函数体必须用花括号括

起来。

7、以下程序的输出结果是[]#includeintf()(staticinti=0;ints=l:s+=i;

i++;return(s);}maim)(inti,a=0;for(i=0;i<5:i++)a+=f();printf("%d\n",

a);)

A、1

B、0

C、15

D、5

标准答案:C

知识点解析:暂无解析

8、已知inta[100],*d=a;,下列语句错误的是[]

A^a=d;

B、*d=a[10];

C、d=a+1;

D、d=&a[2];

标准答案:A

知识点解析:暂无解析

9、己知charstr1[30],*str2="student_no";,执行语句strcpy(strl,str2);后,

strlen(strl)的值是[]

A、9

B、10

C、29

D、30

标准答案:B

知识点解析:strcov(strLstr2)的功能是将str2的内容复制到strl中;strlen(strl)的

功能是求字符数组所表示串的长度。

10,已知inta=5,b=3,*p=&b,*q=&a;,下列赋值语句中与b=a:等价的是

[]

A、*p=*q;

p=q;

C、*p=&q;

D、*p=*b;

标准答案:A

知识点解析:*p=&b,*q=&a;使指针p指向b,指针q指向a,则*p和b为同一

个存储空间,则*q和a为同一个存储空间,所以与b=a;等价的语句是*p=*q;。

11、设有语句intx[]={l,2,3,4,5,6),*p=x;,则值为3的表达式是【】

A、p+=2,*++p

B、p+=2,*p++

C^p+=2,++*p

D、p+=3,*p

标准答案:B

知识点解析:选项A、B、C中的“p+=2”使p指向敖组元素x[2](其值为3)。选项A

中的“*++p”是先使p指向数组元素x[3],再取其值4。选项B中的“*p++”是先取P

指向的数组元素x[2],其值为3,然后使p指向数组元素x[3]。选项c和D中的表

达式的值均为4。

12、指针变量是指【】

A、整型变量

B、下标变量

C、变量的地址

D、存放变量地址的变量

标准答案:D

知识点解析:指针就是它所指对象的地址。指针变量就是用来存放指针(地址)的变

量。

13>设有数据定义语句structxyz{intx;floaty;charz;Jxyzl;,则下面的说法中

错误的是【】

A、structxyz可以看成一种数据类型符

13、xyz是用户定义的结构类型名称

C、xyzl可以用来定义该结构类型变量

D、X是结构类型的成员名

标准答案:C

知识点解析:在给定的结构类型的数据定义语句中,struct是定义结构类型时的系

统保留字(关键字);xyz是用户任意选取的标识符,作为结构类型的名称:struct

xyz可以看成是用户定义的一种结构类型的数据类型符,以后可以用它来定义这种

结构类型的变量、数组、指针变量等;x、y、z是这种结构类型的成员名;“xyzl”

是这种结构类型的变量名。

14、下列说法错误的是【】

A、在定义结构变量时不能给其赋初值

B、可以取结构变量的地址

C、可以取结构变量成员的地址

D、结构类型的成员可以定义成该结构类型的指针类型

标准答案:A

知识点解析:暂无解析

15^有以下程序:#includestructst{intx,y;)data[2]={1,10,2,20);main()

{structst*p=data;printf("%d,",p->y);printf("%d\n",(++p)—>x);}程序

的运行结果是【】

A、10,1

B、20,1

C、10,2

D、20,2

标准答案:C

知识点解析:暂无解析

二、填空题(本题共10题,每题1.0分,共70分。)

16、若有语句:inta=5,y=6;y=a++;,则y的值是。

标准答案:5

知识点解析:暂无解析

17、表示整数x的绝对值大于5时值为“真,,的C语言表达式是o

标准答案:x>5””xv—5或xv—5IIx>5

知识点解析:暂无解析

18、以下程序运行后的输出结果是________o#includemain(){intp=30;printf("%

d\nn,(p/3>0?p/10:p%3));)

标准答案:3

知识点解析:暂无解析

19、若有定义:ima=10,b=9,c=8;,接着顺序执行下列语句,执行后变量b的

值是oc=(a一=(b—5));c=(a%1l)+(b—3);

标准答案:3

知识点解析:暂无解析

20若有定义语句:inlni=5,y=2;,则执行表达式y+=y—=m*=y后,y的值为

标准答案:一16

知识点解析:暂无解析

21、do-while语句中while后的表达式的值最终应达到,才能正常退出循

环。

标准答案:0

知识点解析:暂无解析

22、下列程序的输出结果是o#includemain(){charb[]=,'Helloyou";

b[5]=0;printfC%s\n",b);)

标准答案:Hello

知识点解析:暂无解析

23、下列程序的输出结果为o#includcmain()(intx=l,y=2,z=0;

if(x=2)z=x,x=y,y=z:printf("%d,oAd\n'\x,y):}

标准答案:2,2

知识点解析:暂无解析

24、已知:inta[10]={9,7,1,5,6);,则数组元素a[a[2]]=。

标准答案:7

知识点解析:暂无解析

25、已知:charstr[15];,str数组的最后一个元素是

标准答案:str[14]

知识点解析•:暂无解析

三、简答题(本题共4题,每题L0分,共4分。)

26、某公司货运收费标准是:本地货运每吨运费10元。外地货运每吨运费20元,

距离500公里(含)以上每吨运费增加5元。外地货运量100吨(含)以上时运费增加

5%。用判定树表达运费的计算方法。注:设货运量为N吨,距离为L公里,运

费为W元。

L本地W=1ON

r-N<IOO——W«20N

货运收费标净——L<5OoJ

LN^IOO—W=1.05x20N

L外地一

pN<100—W=(20+5)N

标准答案:小巩心仙一W=1.05x25N

知识点解析:暂无解析

27、写出如下图所示的二叉树的中序遍历序列。

标准答案:HDIBEAJFKCLGM

知识点解析:暂无解析

28、对于图G-l(1)从顶点1出发,按邻接顶点序号由小到大顺序给出广度优先遍

图G-)

标准答案:(1)广度优先遍历的顶点序列:1256734(2)最小生成树:

29、已知关键字序列为{46,57,84,32,73,36,15,48,90,20),要求:(1)

按照已给关键字的先后次序构造一棵二叉排序树。(2)在等概率的情况下,计算已

构造的二叉排序树查找成功的平均杳找长度(ASL)。

标准答案:(1)二叉排序树如下:

的情况下,该二叉排序树查找成功的平均查找长度为[26*]或2.9。

知识点解析:暂无解析

四、程序分析题(本题共4题,每题7.0分,共4分0)

30、写出下列程序的功能。#includemain()(intu[]={1,5,6,8,3,5,2,6,

8,9};inti;floatx:x=0:for(i=0;i<10;i++)x+=u[i]:x=x/10;printf("%

F,x);)

标准答案:本程序的功能是:计算一维数组中所有元素的平均值。

知识点解析:暂无解析

31、阅读下列程序,写出程序的运行结果。#definesqstack_maxsize40typedef

structsqstack{chardata[sqstack_maxsize];inttop;JSqStackTp:main()

{SqStackTpsq;inti;charch;InitStack(&sq);fbr(ch='A';chv='A'+12;ch++)

{Push(&sq,ch);print『("%c",ch);)printf("\n");while(!EmptyStack(sq))

{Pop(&sq,oh);printf("%c",ch);)printf("\n");)

标准答案:ABCDEFGHIJKLMMLKJIHGFEDCBA

知识点解析:暂无解析

32、函数fun的功能是使字符串str按逆序存放。请填空完成函数。fun(charstr[])

{charm;inti,j;tor(i=0,j=strlen(str);i<①;i++,j—)(m=strlij;str]ij=

②;str|j—1]=m;}printf("%s\n",str);)

标准答案:①j②str[j—1]

知识点解析:暂无解析

33、下列算法的功能是借助栈将一个带表头节点的单链表逆置。请填空完成算法。

voidreverselist(LinkedListTP*head){LstackTPIs,P:DataTypex:InitStack(&ls);

p=hcad—>ncxt;while(①){Push(&ls,p->data);@;}p=hcad—>ncxt;

while(!EmptySlaek(&Is)){Pop(&ls,x);p—>data=x;p=p->next;}}

标准答案:(l)p!=NULL@p=p_*>next

知识点解析:暂无解析

五、程序设计题(本题共2题,每题L0分,共2分°)

34、已知银行整存整取存款不同期限的月利息率分别为:

0.63%期限一年

0.66%期限两年

月利息率69%期限三年

0.75%期限五年

0.84%期限八年要求输入存钱的本金和期限,求到期时能从银行

得到的利息与本金的总和。

标准答案:#includemain(){intmoney,year;floatn;printf("inputmoneyand

year:");scanf("%d,%d”,&money,&year);switch(year){case1:n=0.63;

break:case2:n=0.66;break;case3:n=0.69:break;case5:n=0.75;

break;case8:n=0.84.bteak;default:n=l:)if(n==I)printf("dataerror!1');

elseprintf("total=%.2f\nH,money*(l+n));}

知识点解析:暂无解析

35、设二维数组A[6]⑹表示6节点无向图的邻接矩阵,编写程序,从键盘上输入

邻接矩阵的数据,求出该无向图的边数以及各个节点的度,输出所求结果。

标准答案:#inckidemain(){inta[6][6],i,j'b,s;for(i=0;i<6;i++)for(j=0;

j<6;j++)scsnf("%d",&a|i]|j]);s=0;for(i=0;i<6;i++){b=0;for(j=0;j<6;

j++)if(a|i]Ej]==l)b=b+l;printf(',%dnodedegree:%d\n”,i,b);s=s+b;}

printf("Thesumis%d\n",s/2);}

知识点解析:暂无解析

全国自考(计算机软件基础)模拟试卷

第4套

一、单项选择题(本题共75题,每题1.0分,共15

分。)

1、如下图所示的4棵二叉树中,不是完全二叉树的是【】

标准答案:C

知识,2解析:完全二叉树是一个满二叉树的最下层从右向左连续缺少n(nK))个节点

的二叉树。

2、如果某二叉树的先序序列是stuwv,中序序列是uwtvs,那么该二叉树的后序序

列为【】

A、uwvts

B、vwuts

C、wuvts

D、wutsv

标准答案:c

知识点解析:暂无解析

3、如下图所示的二叉树的中序遍历序列是【】

A、abcdgef

B、dfebagc

C^dbaefcg

D、defbagc

标准答案:B

知识点解析:中序遍历的次序是中序遍历左子树、访问根节点、中序遍历右子树。

4、如果T2是由有序树T转化而来的二叉树,那么T的先序序列就是T2的【】

A、先序序列

B、中序序列

C、后序序列

D、层次序序列

标准答案:A

知识点脑析:树的先序遍历结果和对应二叉树的先序遍历结果一样。

5、按照二叉树的定义,具有3个节点的二叉树的中序遍历结果为abc,则该类二

叉树共有【】

A、3种

B、4种

C、5种

D、6种

标准效塞.C

知识之解析:暂无解析

6、在一个非空二叉树的中序遍历序列中,根节点的右边【】

A、只有右子树上的所有节点

B、只有右子树上的部分节点

C、只有左子树的部分节点

D、只有左子树上的所有节点

标准答案:A

知识点解析:中序遍历的次序是先中序遍历根的左子树,再访问根节点,最后中序

遍历右子树,因此,根节点的右边只有右子树上的所有节点。

7、具有n个叶子节点的哈夫曼树的节点总数为【】

A、不确定

B、2n

C、2n+l

D、2n—1

标准答案:D

知识点解析:哈夫曼树是二叉树,因此二叉树的性质适用于哈夫曼树,乂因为它没

有度为1的节点,所以度为2的节点的个数为n—l个,节点总数为n+(n—l)=2n

一1O

8、在具有n个顶点、。条边的无向图的邻接表中,所有边的链表中边节点的总数

是【】

A、e/e

B、e

C、2e

D^2e+n

标准答案:c

知识点小析:在邻接表中,边节点是顶点的所有邻接点,1条边连接2个丁贞点,

因此,边节点的总数是2e。

9、对节点个数为18的顺序存储有序表,则采用折半查找方法查找第15个节点的

成功查找次数为【】

A、3

B、4

C、5

D、6

标准答案:B

知识点解析:暂无解析

10、下列描述不正确的是【】

A、顺序查找对表中元素的存放位也无任何要求,当n较大时,效率低

B、当顺序表中关键字有序时,可采用折半查找

C、折半查找也称为二分查找

D、在链式存储结构上可以进行折半查找

标准答案:D

知识点解析:折半查找只适用于有序表,且限于顺序存储结构,在链式存储结构上

是无法进行折半查找的。

11、关键字比较的次数与记录的初始排列次序无关的是

A、希尔排序

B、冒泡排序

C、插入排序

D、选择排序

标准答案:D

知识点解析:暂无解析

12、肖待排序的序列中数据关键字基本有序或元素个数较少时,则最好的排序方法

是【】

A、基数排序

B、冒泡排序

C、直接选择排序

D、直接插入排序

标准答案:D

知识点解析:暂无解析

13、结构设计属于软件开发中的哪个阶段【】

A、软件定义阶段

B、软件编码阶段

C、软件设计阶段

D、软件维护阶段

标准答案:C

知识点解析:软件设计阶段分为两个子阶段:总体设计和详细设计.总体设计过程

和结构设计两个部分组成。

14、下列是结构化语言的是【】

A、FORTRAN

B、C

C、BASIC

D、COBOL

标准答案:B

知识点解析:暂无解析

15、在瀑布模型中,将软件开发的过程划分为若干个阶段,软件项目的可行性研究

属于【】

A、维护阶段

B、计戈IJ阶段

C、运行阶段

D、开发阶段

标准答案:B

知识点解析:暂无解析

二、填空题(本题共10题,每题1.0分,共70分。)

16、表达式3*9%2+9%2*5的值为。

标准答案:6

知识点解析:暂无解析

17、执行下列语句后,变量x的值是__________oswitch(x=l)(case1:x=2;case

2:x=3;}

标准答案:3

知识点解析:暂无解析

18、若定义了一个二维数组数且该数组的起始地址为1000,则元素定1][3]

的地址为。(一个整型变量占2个字节)

标准答案:1014

知识点解析:暂无解析

19、执行下列程序段后,*(p+l)的值是_________ccharc[3]=="ab",*p;p==c;

标准答案:b

知识点解析:暂无解析

20、为了使线性表能更好地做插入与删除操作,应采用存储结构为好。

标准答案:链式

知识点解析:暂无解析

21、栈满后再进行进栈运算,则发生__________。

标准答案:上溢

知识点解析:暂无解析

22、已知8个数据元素为34、76、45、18、26、54、92、65,按照依次插入节点

的方法生成一棵二叉排序树,则该树的深度为o

标准答案:5

知识点解析:暂无解析

23、圈的是图运算的基础。

标准答案:遍历

知识点解析:暂无解析

24、假设待排序数据元素序列的关键字序列为1、2、2\采用冒泡排序方法按

递增排序得到的结果为。

标准答案:i,r,2,2,

知识点解析:暂无解析

25、是现实世界中个体或事物的抽象。

标准答案:对象

知识点解析:暂无解析

三、程序分析题(本题共4题,每题1.0分,共4分。)

26、当运行下列程序时,从键盘输入AabD”,请写出下面程序的运行结果。

#includemain(){chars|80|;inti=0:gets(s):while(s[i]!=,\O')

{if(s[i]<=,Z,&&s[i]>=,a,)s[i]=,z,+,a,-s[i];i++:)puts(s):)

标准答案:AzyD

知识点解析:暂无解析

27、写出下列程序的运行结果。#include#includetypedefstruct{charname[10];

longhum:floatscore;)STU;main(){STUa={"liming",1001,86},

b=("anjia",1002,95),1003,100),d,右p=&d;d=a:

if(strcmp(a.name,b.name)>0)d=b;if(strcmp(c.name,b.name)>0)d=c;

printf("s,%d\n",p—>name,d.num);}

标准答案:lili,1003

知识点解析:暂无解析

28、下列程序的功能是将从键盘输入的一对数,按从小到大的顺序输出,当输入一

对相等的数时结束循环。请填空完成程序。#includemain(){inta,b,t;scanf("%

d%d”,&a,&b);while(①){if(②)a=b;b=t;}printf("%d,%d\n",

a,b);scanf(”%d%d”,&a,&b):))

标准答案:G)a!二b②a〉b

知识点解析:暂无解析

29>下列函数的功能是求链表长度。请填空完成算法。structnode(charch;struct

node*link;};str(struclnode*p){int(T);while(p!二NULL){②;count++;}

return(count);}

标准答案:(T)count=0②p=p_*>next

知识点解析:暂无解析

四、程序设计题(本题共2题,每题7.0分,共2分0)

30、编写C程序,其中fun函数的功能是求n以内(不包括n)同时能被3与7整除

的所有整数之和的平方艰;主函数的功能是输入n的值,调用fun函数,并输出结

果。

标准答案:#include#includeintfun(intn);main(){iniinputNum;scanf("%d'\

&inputNum);printf("输入的数是%(1\n计算结果为:%d\n",inputNum,

fun(inputNum));)intfun(intn){intsum=0;for(inti=l;i

知识点解析:暂无解析

31、请编写函数,从传送过来的三个数中选出最大数和最小数,并通过形参传回调

用函数。

标准答案:#includefun(int*a,int*b,int*c){intmax,min;max=*a;min=*a;

if(*b>*a)max=*b;if(*b<*a)min=*b:if(*c>max)m£x=*c:if(*c

知识点解析:暂无解析

全国自考(计算机软件基础)模拟试卷

第5套

一、单项选择题(本题共75题,每题7.0分,共75

分。)

1、设变量已正确定义并赋值,下列表达式正确的是【】

A、x=y*5=x+z

B、int(15.8%5)

C、x=y+z+5,+十y

D、x=25%5.0

标准答案:C

知识点解析:选项A中赋值号左边不能为表达式。选项B和D中,求余运算符的

两边的运算对象必须是整数。

2、字符串“xyZ”在内存中占用的字节数是【】

A、3

B、4

C、6

D、8

标准答案:B

知识点解析:字符串中的每个字符占1个字节,在存储字符串时,系统自动在最后

一个有效字符后面加上1个结束标记字符占一个字节)。这样,存储字符

串常量"xyZ”需要4个字节。

3、假定有数据定义语句floatx;,能为x输入数据的正确语句是【】

A、scanf("%f,3.5);

B、scanf("x=%f);

C、scanf(H%4.2f,&x);

D、scanff%"&x);

标准答案:D

知识点解析:scanf函数的一般形式为:scanf("格式控制字符串“,输入对象地址列

表),题中x为float型变量,故格式控制字符串为%f,输入对象地址为&x。

4、有如下程序段:inta=l4,b=15,x;charc=,A,:x=(a&&b)&&(c<,B,);执

行该程序段后,x的值为【】

A、true

B、false

C、0

D、1

标准答案:D

知识点解析:暂无解析

5、下列算法的时间复杂度是[]for(inti=l:i<=n;i++)for(intj=l:j<=n;j-+)

a[i]U]=i+j;

A、O(nlog2n)

B、O(n)

C、0(2n)

D、0(n2)

标准答案:D

知识点解析:有两个f。「循环,每个循环执行n次,循环体共执行¥次,所以本程

序的时间复杂度是0(1?)。

6、若定义函数时省略函数的数据类型符,则函数默认的数据类型是【】

A、void

B、char

C、int

D、float

标准答案:C

知识点解析:暂无解析

7、现有定义语句inta=IO,*p=&a;,则不能使a的内容增1的语句是【】

A、*p++;

*p=*p+l;

C、++*p;

D、*p+=l;

标准答案:A

知识点解析:表达式*P++表示先取*P作为表达式的值,然后使指针变量P本身增

1,它不能使a的内容增1。

8、已知C语言程序段如下:structsa{intnum;charname[10];float

f;)stu|3|={{5,"liming",85.0),{6,Hliuliang',91.5),(7,"wangxinH,

100)};structsa*p;p=stu;则值为91.5的表达式是[]

A、(*p).f

B、(*++p).f

C>(*p++).f

D、(p++)->f

标准答案:B

知识点解析:p为指向结构数组的指针,初始指向数组slu的首地址,++p为下移

一个节点,指向f等价于(*++p),fo

9、算法的时间复杂度与下列哪些因素有关【】

A、问题的规模

B、待处理的数据的状态

C、算法中语句的频度

D、以上都是

标准答案:D

知识点解析:算法的时间复杂度与问题的规模、的频度和数据的状态等因素有关。

10、下列有关线性表的叙述中,正确的是【】

A、线性表中的元素之间是线性关系

B、线性表中至少有一个元素

C、线性表中任何一个元素有且仅有一个直接前趋

D、线性表中任何一个元素有且仅有--个直接后继

标准答案:A

知识点解析:线性表中元素个数为0时称为空表。线性表的开始节点无直接前趋,

终端节点无直接后继。

11、已知一个栈的进栈序列是1、2、3、…、n,其输出序列是p]、p2、…、pn,

若pi=n,则pi=[]

A、i

B、n—i

C、n—i+1

D、不确定

标准答案:C

知识点解析:暂无解析

12、一棵二叉树的先序遍历序列为ABCDE,中序遍历序列为BADCE,则后序遍

历序列是【】

A、BDECA

B、BCADE

C、ECBDA

D、ABDCE

标准答案:A

知识点解析:由先序遍历序列和中序遍历序列得知二义树为:

由此可知后序遍历序列为BDECAo

13、在一个图中,所有.页点的度的和等于边数的【】

A、1/2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论