2023年计算机软件基础高等教育自学考试试卷与答案_第1页
2023年计算机软件基础高等教育自学考试试卷与答案_第2页
2023年计算机软件基础高等教育自学考试试卷与答案_第3页
2023年计算机软件基础高等教育自学考试试卷与答案_第4页
2023年计算机软件基础高等教育自学考试试卷与答案_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

计算机软件基础

一、填空题

L程序设计日勺关键在于设计出一种好日勺算法o

2.数据、数据节点和数据项构成了数据组织的三个层次。其中数据项是具有独立含义的最

小标识单位。

3.数据的逻辑构造和物理构造之间日勺互相运算是通过算法来实现日勺。

4.所有节点按1对1日勺邻接关系构成口勺整体就是线性构造。

5.表长为0的线性表称为空表。

6.直接插入排序最佳状况的时间复杂度为0(n)。

7.程序段“i=l;whi1e(i<=n)i=i*2”的时间复杂度为O(log2n)。

8.c语言属于计算机高级语言,既可以用来写系统软件,也可以用来写应用软件。

9.算法是有穷日勺,而程序可以是无穷日勺。

10.实型常量在一般微型机中占用4个字节。

1l.char型和int型日勺运算成果为int型。

12.Getchar()和putchar()函数只能输入、输出「个字符。

13.源程序必须翻译成机器指令即机器语言,这一工作由编译系统来完毕。

14.字符串的长度为串中字符的个数,但在内存中所占的字节数应比长度多1-

15.执行:a=3,b=4,a=a+b,b=a+b后厕a和b日勺值分别为7和11。

16.对于scanf(“%2d%3d%4d”,&a,&b,&c)语句,若键入:123456789,则变量b的值为

345o

17.设intx=10,y,z;执行y=z=x;x=y=-Z后,变量xEKj成果是1。

18.若有阐明:Inta[][5]={l,2,3,4,56,7,8,9,10),则数组第一维的大小为2___。

19.在函数定义中,若没有返回值同类型定义为空类型。

20.c语言规定不能嵌套定义函数,但可以嵌套调用函数。

21.程序中出现日勺/*…...*/表达注释,可以出目前程序的任何地方。

22.c语言日勺数据构造是以数据类型口勺形式描述出来日勺。

23.%运算符的运算对象就为整数。

24.getcharO函数只能出目前体现式口勺位置,接受该函数日勺值时可以用字符型或整型变

量。

25.请将|x|Wa,写成一种逻辑体现式:x<=a&&x>=-a。

26.在构造化程序日勺三种基本构造是指次序构造、选择构造和循环构造。

27.在c语言中,二维数组在内存中日勺排列次序是按行存入。

28.一种完整的c程序可由1个主函数或由1个主函数和若干个子函数构成。

29.在c语言中,变量时使用一般遵守“先定义,而使用"日勺原则。

30.C语言中有两个专门的指针运算符*和&,它们都是单目运算符。

31.在计算机的数据处理中,将字符、声音、,图形和图像均称为数据。

32.在线性表日勺次序存储构造中,其相邻口勺数据节点在物理位置上也是相邻的。

33.若在数据处理中,需要常常对数据进行插入、删除运算,则宜将该数据设置为链式存储。

34.二叉树的遍历措施有:先序遍历、后序遍历和中序遍历。

35.单链表表达法日勺基本思想是用指针表达结点间的逻辑关系。

36.C语言规定,数组元素日勺下标从_Q_开始,最大值为长度减1。

37.在C语言中,引用数组元素时,其数组下标口勺数据类型容许是整型常量或整型体现式。

38.一种变量日勺作用域是指该变量在程序中日勺有效范围,局部变量日勺作用域就是其所在日勺植心。

39.C语言中访问地址日勺方式有两种即直接存取方式和加接在^_方式。

40.运行下列语句:int*p,*q,x[5];p=x;q=p+3;贝!]q指向数值元素x[3]。

41.若某问题日勺空间复杂度为。(1),则认为该问题所耗空间与问题日勺规模无关。

42.在线性表日勺链式存储构造中,单链表中每个节点是一种构造类型。

43.在三对角阵口勺压缩存储中,已知A,=B',试建立k与i,j之间日勺关系为:k=2i+jo

1Jk

44.在软件日勺开发模型中,螺旋模型是一种风险驱动模型,它将瀑布模型和原型模型结合起来。

45.设有100个元素,用折半查找法进行查找时,最大比较次数是Zo

二、选择题

1.下列是C语言对日勺日勺标识符日勺是【D】

A.?aB.a=2C.a.3D.a_3

2.下列体现式中,值为1日勺体现式是【D】

A.3%5B.3/5.0C.3/5D.3<5

3.设变量a,b,c,d依次为字符型、整型、单精度型、双精度型,则体现式“a+b/c*d"日勺数据类型

为【D】

A.整型B.字符型C.单精度型D.双精度型

4.能对日勺体现“0WaW10”日勺体现式是[A]

A.10>=a&&a>=0B.(10>=a)ll(a>=0)

C.0<=a<=l0D.(!a<0)&&(!a>10)

5.在C语言中,main()函数日勺位置【C】

A.必须作为第一种函数B.必须作为最终一种函数

C.可以任意,但必须要在函数之外D.必须放在它所调用日勺函数之后

6.对于输入语句"scanf(%d,%d",&a,&b)”,下面对日勺的输入措施是【A】

A.1,2回车B.12回车C.1回车2回车D.1;2回车

7.下列程序段"inti=j=10;printf(&d,%d\n”——);”日勺输出成果是[B]

A.11,10B.9,10C.11,9D.10,9

8.下面有关for循环对日勺日勺描述是【D】

A.for循环只能用语句循环次数已经确定日勺状况

B.fbr循环是先执行循环体语句,后鉴定体现式

C.在for循环中,不能用break语句跳出循环体

D.for语句日勺循环体中,可以包括多条语句,但要用花括号括起来

9.设有定义“intx[5]={1,2,3);",则数组x占用日勺内存字节数是[D]

A.3B.5C.6D.10

10.若有定义语句“intm,n=2,*p=&m;",则能完毕m=n功能的语句为【B】

A.m=*p;B.*p=*&n;C.m=&nD,m=&p

11.数据在计算机存储器内表达时,物理地址与逻辑地址不相似日勺,称之为[C]

A.存储构造B.逻辑构造C.链式存储构造D.次序存储构造

12.单链表日勺一种存储结点包括【D】

A.数据域或指针域B.指针域或链域

C.指针域和链域D.数据域和链域

13.循环队列日勺队满条件为[C]

A.sq.rear+l)%maxsize==(sq.front+1)%maxsize

B.(sq.rear+l)%maxsize==sq.front+1

C.(sq.rear+1)%maxsize=sq.front

D.sq.rear==sq.fi-ont

14.深度为6时二叉树最多有()个结点[B]

A.64B.63C.32D.31

15.用次序查找法对具有n个结点日勺线性表查找日勺时间复杂性量级为[C]

A.O(n2)B,O(nlogQn)C.0(n)D.O(1og2n)

16.设有语句“intx[6]={5,4,3,2,10),*p=x;",则值2日勺体现式为[A]

A.*(p+4)B.*(p+5)C.*p+4D.*p+5

17.算法分析日勺两个重要方面是[A]

A.空间复杂度和时间复杂度B.对日勺性和简要性

C.可读性和文档性D.数据复杂性和程序复杂性

18.带头结点时单链表Head为空日勺鉴定条件是[B]

A.Head=NULL;B.Head->next=NULL:

C.Head->next=Head;D.均不对的;

19.一种队列的输入列序为1,2,3,4则该队列日勺输出序列是[B]

A.4,3,2,1B.1,2,3,4C.1,4,3,2D.3,2,4,1

20.堆(Heap)是[B]

A.完全二叉树B.线性表C.满二叉树D.都不对时

21.在表长为n日勺次序表中,实行次序查找,在查找不成功时,与关键字比较口勺次数为【C

A.nB.1C.n+1D.n-1

22.下列选项中,合法日勺C语言保留字是[C]

A.AUTOB.SWITC.elseD.integer

23.下列选项中非法日勺实型常数是[A]

A.3E1.0B.1.0E3C..3E-2D.3E-2

24.设有定义“floata=5.0,b=2.5;",则体现式(int)b+a/b日勺值是[D]

A.3B.4C.3.0D.4.0

25.设inta=10,b=20,c=30;条件体现式a〈b?a=15:c时值是[B]

A.10B.15C.20D.30

26.一种C程序是由[B]

A.一种主程序和若干子程序构成B.一种或多种函数构成

C.若干过程构成D.若干子程序构成

27.下列给出日勺符号串中,可以作为C语言标识符是日勺【C】

A.printfB.doC.GOT0D.while

28.在c语言中,合法日勺字符常量是[B]

A.//A//B./x10/C./Oa/D.a

29.如下体现式中与体现式“m=n++”功能完全相似日勺是【A】

A.m=n,n=n+lB.n=n+l,m=nC.m=++nD.m+=n+l

30.若变量a,i已对日勺定义,且i已对日勺赋值,非法的体现式是[C]

A.a==1B.++iC.a=a++=5D.a=(int)(i)

32.当调用函数时,实参是一种数组名厕向对应形参传送日勺是[B]

A.数组的长度B.数组日勺首地址

C.数组中每一种元素日勺地址D.数组中每个元素日勺值

33.假定时数据定义语句“floatx;",能为x输入数据目勺对日勺语句是【D】

A.scanf("%f,',35);B.scanf("x=%f0;

C.scanf(a%4.2f”,&X);D.scanf(“%f”,&x);

34.下列程序段口勺输出成果是【D】

intx=2;

doprinff(%d,”,x一);

while(!(—x));

A.2,B.1,0,C.2,1,D.2,Q

35.选用数组元素下标时,也许导致程序运行出错时下标是[B]

A.0B.-1C.正实数D.整型变量

36.设有语句“chara口=“123",b[]={'1'2','3');",下列说法对的日勺是[D

A.a[3]是不可知日勺任意字符B.数组a,b时长度相似

C.b[3]日勺值为''D.数组a时长度不小于数组bH勺长度

37.执行程序段"intx=8;whi1e(-x>6)sprintf('失')后的输出成果是【A】

A.*B.**C.***D.****

38.设有定义语句:inta=l,b=2,c=3,d=4;执行下列程序段后x日勺值是[A]

if(a<b)if(c<d)x=10;

elseif(a<c)if(b<d)x=20;

elsex=30;

e1sex=40;

elsex=50;

A.10B.20C.30D.40

39.C语言中[C]

A.不能使用do一while语句构成循环体。

B.do-while语句构成日勺循环必须用break语句才能退出。

C.do—whi1e语句构成日勺循环,当while语句中日勺体现式值为零时结束循环。

D.do.while语句构成的循环,当while语句中日勺体现式值为非零时结束循环。

40.如下数组语句中,对日勺的是【C】

A.inta[][3]B.intb[3][]={0J,2,3);

C.intc[10][10]={0};D.intd[3][]={{1,2},{1,3,0),{1}};

41.设有语句“intx[8]={5,4,3,21),*p=x;",则*(p+3)时值为[C]

A.5B.4C.3D.2

42.计算机内部数据处理日勺基本单位是[B]

A.数据B.数据元素C.数据项D.数据库

43.在一种具有n个结点日勺有序次序表中插入一种新结点并仍然有序的时间复杂度是[B]

A.O(1)B.0(na)C.O(n)D.O(n1og2n)

44.设C语言数组Data[m+1]作为循环队列SQ日勺存储空间,front为队头指针,real为队尾指

针,则执行出队操作日勺语句为【D】

A.frint=front+1;,B.front=(front+1)%m:

C.rear=(rear+1)%m;D.front=(front+1)%(m+1);

45.树最适合用()来表达【C】

A.有序数据元素B.无序数据元素

C.元素之间具有分支层次关系日勺数据D.元素之间无联络日勺数据

46.长度为12日勺有序表:Apt,Aug,Dec,Feb,Jan,Ju1,Jun,Mar,May,Nov,Oct,

Sep,按对半查找法对该表进行查找。在表内各元素等概率状况下查找成功所需要的平均比较次数

为【B】

A.35/12B.37/12C.39/12D43/12

三、简答题

1.软件维护工作可分为哪几类维护工作?

答:软件维护工作可分如下四类维护工作:

1)改正性维护;2)适应性维护;3)完善性维护;4防止性维护。

2.良好日勺程序设计风格除了将程序文档化和格式化以外,还需要遵照哪些准则?

答:良好日勺程序设计风格除了将程序文档化和格式化以外,还需要遵照如下准则:

1)节俭化;2)模块化;3)简朴化;4酒造化

3.用文字简述数据x进栈和退栈操作日勺基本环节。

答:进栈操作口勺基本环节为:

1)先判断栈与否已满,若满,则进行上溢处理,否则进行2)。

2)栈项指针上移1个节点。

3)将x加入到top所指位置。'

退栈操作的基本环节为:

1)检查栈与否为空,若栈空,则进行下溢处理,否则进行2)。

2)俣留被删除元素到变量x中(若不需要保留,则舍去这一步)。

3)栈顶指针下移1个节点。

4.软件测试时,程序中尚未发现的错误的数量往往与在该段程序中己发现目勺错误日勺数量成正比。

因此软件测试时,除尽早地、不停地进行软件测试外,还应遵照的其他基本原则是什么?

答:软件测试时,还应遵照日勺其他基本原则是:

1)设计测试用例时,要给出测试的预期成果。

2)开发小组和测试小组分开。

3)要设计非法输入口勺测试用例。

4)在对程序修改之后要进行回归测试。

5.简述哈夫曼树的性质。

由哈夫曼树的生成过程可得如下性质:

1)给定权值的哈夫曼树不唯一不过WPL,为定值。

2)权值越大的节点离根节点就越近。

3)哈夫曼树中无度为1日勺节点。

4)哈夫曼树节点总个数刀=2X叶子节点个数一1=2义权值个数.1=2n,.—1。

6.用文字简述将内容为x节点加入次序队列和出队操作日勺基本环节。

答:将内容为x节点加入次序队列日勺基本环节为:

1)先判断队列与否已满,若满则退出,否则进行2)。

2)队尾指针下移1个节点位置。

3)在队尾指针位置加入X。

出队操作日勺基本环节为:

1)先判断队列与否己空,若空则退出,否则进行2)。

2)俣留队头元素到x变量中。

3)队头指针下移1个节点位置。

1.下列程序运行后的输出成果是m=3

Main()

{intk,m=0;

for(k=0;k<2;k++)

{m++;

if(m/2)continue;

m++:

)

printf(〃m=%d^〃m);}

2.下列程序运行后日勺输出成果是1,6

#inlcude<stdio.h>

Main()

{inta[]={l,2,3,4,5,6),*p;

P=a;

*(p+3)+=2;

printf(//%d,%dD//,*p,*(p+3));}

3.下列程序运行后的输出成果是s=55

#inlcude<stdio.h>

Main()

{intS,i=1,sum();

fdr(;i<=10;)i++,s=sum(i);

printf(?/S=%d口〃,s);

)

sum(intk){intx=0;retum(x+=k);}

4.下列程序运行后的输出成果是abed

main()

{charsl()=//abcdABCD/;s2[10];

intk=0,j=0;

while(s1[k]!=/A/)s2[j-t-+]=sl[k++];

s2[j]=0;

printfUP/os口",s2);)

5.下列程序运行后日勺输出成果是DCBAEF

voidfun(char*pl,intn)

{chart,*p2;

p2=p1+n-1;

while(p1<p2)

{1=*pl;*pl++=*p2;*p2-=t

}

Main()

{char*p=//ABCDEF/4

fun(p,4);

printf{%n〃p);}

6.下列程序运行后日勺输出成果是13

MainQ

{intx=l1;

whi1e(x>10&&x<50)

{x++

if(x/3){x++;break;}

elsecontinue;}

printf(/%dO/9x);}

7.下列程序运行后的输出成果是

intb=1;

intf(int*a)

{b+=*a;retum(b);}

main()

{inta=2,b=3:

a+=f(&b);

printf(/%dD//,a);}

8.下列程序运行后的输出成果是上2_

Main()

{intx[][4]={1,2,3,4,5,6,78,3,9,10,2,42,9,6},s=0,k=0;

for(;k<4;k++)s+=x[k][k];

printf(/%<!□〃s);)

9.下列程序段的功能是:计算单链表日勺表长

intL_Iklist(Ikiisthead)

{p=head;

J=0;

while(p->next!=NULL)

{p=p->next;

j++;

}

return(j);}

10.下列程序运行后日勺输出成果是L63,2,3

#include<stdio.h

main()

{intj=lj=3;

printf(//%d,//,i++);

{inti=O;

I+=j*2;

printf。/%d,%d,〃i,j);

)

printf(//%d,%d//,i,j);}

11.下列程序运行后日勺输出成果是10

intf(intn)

{if(n==l)retum(1);

elsereturn(f(n-1)+1);

)

main()

{inti,j=0;

for(i=1;i<5;i++)j+=f(i);

printf(/%d\n/«);}

12.阅读下列算法.写出其完毕日勺功能是一借助栈将一种带头结点的单链表倒置

voidlist(LinkedListTP*head)

{LStaCkTPIs,p;

DataTypex;

IntStack(&ls);

p=head->next;

while(p!=NULL)

{Push(&ls,p->data);p=p->next;)

p=head->next;

while(!EmptyStaek(&JS))

{Pop(&1s,&x);p->data=x;p=p->next;}}

1.下面程序是从输入3个数中找出最大数,并输出最大数。

intmax(intx,inty,intz)

{intt;

t=x>y?x:y);

retum(t>z?t:z)

)

main()

{inta,b,c;

scanf(/%d,%d,%d〃,&a,&b,&c);

prinf(/^nax=%dn”,max(a,b,c));

}

2.如下为冒泡排序日勺算法,请分析算法,并在处填充合适日勺语句。

voidbubb1esort(intn,listr)

{for(i=l;i<=;i++)

(flag=1;

for(j=l;j<=n-1;j++)

if(r[j+l].key<r[j].key){flag=0;p=r[j];r[j]=r[j+l];r[j+l]=p;)

if(flag)return;

)

)

3.下列程序日勺功能是将输入日勺10个整型数存入一维数组中,并求其中所有素数之和并输出。

main()

{intx[10],

sum=0,flag,k,j;

for(k=0;k<10;k++)scanf(/%d//,&x[k]);

for(k=0;k<10;k++)

{if(x[k]=l)continue;

flag=l;

fbr(j=2;j<=x[k1/2;j++)

if(x[k]%j==0)

{flag=0;break;)

if(flag==1)sum+=x[k];}

printf(/%dD^s);}

4.下面程序的功能是输入10个字符和1个字符X,从10个字符中查找x,找到则输出其序

号,找不到则输出0o

main()

{charstr[10],x,*p;

intflag=0;

for(p=str;p<str+10;p++)scanfif//%c//,p);

scanf(/%c"&x);

for(p=str;p<str+10;p++)

if(*p==x)

{flae=1;break;}

if(flag)

prinf(/0口4p-str+1);

e1se

prinf(/0\n//)}

5.如下运算实目前循环队上日勺出队列,请在处用合适日勺语句予以填充。

intOutCyeQueue(CycqueueTp*sq,DataType*x)

{if(sq->fhm==sq—>rear){error(/跳空//;return(o);)

else{sq->fh)nt=(sq->front+1)%maxsize;

*x=sq->

温馨提示

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

评论

0/150

提交评论