點擊查看:2015計算機二級《C語言》精選練習(xí)題及答案匯總
1[單選題] 若有以下程序
則程序的輸出結(jié)果是
A.3,5,7,9,B.4,7,10,13,C.4,5,6,7,D.4,6,8,10,
參考答案:D
參考解析:本題考查靜態(tài)局部變量以及自增運算符,靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后,并不釋放,仍然保留它的值,本題中,k為0時,return n+m+a之前,n為1,a為局部變量是3。m為0,所以第一個返回值為4。k為1,在函數(shù)返回值之前,靜態(tài)局部變量為2,局部變量a仍然為3,m為l,所以結(jié)果是6,依此類推答案為D。
2[單選題]為了建立如圖所示的存儲結(jié)構(gòu)(即每個結(jié)點含兩個
A.link next;
B.struct link*next;
C.link*next;
D.struet link next;
參考答案:B
參考解析:本題主要考查鏈表中結(jié)點的概念,屬于基礎(chǔ)知識,其中指針域應(yīng)該是指向下個結(jié)點,所以答案為B。
3[單選題] 以下敘述中正確的是( )
A.C語言程序所調(diào)用的函數(shù)必須放在main函數(shù)的前面
B.C語言程序總是從最前面的函數(shù)開始執(zhí)行
C.C語言程序中main函數(shù)必須放在程序的開始位置
D.C語言程序總是從main函數(shù)開始執(zhí)行
參考答案:D
參考解析:C語言所調(diào)用的函數(shù)可以放在調(diào)用它的函數(shù)前,也可以放在調(diào)用它的函數(shù)后,所以A錯誤。C語言程序總是從main函數(shù)開始執(zhí)行,所以B錯誤。main函數(shù)的位置可以放在開始,也可以放在中間,也可以放在最后,所以C錯誤。
4[單選題] 以下選項中能表示合法常量的是( )。
A.1,200B.1.5E2.0C.”\”D.”\007”
參考答案:D
參考解析:A選項中整型常量應(yīng)表示為1200,不能包含“!。B選項中E后面的指數(shù)必須為整數(shù)。C選項中轉(zhuǎn)義字符以“、”開始,若要表示字符“、”,應(yīng)寫為“、、”。
5[單選題]若有以下程序
則程序的輸出結(jié)果是
A.1,2,3,4B.2,1,2,-1C.5,1,2,-1D.2,2,2,4
參考答案:D
參考解析:第一個if語句的判斷條件中是邏輯或表達式,所以只要有一個運算對象為真結(jié)果就為真,且如果前面的已經(jīng)為真,后面的表達式不再進行執(zhí)行判斷。執(zhí)行第一個if判斷條件時a的值為2,整個表達式的值為真,b的值不變,c的值為2。判斷第二個if條件為邏輯與表達式。只有兩個運算對象均非零,才為真,第一個表達式c==3,不成立,不再判斷第二個運算對象,所以不執(zhí)行d=-1操作和a=5操作。所以結(jié)果為選項D。
6[單選題] 數(shù)據(jù)流圖中帶有箭頭的線段表示的是( )。
A.控制流B.事件驅(qū)動C.模塊調(diào)用D.數(shù)據(jù)流
參考答案:D
參考解析:數(shù)據(jù)流圖中帶箭頭的線段表示的是數(shù)據(jù)流,即沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標注數(shù)據(jù)流名。
7[單選題]下列敘述中正確的是( )。
A.循環(huán)隊列是隊列的一種鏈式存儲結(jié)構(gòu)
B.循環(huán)隊列是隊列的一種順序存儲結(jié)構(gòu)
C.循環(huán)隊列是非線性結(jié)構(gòu)
D.循環(huán)隊列是一種邏輯結(jié)構(gòu)
參考答案:B
參考解析:在實際應(yīng)用中,隊列的順序存儲結(jié)構(gòu)一般采用循環(huán)隊列的形式。
8[單選題]下列關(guān)于棧敘述正確的是( )。
A.棧頂元素最先能被刪除
B.棧頂元素最后才能被刪除
C.棧底元素永遠不能被刪除
D.棧底元素最先被刪除
參考答案:A
參考解析:棧是先進后出的數(shù)據(jù)結(jié)構(gòu),所以棧頂元素最后入棧卻最先被刪除。棧底元素最先入棧卻最旨除。所以選擇A。。
9[簡答題]下列給定程序中函數(shù)fun的功能是。用遞歸算法計算斐波拉契數(shù)列中第n項的值。從第l項起,斐波拉契數(shù)列為:1、1、2、3、5、8、l3、21、……
例如,若給n輸入7,則該項的斐波拉契數(shù)值為l3。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
參考解析:
【參考答案】
去掉分號
(2Case l:caBe
2:return l;
【考點分析】
本題考查:switch語句,其一般形式為switch(表達式)
cage常量表達式l:語句l;case常量表達式2:語句2;
cm常量表達式n:語句n;default:語句n+1;
其中switch(表達式)后不應(yīng)該帶有“;”,同時case語句常量后應(yīng)該是“:”。
【解題思路】
C語言中,switch語句之后不能有分號,并且case語句常量后應(yīng)用的是冒號。
10[簡答題]下列給定程序中函數(shù)fun的功能是:將P所指字符串中的所有字符復(fù)制到b中,要求每復(fù)制三個字符之后插入一個空格。
例如,若給a輸入字符串:ABCDEFGKHHK,調(diào)用函數(shù)后,字符數(shù)組b中的內(nèi)容為:ABC DEF GHI JK。請改正程序中的錯誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
參考解析:
(1)b[k]=+p;
(2)b[k]=“;k++;
【考點分析】
本題考查:指針類型變量作為函數(shù)的參數(shù),函數(shù)的參數(shù)不僅可以是整型、實型、字符型等數(shù)據(jù)類型,還可以是指針類型。它的作用是將一個變量的址傳送到另一個函數(shù)中。
【解題思路】
(1)JllN中p是指針型變量作函數(shù)參數(shù),因此給b[k]賦值時出現(xiàn)錯誤0
(2)題目要求賦值3個字符后加一個空格,所以應(yīng)該是先給b[k]賦值空格,然后變量k再加1。
【解題寶典】
C語言中為了表示指針變量和它所指向的變量之間的關(guān)系,在程序中用“*’’符號表示“指向”,例如,pointer代表指針變量,而* pointer是pointer所指向的變量。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |