2016年4月高等教育自学考试《计算机软件基础(一)》试题
课程代码:02243
一、单项选择题
1.下列选项中,不合法的变量名称是 A.a23 B.6a C ptr_5 D.min
2.C语言中,已知inti=10,j;,下列语句中错误的是 A.j=i++; B.i=++i; C.j=i+1; D.j=10++;
3.下列程序中while循环体执行的循环次数是 #include < stdio. h > void main( ) { int i=l,j=O,k=1;
while(i>0 ‖j 4.对于语句char a[]={'0','0','0'};,则strlen(a)返回的结果是 A.0 B. 1 C.2 D.3 5.有下列程序: #include < stdio, h > void fun (int i, int j ) t printf(\"%d,%d\\n\} void main( ) { int i=5,j=8; fun(i,j); printf( \"% d,% d\\n\" ,i,j); } 其执行后的输出结果是 A.6,8 B.6,8 C.6,9 D.6,9 5,8 6,9 5,8 6,9 6.执行下列语句后,i的值等于 int i=10,*p=&i; *p+=2; A.2 B.10 C.12 D.存在语法错误 -- -- 7.对于下列代码片段: struct date { intyear,month,day; }birthday; 下列语句正确的是 A.date.year=2016; B.birthday.year=2016; C.date—>year=2016; D.birthday—>year=2016; 8.下列程序段中算法的时间复杂度是 for(int i=0;i C.必须是不连续的 D.可以连续,也可以不连续 10.在长度为n的顺序表的表尾插入一个元素时,其算法的时间复杂度是 A. O(1) B. O(n) C. O(n+1) D. O(n2) 11.链表不具有的特点是 A.可随机访问任一元素 B.插入、删除时不需要移动元素 C.不必事先分配存储空间 D.所需空间与线性表的长度有关 12.循环队列Q可容纳的最多元素数为m,其队头和队尾指针分别是front和rear,则循环队列中现有的元素个数是 A. Q.rear-Q.front B.Q.rear-Q.front-1 C. (Q.rear-Q.front+m)%m D.Q.rear-Q.front+1 13.一棵二叉树的先序遍历序列是A、B、C,该二叉树的树型种类有 A.1种 B.3种 C.5种 D.7种 14.在一个具有n个顶点的完全有向图中,任一个顶点的度等于 A.n-1 B.n+1 C.2(n-1) D.2(n+1) 15.下列工作中,不属于软件维护范畴的是 A.改正程序中的错误和缺陷 B.改进设计,以适应新的软、硬件环境 C.增加新的应用范围 D.测试软件的功能是否达到预期要求 二、填空题 16.C语言提供的选择结构语句是if语句和 语句。 17.调用函数在被调用函数之 时,一般需要提前声明被调用函数。 18.C语言规定, (能/不能)在一个函数内部再定义其他函数。 19.C语言函数数据传递方式中,除利用参数传递外,还可以使用返回值和 传递方式。 -- -- 20.下面程序执行后,其输出是 。 #include < stdio, h > void fun (int n) { static int k=1; k=k*n; printf(\"%d,\} void main( ) { fun(10); fun(10); } 21.C语言中专门的指针运算符有两个:&和*,前者是取地址运算符,后者是 运算符。 22.在一个单链表中,要在p指针所指结点之后插入s结点,其操作是s—>next=p—>next和 。 23.在一棵二叉树中,度为2的结点数是3,度为1的结点数是2,该树中总的结点数是 。 24.有向图的邻接矩阵表示中,各行的非零元素个数为该行对应顶点的出度,各列的非零元素个数为该列对应顶点的 度。 25.软件测试的目的是尽可能多地找出程序中的潜在错误。在完全不了解程序内部结构和处理过程的情况下,对程序的每项功能进行测试,这种测试方法是 测试。 三、简答题 26.简述break语句和continue语句在循环体内的作用。 27.指针变量自加1后,该变量的值一定增加1个字节吗?为什么? 28.如果对一个线性表的操作主要是以插入、删除为主,该线性表应采用什么存储结构?请说明理由。 29.已知二叉树结点的顺序存储结构如题29图所示,请画出该二叉树,并写出其先序和中序遍历序列。 8 A B C D E F ∧ ∧ C 题29图 四、程序分析题 30.下面程序的功能是把一维数组a内的元素逆序排列。请在程序中的 处填上正确的内容,完成该程序。 #include < stdio, h > void main( ) { int a[5]: {1,2,3,4,5} ,k; for(int i:0, j=4; i ∧ ∧ ∧ H ∧ ∧ -- -- 31.请说明下面函数fun的功能。 double fun (int * a, int n) { double sum =0.0; int * p = a; while ( p < a + n) { sum=sum+ *p; p++; } sum: sum/n; return sum; } fun函数的功能是: 。 32.下面函数采用设置监视哨方法在已具有n个元素的一维数组x内查找值为k的元素。请在程序中的 处填上正确的内容,完成该程序。 int seek( int x[], int k, int n) { int i; i=n; ① while(x[i]!=k) ② return i; } 33.下面函数采用直接插入排序方法对一维数组x内的n个元素进行排序,请在程序中的 处填上正确的内容,完成该函数的功能。 void fun( int x[],int n) int i ,j; for(i=2;i<=n;i++ ) { x[O] =x[i]; j=i-1; while(① ) { x[j+1]=x[j]; j--; } ② } -- -- 五、程序设计题 34.请编写一算法,对具有n个元素的一维数组x实现折半查找,数组内的元素已按升序排列。 35.请编写一个函数,从带表头结点的单链表中删除第i个元素(需要给出链表结点的结构定义)。 -- 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- azee.cn 版权所有 赣ICP备2024042794号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务