6[單選題]有以下程序
程序運行后的輸出結(jié)果是
A.11B.10C.1D.2
參考答案:C
參考解析:本題考查把數(shù)組名作為函數(shù)參數(shù),執(zhí)行fun函數(shù)后,s的值并沒有發(fā)生變化,仍然是指向a,所以輸出結(jié)果為1,選項C正確。
7[單選題] 以下敘述中正確的是
A.if語句只能嵌套一層
B.if子句和else子句中可以是任意的合法的c語句
C.不能在else子句中再嵌套if語句
D.改變if-else語句的縮進格式,會改變程序的執(zhí)行流程
參考答案:B
參考解析:A選項中,if語句的嵌套沒有規(guī)定層數(shù);C選項中,可以在else予句中再嵌套if語句;D選項中,改變if—else語句的縮進格式,不會改變程序的執(zhí)行流程,需要注意if和else的配對問題。因此B選項正確。
8[單選題] 有以下程序:
程序執(zhí)行后的輸出結(jié)果是( )。
A.2B.3C.7D.0
參考答案:A
參考解析:因為fun(int x)是一個遞歸函數(shù),所以主函數(shù)中fun(7)經(jīng)過3次遞歸調(diào)用,其過程可以描述為“fun(7)=7一fun(5)=7一(5一fun(3))=7一(5一(3一fun(1)))=7一(5一(3—3))=7—5=2”,所以最后輸出結(jié)果為2。因此.A選項正確。
9[單選題] 若有以下函數(shù)首部:
int fun(double x[10],int*n)
則下面針對此函數(shù)的函數(shù)聲明語句中正確的是( )。
A.int fun(double,int);
B.int fun(double木,int*);
C.int mn(double*x,int n);
D.int fun(double x,intint*n)
參考答案:B
參考解析:函數(shù)聲明的一般形式為:“類型說明符被調(diào)函數(shù)名(類型形參,類型形參,……);”或“類型說明符被調(diào)函數(shù)名(類型,類型,……);”由于函數(shù)首部為int fun(double x[10],int*n),因此B選項正確。
10[單選題]
程序運行后的輸出結(jié)果是( )。
A.Qian,f,350,Sun,f,350
B.Qiamf,350,Qian,f,350
C.Qian,f,350,Sun,m,370
D.Zha0,m,290,Sun,m,370
參考答案:A
參考解析:c語言函數(shù)參數(shù)傳遞大致分為:1、值傳遞過程中。被調(diào)函數(shù)的形參作為被調(diào)函數(shù)的局部變量處理,即在內(nèi)存的堆棧中開辟空間以存放由主調(diào)函數(shù)放進來的實參的值,從而成為了實參的一個拷貝。值傳遞的特點是被調(diào)函數(shù)對形參的任何操作都是作為局部變量進行,不會影響主調(diào)函數(shù)的實參變量的值。2、地址傳遞過程中,被調(diào)函數(shù)的形參雖然也作為局部變量在堆棧中開辟了內(nèi)存空間,但是這時存放的是由主調(diào)函數(shù)放進來的實參變量的地址。被調(diào)函數(shù)對形參的任何操作都被處理成間接尋址,即通過堆棧中存放的地址訪問主調(diào)函數(shù)中的實參變量。正因為如此,被調(diào)函數(shù)對形參做的任何操作都影響了主調(diào)函數(shù)中的實參變量。結(jié)構(gòu)體中nanle是數(shù)組,做實參傳遞,會退化為指針,因此調(diào)用f(),b.nanle發(fā)生修改,其他的成員,傳遞的是拷貝,不會被修改。因此輸出Sun,f,350。故答案為A選項。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |