自考“高級語言程序設計”習題答案詳解(33) -自考串講筆記
6.1 單項選擇題
1.函數(shù)調用語句“f((el,e2),(e3,e4,e5));”中參數(shù)的個數(shù)是( )
?、? ②2
?、? ④5
「解」上述函數(shù)調用中,(e1,e2)和(e3,e4,e5)是兩個帶括號的表達式,所以函數(shù)調用只提供兩個實參,其中第一個實參先計算el的值,然后計算e2,并以e2的值為實參。第二個實參順序計算e3,e4,e5,并以e5的值為實參。所以解答是②。
2.C語言中,函數(shù)的隱含存儲類型是( )
①auto ②static
?、踖xtern ④無存儲類別
「解」由于C函數(shù)內不能再定義函數(shù),C函數(shù)的存儲類型只能是靜態(tài)的或外部的之一。若定義函數(shù)時不指定存儲類型是靜態(tài)的,則它的存儲類型就是外部的(extern),即函數(shù)允許被程序的其它函數(shù)調用。所以解答是③。
3.以下對C語言函數(shù)的有關描述中,正確的是( )
?、僭贑語言中,調用函數(shù)時,只能把實參的值傳遞給形參,形參的值不能傳遞給實參
②C函數(shù)既可以嵌套定義,又可以遞歸調用
?、酆瘮?shù)必須有返回值,否則不能定義成函數(shù)
?、蹸程序中,有調用關系的所有函數(shù)必須放在同一個源程序文件中
「解」C語言規(guī)定,調用函數(shù)時,只能把實參的值傳遞給函數(shù)的形參。函數(shù)調用時,形參從實參表達式得到初值,報參也是函數(shù)的一種局部變量,其值可以改變,但形參的值不能傳回給對應的實參。當函數(shù)設置非指針類型的形參時,實參可以是同類型的一般表達式;當函數(shù)設置指針類型的形參時,對應的實參也必須是同類型的指針表達式。所以敘述①是正確的。C語言雖可以遞歸調用,但同時規(guī)定,在函數(shù)內不能再定義函數(shù),所以敘述②是錯誤的。通常C函數(shù)會有返回值,但也可以沒有返回值。有許多情況,函數(shù)的執(zhí)行是完成某種預定的工作,并沒有返回值,所以敘述③是不正確的。在C程序中,如函數(shù)未指定是靜態(tài)的,則就是外部的,能讓別的文件中的函數(shù)調用。但函數(shù)要調用別的文件中的函數(shù),在調用代碼之前,需對它作說明,所以敘述④也是不正確的。正確的解答只有①。
4.設函數(shù)的功能是交換X和y的值,且通過正確調用返回交換結果。不能正確執(zhí)行此功能的函數(shù)是( )
?、?funa(int *x, int *y)
{ int * p;
* p=*x; *x=*y; *y=*p;
}
② funb(int x, int y)
{ int t;
t=x;x=y;y=t;
}
?、?func(int *x, int *y)
{ int p;
p=*x; *x=*y; * y=p;
}
④fund( int *x,int *y)
{
*x=*x+ *y;*y=*x- *y;*x= *x- *y;
}
「解」設計實現(xiàn)交換兩個變量值的函數(shù)。希望函數(shù)調用能改變調用環(huán)境中的變量,方法之一是讓函數(shù)設置指針類型的形參,實參傳送給形參的是希望交換值的兩個變量的指針。函數(shù)的兩個形參得到這兩個變量的指針后,函數(shù)就能通過形參間接引用要交換值的變量,或引用它們的值,或改變它們的值。從而實現(xiàn)從函數(shù)傳回信息存于調用環(huán)境的變量中。以上所述是設計交換變量值函數(shù)的一般原則,具體編寫函數(shù)時還需注意對上述原則的正確應用。
對于函數(shù)funa,該函數(shù)的定義滿足設置指針形參,并通過指針形參間接引用環(huán)境變量的要求。但是在函數(shù)體中定義了指針變量p,并在p宋明確設定它所指向的變量下,代碼*p=* x企圖將值存入它所指的變量中,這是初學者經常出現(xiàn)的一種嚴重的錯誤。該函數(shù)因有錯,不能實現(xiàn)交換變量值的功能。
對于函數(shù)funb,該函數(shù)不定義指針形參,函數(shù)體也沒有可用的指針間接引用調用環(huán)境中的變量,所以該函數(shù)也不能實現(xiàn)交換變量值的功能。
對于函數(shù)func,該函數(shù)正確定義了指針形參,函數(shù)體也正確通過指針形參間接引用環(huán)境中的變量,并正確定義了自己的局部變量。該函數(shù)能實現(xiàn)交換變量值的功能。
對于函數(shù)fund,該函數(shù)也正確定義指針形參和函數(shù)體通過形參間接引用環(huán)境變量。特別要指出的是,該函數(shù)是利用*x和*y的;日值與新值之間的關系實現(xiàn)問題要求的。其中第一個賦值使。x存有原來未交換之前的*x與*y之和;第二個賦值從這個和中減去原來的*y,并將差賦給*y,使*y的值是交換之前的*x的值;第三個賦值再次從和中減去新的*y,即減去交換之前的*x,這個差就是交換之前的*y,并將差賦給*x.經以上三個賦值,實現(xiàn)兩變量之間的值交換。
所以不能正確執(zhí)行交換變量值的函數(shù)是funa和funb,即正確選擇是①②。
2.部分稿件來源于網絡,如有不實或侵權,請聯(lián)系我們溝通解決。最新官方信息請以湖北省教育考試院及各教育官網為準!
-
112023-03湖北自考《運輸保險》精選習題及答案匯總湖北自考《運輸保險》精選習題及答案匯總
-
112023-03湖北自考《運輸保險》精選習題及答案(5)湖北自考《運輸保險》精選習題及答案(5)
-
112023-03湖北自考《運輸保險》精選習題及答案(4)湖北自考《運輸保險》精選習題及答案(4)
-
112023-03湖北自考《運輸保險》精選習題及答案(3)湖北自考《運輸保險》精選習題及答案(3)
-
112023-03湖北自考《運輸保險》精選習題及答案(2)湖北自考《運輸保險》精選習題及答案(2)
-
112023-03湖北自考《運輸保險》精選習題及答案(1)湖北自考《運輸保險》精選習題及答案(1)
已幫助10w萬+意向學歷提升用戶成功上岸
-
毛澤東思想概論
培訓優(yōu)勢:課時考點精講+刷題+沖刺,熟練應對考試題型。全程督促學習,安排好學習計劃。 毛澤東思想概論...自考培訓 -
英語二
本課程既是一門語言實踐課程,也是拓寬知識、了解世界文化的重要素質課程,它以培養(yǎng)學習者的綜合語言應用能力為目標,使他們在學習、工作和社會交往中能夠使用英語進行有效的交流。 英語二...自考培訓 -
馬克思主義基本原理概論
本書包括兩個部分:自學考試大綱和基本原理。主要內容有,馬克思主義是關于工人階級和人類解放的科學,物質世界及其發(fā)展規(guī)律,認識的本質及其規(guī)律,人類社會及其發(fā)展規(guī)律,資本主義的形成及其發(fā)展,資本主義發(fā)展的歷史進程,社會主義社會及其進程,共產主義社會及其進程等。 馬克思主義基本原理概論...自考培訓 -
思想道德修養(yǎng)與法律基礎
《思想道德修養(yǎng)與法律基礎》課具有鮮明的政治性、思想性、理論性、針對性、科學性、知識性以及實踐性和修養(yǎng)性。它包羅政治、思想、道德、心理本質、學習成才和法律本質等內容,指導和回答大學生在人生、抱負、信念等方面遍及關心和迫切需要解決的問題。 思想道德修養(yǎng)與法律基礎...自考培訓 -
中國近代史綱要
“中國近現(xiàn)代史綱要”全國高等教育自學考試指定教材,依據(jù)中央審定的普通高等學?!爸袊F(xiàn)代史綱要”編寫大綱以及馬克思主義理論研究和建設工程重點教材《中國近現(xiàn)代史綱要》,結合自學考試的特點設計了十章,集中講述1840年鴉片戰(zhàn)爭爆發(fā)一直到2007年中國共產黨第十七次全國代表大會召開的160多年的中國近現(xiàn)代歷史。 中國近代史綱要...自考培訓
掃一掃關注微信公眾號
隨時獲取湖北省自考政策、通知、公告以及各類學習資料、學習方法、課程。