1. 程式人生 > >刷題4

刷題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