1[簡答題]下列給定程序中函數fun的功能是:將P所指字符串中的所有字符復制到b中,要求每復制三個字符之后插入一個空格。
例如,若給a輸入字符串:“ABCDEFGHIJK”,調用函數后,字符數組b中的內容為:“ABCDEFGHIJK”。
請改正程序中的錯誤,使它能得出正確結果。
注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構!
試題程序:
參考解析:
【參考答案】
(1)b[k]=*p;
(2)b[k]=’’;k++;
【考點分析】
本題考查:指針類型變量作為函數的參數,函數的參數不僅可以是整型、實型、字符型等數據類型,還可以是指針類型。它的作用是將一個變量的地址傳送到另一個函數中。
【解題思路】
(1)題目中P是指針型變量作函數參數,因此給b[k]賦值時出現錯誤。
(2)題目要求復制三個字符后加一個空格,所以應該是先給b[k]賦值空格,然后變量k再加l。
【解題寶典】 .
c語言中為了表示指針變量和它所指向的變量之間的關系,在程序中用“木”符號表示“指向”,例如,pointer代表指針變量,而+pointer是pointer所指向的變量。
2[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.3B.1C.2D.0
參考答案:A
參考解析:本愿考查位運算符以及相關運算,‘為按位或,&為按位與,部么a'b為3,再與c按位與仍然為3,所以答案為A選項。
3[單選題] 有以下程序:
程序運行后的輸出結果是( )。
A.0B.1C.4D.8
參考答案:C
參考解析:m函數中的X為靜態局部變量,占用固定的內存單元,下一次調用時仍可保留上次調用時的值。也就是說,如果多次調用fun函數,x的定義只在第一次調用時有效,從第二次調用開始,x的定義相當于不存在,直接使用X的值。主函數中調用兩次fun函數t第一次調用:X=1,X=x}2=2,s=2;第二次調用:(直接用上次X的值)x=X·2=4,s=4。因此C選項正確。
4[單選題] 以下選項中能表示合法常量的是( )。
A.1,200B.1.5E2.0C.”\”D.”\007”
參考答案:D
參考解析:A選項中整型常量應表示為1200,不能包含“。”。B選項中E后面的指數必須為整數。C選項中轉義字符以“、”開始,若要表示字符“、”,應寫為“、、”。
5[單選題] 有兩個關系R、S如下:
由關系R通過運算得到關系s,則所使用的運算為( )。
A.選擇B.投影C.插入D.連接
參考答案:B
參考解析:投影運算是指對于關系內的域指定可引人新的運算。本題中S是在原有關系R的內部進行的,是由R中原有的那些域的列所組成的關系。所以選擇8。
6[單選題] 以下選項中合法的c語言常量是( )。
A.,C—STR’B.2014.1C.”\l.0D.2EK
參考答案:B
參考解析:所謂常量是指在程序運行的過程中,其值不能被改變的量。在C語言中,有整型常量、實型常量、字符常量和字符串常量等類型。選項A是字符串,但使用單引號,錯誤,選項c,D,為實型常量中指數形式,但指數形式e(E)之前必須是數字,之后必須為整數,錯誤。故答案為B選項。
7[單選題] 以下結構體類型說明和變量定義中正確的是( )。
參考答案:B
參考解析:本題考查結構體的相關知識,選項A中struct REC后面不能有分號,C選項中typedef struct REC的后面也不能有分號,選項D中REC已經是結構體變量,不能當做結構體類型來使用。
8[單選題] 有以下程序
程序的輸出結果是
A.1 5 0B.3 5 7C.1 4 7D.3 6 9
參考答案:B
參考解析:程序首先初始化二維數組X[3][3],然后通過3次for循環,輸出x[0][2]、x[1][1]和x[2][0]的值,即3、5、7。因此B選項正確。
9[單選題] 以下選項中,沒有編譯錯誤的是
參考答案:A
參考解析:B選項中,不能直接將字符數組名直接賦值給另一個字符數組名。C選項賦值錯誤,不能將一個字符串常量賦值給一個字符指針。D選項定義stz4時需要定義其長度。
10[簡答題]N名學生的成績已在主函數中放人一個帶頭節點的鏈表結構中,h指向鏈表的頭節點。請編寫函數fun,其功能是:求出平均分,并由函數值返回。
例如,若學生的成績是:85 76 69 85 91 72 64 87,則平均分應當是:78.625。注意:部分源程序在文件PROGl.C中。
請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填人你編寫的若干語句。
參考解析:
【考點分析】
本題考查:鏈表的操作,對鏈表的主要操作有以下幾種:建立鏈表、結構的查找與輸出、插入一個結點、刪除一個結點。
【解題思路】
題目要求求鏈表中數據域的平均值,應首先使用循環語句遍歷鏈表,求各結點數據域中數值的和,再對和求平均分。遍歷鏈表時應定義一個指向結點的指針P,因為“頭結點”中沒有數值,所以程序中讓P直接指向“頭結點”的下一個結點,使用語句STREC+P=h÷next。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦: