1、下列哪種數(shù)據(jù)類型不能用作switch的表達式變量(C)
A、byte B、char C、long D、enum
2、在圖采用鄰接表存儲時,求最小生成樹的 Prim 算法的時間復雜度為( B )。
A、 O(n) B、O(n+e) C、 O(n2) D、O(n3)
3、在圖采用鄰接矩陣存儲時,求最小生成樹的 Prim 算法的時間復雜度為( C )。
A、 O(n) B、 O(n+e) C、 O(n2) D、O(n3)
4、樹的后根遍歷序列等同于該樹對應的二叉樹的( B ).
A、先序序列 B、中序序列 C、后序序列
5、“Abc漢字”的長度為( C)
A、5 B、6 C、7 D、8
[cpp] view plaincopyint main(void)
{
char str[]="Abc漢字";
cout<
return 0;
}
漢字存儲的時候占用2個字節(jié)
6、下面程序的輸出結果為( C )
[cpp] view plaincopyunsigned int a=1;
A、-4 B、4 C、4294967294 D、4294967295
考查的是unsigned int和int在一起混合運算,int轉化為unsigned int
-2的補碼就是2^32-2,即是4294967294 ,乘以1的結果還是這個數(shù)字。
7、下面程序的輸出結果為( B )
[cpp] view plaincopyvoid fn(int *b)
{
cout<<(*b)++;
}
int main(void)
{
int a=7;
fn(&a);
return 0;
}
A、77 B、78 C、89 D、undefined
8、下面程序的輸出結果為( C )
[cpp] view plaincopy#pragma pack(8)
union A
{
char a[13];
int b;
};
int main(void)
{
cout<
return 0;
}
A、4 B、8 C、16 D、12
9、下面程序的輸出結果為( A )
[cpp] view plaincopyclass A
{
public:
A(int a)
{
printf("%d ",a);
}
};
A a(1);
int main(void)
{
printf("main ");
A c(2);
static A b(3);
return 0;
}
A、1 main 2 3 B、1 main 3 2 C、main 1 2 3 D、main 1 3 2
10、下面程序的輸出結果為( B )
[cpp] view plaincopystruct Test
{
unsigned short int a:5;
unsigned short int b:5;
unsigned short int c:6;
};
int main(void)
{
Test test;
test.a=16;
test.b=4;
test.c=0;
int i=*(short*)&test;
printf("%d\n",i);
return 0;
}
A、6 B、144 C、5 D、95
1、程序中':'的作用,如 unsigned short int a:5;表示變量a占了5個bit的空間,這樣的話結構體所占的變量空間為5+5+6,暫且表示為000000|00000|00000,對應c|b|a
2、在主程序中對結構體初始化a=16,b=4,c=0,轉換為二進制放到上面的空間,000000|00100|10000同樣對應a|b|c
3、后面一句int i=*(short*)&test;取結構體test的地址空間,就是上面的000000|00100|10000,轉換成short型,也就是144
11、n個結點的線索二叉樹上含有的線索數(shù)為( C )
A、2n B、n-l C、n+l D、n
12、( C)的遍歷仍需要棧的支持.
A、前序線索樹 B、中序線索樹 C、后序線索樹
13、二叉樹在線索后,仍不能有效求解的問題是( D )。
A、前(先)序線索二叉樹中求前(先)序后繼
B、中序線索二叉樹中求中序后繼
C、中序線索二叉樹中求中序前驅
D、后序線索二叉樹中求后序后繼
14、求解最短路徑的Floyd算法的時間復雜度為( D )。
A、O(n) B、 O(n+c) C、O(n*n) D、O(n*n*n)