1.
答案: 10 ,10。
解析:構造了一個對象數組,所以要調用十次構造函數,同時也要析構十次。
2.有以下程序,問輸出結果爲?
main()
{
int a=3,b=4,c=5,d=2;
if(a>b)
if(b>c)
printf("%d",d++ +1);
else
printf("%d",++d +1);
printf("%d\n",d);
}
答案:2。
解析:根據就近原則,此代碼段等價於:
if(a>b)
{
if(b>c) printf("%d",d++ +1);
else printf("%d",++d +1);
}
printf("%d\n",d);
3.下列代碼的執行結果?
int main(void)
{
char *p[]={“TENCENT”,”CAMPUS”,”RECRUITING”};
char **pp[]={p+2,p+1,p};
char ***ppp=pp;
printf(“%s”,**++ppp);
printf(“%s”,*++*++ppp);
return 0;
}
答案:CAMPUS CAMPUS。
錯寫爲:CAMPUS RECRUITING。
(1)printf(“%s”,**++ppp);即,ppp當前所指向的位置,再往下移一個位置,即pp的位置2,而pp的位置2指向的是p的位置2,p的位置2指向的是CAMPUS,所以先輸出CAMPUS
(2)printf(“%s”,*++*++ppp);這個語句等價於 printf(“%s”,*++(*++ppp));所以我們首先看,++ppp,第一個printf語句中ppp已經指向了pp的位置2,所以再往下移一個,指向了pp的位置3,而(*++ppp)則代表pp位置3所指向的內容,即p的位置1(pp的位置3指向的是p的位置1),在此基礎上前面再加上一個++,則代表指針p在位置1的基礎上再往下移動,即指針p的位置2,而p的位置2所指向的內容是CAMPUS,所以第二行輸出的也是CAMPUS。
4.通用多態是指包含多態和參數多態。
5.
.
%d整型輸出,%ld長整型輸出,
%o以八進制數形式輸出整數,
%x以十六進制數形式輸出整數,
%u以十進制數輸出unsigned型數據(無符號數)。
%c用來輸出一個字符,
%s用來輸出一個字符串,
%f用來輸出實數,以小數形式輸出,
%e以指數形式輸出實數,
%g根據大小自動選f格式或e格式,且不輸出無意義的零。
其中%o和%x都是二進制的延伸,即八進制和十六進制,可以適用於unsigned變量輸出
6.
裝載速度快是靜態鏈接庫的優點。