刷题4

数据结构:

1:在栈为空的情况下,不能做退栈运算,否则产生下溢(A)
A:正确
B:错误
解析:栈满考虑上溢情况,栈空考虑下溢情况
2:对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表(A)
A:正确
B:错误
3:以下不合法的数组定义是( C)
A:char a[] = ”good”;
B:int s[5] = {1,2,3,4};
C:char s = “good”;
D:char s[] = {0,1,2,3,4};
解析:s是字符串变量不能被” good”赋值
4:已知int a[3][4];则下列能表示a[1][2]元素值的是(A)
A:((a+1)+2)
B:(a+1+2)
C:(&a[0]+1)[2]
D:
(a[0]+1)
解析: *(a+1)是第二行首地址,*(a+1)+2是第二行第三个数的位置所以*(*(a+1)+2)是第二行第三个数的值
5:以下选项中非法的C语言字符常量是(D)
A:’\007’
B:’\b’
C:’a’
D:”\09”
解析:双引号引起来是指字符串 不是字符常量
6:对两个数组a和b进行如下初始化:
char a[]=”ABCDEF”
char b[]={‘A’,’B’,’C’,’D’,’E’,’F’}
以下叙述正确的是(D)
A:a与b数组完全相同
B:a与b长度相等
C:a和b都存放字符串
D:a数组比b数组长
解析:数组a长度为7 后面再加上’\0’,数组b长度为6
7:不能使字符串”Good!”存放到数组s中的代码是(C)
A: char s[8] = {‘G’,’o’,’o’,’d’,’!’,’\0’};
B: char s[8];
Strcpy(s,”Good!”);
C: char s[8];
s = “Good!”;
D: char s[8] = “Good!”;
解析:s是字符变量,不能被字符串赋值。
8:数组A[1…5,1…6]的每个元素占5个单元,将其按行优先顺序存储在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为(A)
A:1140
B:1145
C:1120
D:1125
解析:(4*6+4)*5=140;1000+140=1140;
9:若A、B、C、D、E、F汽车顺序进栈,且任意一辆车可以在栈顶出栈,则出栈次序可以为(C)
A:DCEFAB
B:DFEBAC
C:AEDFCB
D:AEDFBC
解析:A入A出B入C入D入E入E出D出F入F出C出B出
10:一个栈的输入序列是12345,则出栈序列不可能是12345(B)
A:是
B:否
解析:1入1出2入2出3入3出4入4出5入5出出栈顺序为12345

猜你喜欢

转载自blog.csdn.net/g_l_xz/article/details/83019251