后缀式 ab+cd+/可用表达式( )来表示
A. a+b/c+d
B. (a+b)/c+d
C. a+b/(c+d)
D. (a+b)/(c+d)
单选
已知-算术表达式的中缀表达式为a-(b+c/d)*e,其后缀形式为()
A. -a+b*c/d
B. -a+b*cd/e
C. -+*abc/de
D. abcd/+e*-
单选
栈的输入序列是1,2,…,n,输出序列是a1,a2,…,an,若ai=n(1<=i<=n),则有:ai>ai+1>…>an()
A. 对
B. 错
单选
栈在()中应用
A. 递归调用
B. 子程序调用
C. 表达式求值
D. A,B,C
单选
如入栈序列为1,2,3,4,5,则可能得到的出栈序列为()
A. 1,2,5,3,4
B. 3,1,2,5,4
C. 3,2,5,4,1
D. 1,4,2,3,5
E. 都不可能
单选
现有一循环队列,其队头指针为front,队尾指针为rear;循环队列长度为N。其队内有效长度为
A. (rear - front) % N + 1
B. (rear - front) % N
C. (rear - front) % (N + 1)
D. (rear - front) % (N - 1)
单选
递归算法一般需要利用哪种数据结构实现?
A. 数组
B. 链表
C. 队列
D. 栈
单选
设数组a[]作为循环队列SQ的存储空间,f为队头指示,r为队尾指示则执行出队操作的语句为
A. f=f+1
B. f=(f+1)%m
C. r=(r+1)%m
D. f=(f+1)%(m+1)
单选
通常使用队列来处理函数或过程的调用()
A. 对
B. 错
单选
循环队列存储在数组A[0..m]中,则入队时的操作为()
A. rear=rear+1
B. rear=(rear+1)mod(m-1)
C. rear=(rear+1)mod m
D. rear=(rear+1)mod(m+1) 判断 下述语句的对错:MFC中CString是类型安全的类。
A. 对
B. 错
单选
以下程序段的输出结果是
char s[]="\\123456\123456\t";
printf("%d\n",strlen(s));
A. 12
B. 13
C. 16
D. 以上都不对
单选
下面程序段的输出结果是
char *p1 = ”123”, *p2 = ”ABC”, str[50] = “xyz”;
strcpy(str + 2, strcat(p1, p2));
printr(“s\n”, str);
A. xyz123ABC
B. z123ABC
C. xy123ABC
D. 出错
单选
若有以下程序
main( ) <stdio. h="">{ </stdio.><stdio. h="">
char c1,c2;
</stdio.><stdio. h="">
c1 ='C'+'8'-'3';
</stdio.><stdio. h="">
c2 ='9'-'0';
</stdio.><stdio. h="">
printf("%c %d\n",c1,c2);
</stdio.><stdio. h="">}</stdio.>
则程序的输出结果是
A. H'9'
B. H 9
C. F'9'
D. 表达式不合法输出无定值
单选
下面函数的功能是
int fun (char *s) {
char *p=s;
while(*p++);
return p-s-1;
}
A. 计算字符串的位(bit)数
B. 复制一个字符串
C. 求字符串的长度
D. 求字符串存放的位置
单选
假设某段通信电文仅由 6 个字母 ABCDEF 组成,字母在电文中出现的频率分别为2,3,7,15,4,6。根据这些频率作为权值构造哈夫曼编码,最终构造出的哈夫曼树带权路径长度与字母 B 的哈夫曼编码分别为______。(这里假定左节点的值小于右节点的值)
A. 86,1011
B. 70,1000
C. 86,0001
D. 70,0010
E. 92,1000
F. 92,0100
单选
线性表若采用链式存储结构时,要求内存中可用存储单元的地址?
A. 必须是连续的
B. 部分地址必须是连续的
C. 一定是不连续的
D. 连续不连续都可以
单选
线性表中每个元素都有一个直接前驱和一个直接后继()
A. 对
B. 错
单选
链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高()
A. 对
B. 错
单选
单链表中,增加一个头结点的目的是为了()
A. 使单链表至少有一个结点
B. 标识表结点中首结点的位置
C. 方便运算的实现
D. 说明单链表是线性表的链式存储