|
算法分析与设计15秋在线作业1
试卷总分:100 测试时间:--
一、单选题(共20道试题,共40分。)
1.文件注释不包括以下()。
A. 程序的标题或文件名
B. 程序的目的、功能说明
C. 核心算法
D. 文件作者、最后修改日期等说明。
满分:2分
2.遗传算法主要模拟生物中的()。
A. 遗传、复制、传递和分裂
B. 遗传、突变、选择和杂交
C. 遗传、突变、传递和转录
D. 遗传、复制、转录和逆转录
满分:2分
3.有以下程序 #include <stdio.h> int f(int t[ ], int n ); main() { int a[4]={1, 2, 3, 4}, s; s=f(a, 4); printf("%d\n", s); } int f(int t[ ], int n ) { if(n>0) return t[n-1]+f(t, n-1); else return 0; } 程序运行后的输出结果是()。
A. 4
B. 10
C. 14
D. 6
满分:2分
4.下列叙述中正确的是( )
A. 数据的逻辑结构与存储结构必定是一一对应的
B. 由于计算机在存储空间上是向量式的存储结构,因此,利用数组只能处理线性结构
C. 程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构
D. 以上说法都不对
满分:2分
5.函数strlen("JinlinChangchun")的函数值是()
A. 15
B. 16
C. 17
D. 18
满分:2分
6.下列排序算法中()排序在一趟结束后不一定能选出一个元素放在其最终位置上。
A. 选择
B. 冒泡
C. 归并
D. 堆
满分:2分
7.一个有n个结点的图,最多有()个连通分量。
A. 0
B. 1
C. n-1
D. n
满分:2分
8.strcmp("a","b")返回的值是()
A. 2
B. 1
C. 0
D. -1
满分:2分
9.有以下程序,程序的运行结果是()。 #include <stdio.h> int f(int x ) { int y; if (x==0||x==1) return (3); y=x*x- f(x-2); return y; } main() { int z; z=f(3); printf(“%d\n”,z); }
A. 0
B. 9
C. 6
D. 8
满分:2分
10.isalpha()函数用来()。
A. 判断字母
B. 判断数字
C. 判断大写
D. 判断小写
满分:2分
11.数制中表示基本数值大小的不同数字符号称为()。
A. 进制
B. 基数
C. 位权
D. 数码
满分:2分
12.字符串”China Beijing”的长度是()
A. 12
B. 13
C. 14
D. 15
满分:2分
13.一个算法中的语句的()被称为语句频度或时间频度。
A. 执行时间
B. 占用空间
C. 执行速度
D. 执行次数
满分:2分
14.一般情况下,算法中基本操作重复执行的次数是问题规模n的某个()。
A. 导数
B. 指数
C. 对数
D. 函数
满分:2分
15.cd 目录名的功能是()。
A. 退回到根目录
B. 退回到上一级目录
C. 进入特定的目录
D. 显示出文本文件的内容
满分:2分
16.使用(),可以简化日常或重复性任务,使用方便、灵活,功能强大,自动化程度高。
A. 文件读写函数
B. 批处理文件
C. 单步调试功能
D. 设置断点
满分:2分
17.()命令主要用来查看磁盘中文件的命令。
A. dir
B. cd
C. type
D. fc
满分:2分
18.能正确进行字符串赋值、赋初值的语句组是()。
A. char s[5]={'a','e','i','o','u'};
B. char *s; s="good!";
C. char s[5]="good!";
D. char s[5]="good!";
满分:2分
19.下面命名规则中,哪项不是现在比较常用的命名规则()。
A. 匈牙利命名法
B. 骆驼命名法
C. 下划线命名法
D. 图灵命名法
满分:2分
20.下面不是递归算法的特点的是()。
A. 递归就是在函数里调用自身
B. 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口
C. 递归算法解题通常显得很简洁,递归算法的运行效率较高
D. 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用递归算法设计程序。
满分:2分
二、多选题(共5道试题,共20分。)
1.高精度运算主要解决()。
A.
B. 加数
C. 减数
D. 运算结果的输入
E. 运算结果的存储
满分:4分
2.设计递归算法有两点最为关键()和()。
A. 确定递推公式
B. 确定边界(终了)条件(递归出口)
C. 每次递归调用,都必须向基本条件前进
D. 如果结果已知,那么,不用再重复调用递归
满分:4分
3.字符串有关的格式字符有( )。
A. "%c"
B. "%d"
C. "%f"
D. "%s"
满分:4分
4.顺序结构、选择结构、循环结构三种结构共同特点是()
A. 只有一个入口
B. 只有一个出口
C. 结构内的每一部分都有机会被执行到(不存在死语句)
D. 结构内不存在死循环(永远执行不完的循环)。
满分:4分
5.递归算法的执行过程分()和()两个阶段。
A. 递归
B. 递推
C. 回归
D. 回溯
满分:4分
三、判断题(共20道试题,共40分。)
1.stricmp()函数和strcmp()函数相同。
A. 错误
B. 正确
满分:2分
2.用二分(对半)查找表的元素的速度比用顺序法快。
A. 错误
B. 正确
满分:2分
3.快速排序和归并排序在最坏情况下的比较次数都是O(nlog2n)。
A. 错误
B. 正确
满分:2分
4.已知有序表(13,18,24,35,47,50,62,83,90,115,134),当折半查找值为90的元素时,查找成功的比较次数为4次
A. 错误
B. 正确
满分:2分
5.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为下溢。
A. 错误
B. 正确
满分:2分
6.一个栈的初始状态为空,首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A、B、C、D依次入栈,之后将所有元素全部退栈,则所元素退栈(包括中间退栈的元素)的顺序为1DCBA2345。
A. 错误
B. 正确
满分:2分
7.使用冒泡排序法对n个数进行排序必须要进行n趟比较。
A. 错误
B. 正确
满分:2分
8.内排序要求数据一定要以顺序方式存储。
A. 错误
B. 正确
满分:2分
9.长度不同的字符串一定不会相等。
A. 错误
B. 正确
满分:2分
10.从已知条件出发,逐步推出要解决的问题,这种方法称为倒推法。
A. 错误
B. 正确
满分:2分
11.一棵二叉树第6层(根结点为第一层)的结点数最多为32个。
A. 错误
B. 正确
满分:2分
12.折半查找的先决条件:表中结点按关键字有序,且顺序(一维数组)存储。
A. 错误
B. 正确
满分:2分
13.排序的稳定性是指排序算法中的比较次数保持不变,且算法能够终止。
A. 错误
B. 正确
满分:2分
14.遗传算法是计算数学中用于解决最优化的搜索算法,是进化算法的一种。
A. 错误
B. 正确
满分:2分
15.下列程序段实现的是顺序查找功能() int Search(int array[], int n, int key) { int i; array[n] = key; for(i=0;key!=array[i];i++); return(i<ni:-1); }
A. 错误
B. 正确
满分:2分
16.在初始数据表已经有序时,快速排序算法的时间复杂度为O(nlog2n )。
A. 错误
B. 正确
满分:2分
17.插入排序的时间复杂度为O(n)。
A. 错误
B. 正确
满分:2分
18.一个scanf函数输入多个字符串,输入时以“空格”键作为字符串间的分隔。
A. 错误
B. 正确
满分:2分
19.树中所有结点度的最大值就是树的深度。
A. 错误
B. 正确
满分:2分
20.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为上溢。
A. 错误
B. 正确
满分:2分
|
|