6.以下程序的輸出結(jié)果是( )
# include
subl(char a,char b) {char c;c=a;a=b;b=c;}
sub2(char *a,char b){ char c;c=*a;*a=b;b=c;}
sub3(char *a,char *b) { char c;c=*a;*a=*b;*b=c;}
main()
{ char a, b;
a=’A’; b=’B’; sub3(&a,&b); putchar(a); putchar(b);
a=’A’;b=’B’ ;Sub2(&a,b);putchar(a); rutchar(b);
a=’A’; b=’B’; sub1(a,b); putchar(a);putchar(b);
}
①BABBAB ②ABBBBA
③ BABABA ④ BAABBA
【解】在上述程序中,函數(shù)subl完成兩形參值的交換,這個(gè)交換不影響實(shí)參變量,這是一個(gè)沒(méi)有意義的函數(shù)。函數(shù)sub2將第二個(gè)形參的值置入由第一個(gè)指針形參所指的變量中,指針形參所指的變量由調(diào)用時(shí)的實(shí)參提供。函數(shù)sub3完成將兩個(gè)形參所指的變量的值交換。程序調(diào)用sub3,使變量a和b的值交換輸出BA;調(diào)用subZ,使變量b的值傳送到a,輸出BB;調(diào)用subl,變量a和b的值不改變,輸出AB。所以程序輸出BABBAB。正確解答是①。
6.2 填充題
1.靜態(tài)型內(nèi)部變量的作用域是___________。
【解】靜態(tài)存儲(chǔ)類型的主要特性是永久性和專用性。靜態(tài)局部變量提供永久存儲(chǔ),但因它是局部變量,也得遵守局部變量的作用域規(guī)則,是定義它的函數(shù)或復(fù)合語(yǔ)句。
2.函數(shù)中的形參和調(diào)用時(shí)的實(shí)參都是數(shù)組名時(shí),傳遞方式為_(kāi)_____;都是變量時(shí),傳遞方式為_(kāi)____________。
【解】在C語(yǔ)言中,實(shí)參向形參傳遞方式只有值傳遞,但傳遞的內(nèi)容可能是非指針類型的值,如基本類型值,或結(jié)構(gòu)類型值,也可以是指針類型值。通常傳遞指針類型值特稱為傳地址方式。其中實(shí)參向指針形參傳遞數(shù)組名,就是一種傳地址方式。若形參不是指針類型的,形參是一般的變量,實(shí)參可以是變量或表達(dá)式,就是值傳遞方式。
3.函數(shù)的形式參數(shù)的作用域?yàn)開(kāi)____,全局的外部變量和函數(shù)體內(nèi)定義的局部變量重名時(shí),________變量?jī)?yōu)先。
【解】函數(shù)將它的形參當(dāng)作它的局部變量,所以函數(shù)形參的作用城為定義它的函數(shù)。當(dāng)函數(shù)的形參或函數(shù)內(nèi)的局部變量與函數(shù)外的全局變量同名時(shí),函數(shù)的局部變量?jī)?yōu)先。
4.若自定義函數(shù)要求返回一個(gè)值,則應(yīng)在該函數(shù)體中有一條________語(yǔ)句,若自定義函數(shù)要求不返回一個(gè)值,則應(yīng)在該函數(shù)說(shuō)明時(shí)加一個(gè)類型符____________。
【解】苦自定義的函數(shù)有返回值,則函數(shù)返回時(shí)應(yīng)執(zhí)行帶表達(dá)式的return語(yǔ)句返回,該表達(dá)式的值將作為函數(shù)調(diào)用的結(jié)果。為了強(qiáng)調(diào)函數(shù)是一個(gè)不返回值的函數(shù),應(yīng)在該函數(shù)說(shuō)明時(shí),加上一個(gè)void類型說(shuō)明符。
更多軟考資料請(qǐng)?jiān)L問(wèn):考試吧軟件水平考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |