1、表達式“X=A+B*(C--D)/E”的后綴表示形式可以為
A.XAB+CDE/-*=
B.XA+BC-DE/*=
C.XABCD-*E/+=
D.XABCDE+*/=
2、一個4叉樹,度為4的結點個數為6,度為3的節點個數是10,度為2的節點個數是5,葉子節點個數為()
A.40
B.42
C.38
D.44
3、若棧采用鏈式存儲結構,則下列說法中正確的是()
A.需要判斷棧滿但不需要判斷棧空
B.不需要判斷棧滿也不需要判斷棧空
C.需要判斷棧滿且需要判斷棧空
D.不需要判斷棧滿但需要判斷棧空
4、()不是 setvar重載
public class methodover
{
public void setVar(int a, int b, float c) {}
}
A.private void setVar(int a, float c, int b){}
B.protected void setVar(int a, int b, float c){}
C.public int setVar(int a, float c, int b){return a;}
D.public int setVar(int a, float c){return a;}
5、下面模板聲明中,哪些是非法的()【多選】
A.template
B.template
C.template
D.template
6、給定能隨機生成整數 1 到 5 的函數,寫出能隨機生成整數 1 到 7 的函數。
7、以下代碼有什么問題:
int main()
{
char a;
char *str=&a;
strcpy(str,"hello");
printf(str);
return 0;
}
參考答案:
1~5:CDDB BD
6:int rand7()
{
int n=25;
while(n>21){
n=5*(rand5()-1)+rand5();
}
return (n%7)+1;
}
7:沒有為str分配內存空間,將會發生異常。問題出在將一個字符串復制進一個字符變量指針所指地址。雖然可以正確輸出結果,但因為越界進行內在讀寫而導致程序崩潰。