视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
2009年4月计算机软件基础(一)试卷附参
2025-09-29 18:23:41 责编:小OO
文档
2009年4月高等教育自学考试全国统一命题考试

计算机软件基础(一)  试卷

(课程代码  2243)

一、单项选择题(本大题共15小题,每小题2分,共30分)

    在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.下列合法的C语言标识符是    【  】

  A.static    B.3abc    C.abe_2 D.am&t

 2.己知int b=4;,执行语句b+=b++;后,b的值是    【    】

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

 3.C语言表达式4!=3&&2&&4+1<5的值是    【    】

  A.0    B.1    C.2    D.3

 4.已知int a[100],*d=a;,下列错误的语句是        【    】

  A.a=d;    B.*d=a[10];    C.d=a+1;D.d=&a[2];

    A.for(i=1,s=0;i<=100;i+ + )s+=i;    B.s=0;for(i=1;i<=100;)s=s+i++”;

    C.i=1;s=1;while(i<=100){s=s+i;i++;}D.i=2;s=1;while(i<=100){s=s+1;i++;)

6.下列叙述正确的是        【  】

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

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

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

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

7.已知char strl[30],*str2=”student_no”;,执行语句strcpy(strl,str2):后,strlen(strl)

    的值是    【    】

    A.9    B.10    C.29 D 30

 8.下列语句正确的是    【  】

  A.char s[5];s=”abc”;   B.char s[5]=”abcxyz”;

  C.char s[]=”l2345”;    D.char s[5]=(‘1’,’ 2’,’3’,’4,’5’,’\O’};

9,下列算法的时间复杂度是    【    】

    for(int i=1;i<=n;i++)

for(intj=1;j<=n;j++)

    a[i][j]=i+j;

  A.O(nlogn)    B.O(n)    C.O(2n)   D.O(n)

10.己知指针P和q分别指向某单链表中第一个节点和最后一个节点。假殴指针s指向

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

    是    【  】

    A. q->next=s->next; s->next=p;    B. s->nexFp: q->next=s->next;

    C.p->next=-s->next;s->next=q:    D.s》nexFq:p->next=s->next;

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

    A.1、2、3、4、5    B.2、3、4、5、l

    C.5、4、3、2、1    D.5、4、l、2、3

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

    是    【    】

    A.BDECA    B.BCADE    C.ECBDA  D.ABDCE

13.下列程序的运行结果是    【    】

    intx=1;    

    int fun(inta)

    {static int b=1;

    b+=a+x:

    return b;

    )

    Main()

    {inti=2;

    for(i=0;i<2;i++)printf(”%d”,fun(i));

    }

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

14.己知:

    struct person

    {char name[20];

    int age;

    )a-{”Li”,20),*p=&a:

    则对结构体变量a中成员age错误的引用是    【    】

    A.a.age    B.p.age    C.(*p).age D.p->age

15.黑盒法用在软件开发过程中的    【    】

    A.软件定义阶段  B.软件设计阶段  C.软件编码阶段  D.软件测试阶段

二、填空题(本大题共10小题,每小题2分,共20分)

    请在每小题的空格上填上正确答案。错填、不填均无分。

16.  已知int a;,表达式((a=4,a*=2),a+6)的值是_______。

17.已知int a=6,b=5,c=4;,表达式a18.己知字母’A’的ASCⅡ码为65,下列程序段的输出结果是_______。

    char c;’D’;

    printf(”%d",c);

19.已知int n=3,k=3;,执行语句n%=k+1;后,n的值是_______。

20.二维数组A[10][10]采用以行为主序的方法存储,每个元素占4个存储单元,设

    A[0] [0]的存储地址是1000,则A[8] [5]的存储地址是_______。

21.在具有m个节点的循环队列中,头指针为front,尾指针为rear,判断循环队列满的

条件是________。

22.己知一个有序表{1,4,9,13,32,41,54,62,75,77,87,95,100),用折半

    法查找关键字值15时,查找不成功的比较次数是________。

23.实现递归算法所需的数据结构是________。

24.二叉树的第i(i≥1)层上最多的节点数是________。

25.软件生存周期由软件定义、软件开发和________三个时期组成。

三、解答题(本大题共4小题,每小题4分,共16分)

26.已知关键字序列为{46,57,84,32,73,36,15,48,90,20},要求:

    (1)按照已给关键字的先后次序构造一棵二叉排序树:

    (2)在等概率的情况下,计算已构造的二叉排序树查找成功的平均查找次数(ASL)

27.写出下列AOV网的所有拓扑排序序列。

      

28.给定一组权值:4、1、12、2、10,构造对应的哈夫曼树(权值小的为左子树.权

    值大的为右子树),并求出该树的带权路径长度。

29.用盒图(N-S图)表示求s=1+3+5+……+(2n-1)的算法,n的值由键盘输入,其

    中循环控制用while结构实现。

四、程序分析题(本大题共4小题,每小题4分,共16分)

30.写出下列程序的输出结果(答案写在右侧空白处)

#include

    main0

  {int a[] ={1,2,3,4},i=0;

    do(switch(a11])

    {case 2:

    case 3:putchar(’A’);break;

    case 4:

    case 5:putchat(‘B’);

    case 6:putchar(’C’);break;

    default:putchar(‘x’);

    )

)while(i++<3);

    )

31.写出下列程序的输出结果(答案写在右侧空白处)

#include

    main0

    {intij,a[3] [4]= {{1,2,3,O),{2,1,5,O},{7,6,1,O}};

    for(i=0;i<3;i++)

for(j=0;j<3;j++)

    a[i][3]+=a[i][i];

    for(i=0;i<3;i++)

{for(i=0 j<4j++)

    printf(”%3d”,a[i][j]);

    pfintf(”\n”);    

      }

    }

32.下列程序的功能是用选择法对10个整数按由大到小排序。填空完成程序。

#include

    main()

    (  inti,j,m,t;

    int a[10]={5,7,4,2,3,6,1,0,9,8};

    for(j=0;j<9;j++)

    {m= ___________;①

    I=j+1;

while(i<10)

{iR a[m]  ——;②

    )

    if(m!=j)

    {t=a[j];

    a[i]=a[m];

    a[m]=t;

      }

    }

    for(i=0;i<10;i++)primf(”%2d¨,a[i]);

    printf(”\n”):

    }    

33.下列 fsum()函数的功能是求带头节点的单链表中各节点数据域中数值的和,填空完

    成程序。

#include

    #define NULL 0

    struct node{

    floatx:

    struct node+next;

    };

    float fsum(struct node+head)

    {float s=0:

    struct node*q;

    ——;①

    while(q!=NULL)    .

{s=s+q->x;

  ——;②

  }

    retum s:

    )

五、程序设计题(本大题共2小题,每小题9分,共18分)

34.编写程序,计算下列多项式的值并输出,直到最后一项的值小于0.0001。

    

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

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

显示全文
专题