6[簡(jiǎn)答題]下列給定程序中函數(shù)fun()的功能是:用遞歸算法計(jì)算斐波拉契數(shù)列中第n項(xiàng)的值。從第l項(xiàng)起,斐波拉契數(shù)列為:1,1,2,3,5,8,13,21,…
例如,若給n輸入7,則該項(xiàng)的斐波拉契數(shù)值為13。
請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
試題程序:
參考解析:
(1)錯(cuò)誤:switch(g);
正確:switch(g)
(2)錯(cuò)誤:case 1:case2:return 1;
正確:case 1;case 2:return 1;
【解析】此題考查C語言的語法規(guī)則,switch(表達(dá)式)后不應(yīng)該帶有“;”,case語句常量后應(yīng)該是“:”。switch語句的一般形式如下:
7[單選題] 有三個(gè)關(guān)系R、S和T如下:
其中關(guān)系T由關(guān)系R和s通過某種操作得到,該操作為( )。
A.選擇B.投影C.交D.井
參考答案:D
參考解析:關(guān)系T中包含了關(guān)系R與s中的所有元組,所以進(jìn)行的是并的運(yùn)算。
8[單選題] 若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是( )。
A.函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元
B.形參只是形式上的存在,不占用具體存儲(chǔ)單元
C.同名的實(shí)參和形參占同一存儲(chǔ)單元
D.函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元
參考答案:A
參考解析:本題重點(diǎn)考察的是函數(shù)的形參和實(shí)參。I在定義函數(shù)時(shí)函數(shù)名后面括弧中的變量名稱為“形式參數(shù)”l(簡(jiǎn)稱形參),在主調(diào)函數(shù)中調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名后面括弧1中的參數(shù)(可以是—個(gè)表達(dá)式)稱為“實(shí)際參數(shù)”(簡(jiǎn)稱實(shí)參)。f C語言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。因此A選項(xiàng)正確。
9[單選題] 若有定義語句:int a=3,b=2,c=1;以下選項(xiàng)中錯(cuò)誤的賦值表達(dá)式是( )。
A.a=(b=4)=3;B.a=b=c+1;C.a=(b=4)+c;D.a=1+(b=c=4);
參考答案:A
參考解析:不能將變量或常量賦給一個(gè)表達(dá)式,所以A選項(xiàng)中(b=4)=3是錯(cuò)誤的。
10[單選題]
程序運(yùn)行后的輸出結(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ù)放進(jìn)來的實(shí)參的值,從而成為了實(shí)參的一個(gè)拷貝。值傳遞的特點(diǎn)是被調(diào)函數(shù)對(duì)形參的任何操作都是作為局部變量進(jìn)行,不會(huì)影響主調(diào)函數(shù)的實(shí)參變量的值。2、地址傳遞過程中,被調(diào)函數(shù)的形參雖然也作為局部變量在堆棧中開辟了內(nèi)存空間,但是這時(shí)存放的是由主調(diào)函數(shù)放進(jìn)來的實(shí)參變量的地址。被調(diào)函數(shù)對(duì)形參的任何操作都被處理成間接尋址,即通過堆棧中存放的地址訪問主調(diào)函數(shù)中的實(shí)參變量。正因?yàn)槿绱,被調(diào)函數(shù)對(duì)形參做的任何操作都影響了主調(diào)函數(shù)中的實(shí)參變量。結(jié)構(gòu)體中nanle是數(shù)組,做實(shí)參傳遞,會(huì)退化為指針,因此調(diào)用f(),b.nanle發(fā)生修改,其他的成員,傳遞的是拷貝,不會(huì)被修改。因此輸出Sun,f,350。故答案為A選項(xiàng)。
相關(guān)推薦:
2015計(jì)算機(jī)二級(jí)《C語言程序設(shè)計(jì)》無紙化操作題匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |