1、開發C代碼時,經常見到如下類型的結構體定義:
typedef struct list_t{
struct list_t *next;
struct list_t *prev;
char data[0];
}list_t;
請問在32位系統中,sizeof(list_t)的值為?:
A.4byte
B.8byte
C.5byte
D.9byte
2、假設下面的函數foo會被多線程調用,那么讓i、j、k三個變量哪些因為線程間共享訪問需要加鎖保護.()
int i = 0;
void foo()
{
static int j = 0;
int k = 0;
i++; j++; k++;
}
A.i和j
B.i,j,k都需要
C.i
D.j和k
3、4個圓盤的Hanoi塔,總的移動次數為()
A.7
B.8
C.15
D.16
4、當一個二叉排序樹左右子樹都不為空時,二叉排序樹中的大值在二叉排序樹的何處?
A.根節點
B.葉子節點
C.父節點
D.兄弟節點
5、程序出錯在什么階段?( )
#include
using namespace std;
int main(int argc, char * * argv) {
cout << "welcome to sogou" << endl;
return 0;
}
A.編譯階段出錯
B.運行階段出錯
C.編譯和運行都出錯
D.程序運行正常
6、在java中重寫方法應遵循規則的包括()
A.訪問修飾符的限制一定要大于被重寫方法的訪問修飾符
B.可以有不同的訪問修飾符
C.參數列表必須完全與被重寫的方法相同
D.必須具有不同的參數列表
7、兩個無環點鏈表L1,L2,其長度分別為m和n(m>n),判定L1,L2是否相交的時間復雜度是 1 ,空間復雜度是(不包括原始鏈表L1,L2) 2 。
8、C++中成員函數能夠同時用static和const進行修飾?
9、#include
void main()
{ int c;
while ((c=getchar())!= ′\ n ′ )
switch(c - ′ 2 ′ )
{ case 0:
case 1:putchar(c+4);break;
case 2:putchar(c+4);break;
case 3:putchar(c+3);break;
default:putchar(c+2);break;
}
printf( ″\ n ″ );
}
運行時輸入: 2473 ,輸出結果:
參考答案:
1~5:BACBD 6:BC
7:1. o(m+n);2. o(1)
8:否,因為static表⽰示該函數為靜態成員函數,為類所有;而const是用于修飾成員函數的,兩者相矛盾
9:6897 VC++6.0測試過