1[單選題] sizeof(double)是
A.一個整型表達式B.一個雙精度型表達式C.一個不合法的表達式D.一種函數(shù)調(diào)用
參考答案:A
參考解析:sizeof是c語言中的一個操作符(operator)。不是函數(shù)調(diào)用,簡單的說其作用就是返回一個對象或者類型所占的內(nèi)存字節(jié)數(shù)由于結(jié)果是無符號整數(shù),因此可以把它看作是無符號整型表達式。所以選擇A。
2[單選題]有以下程序
程序運行后的輸出結(jié)果是
A.3B.9C.OD.-12
參考答案:D
參考解析:本題考查目的是運算符的結(jié)合性和優(yōu)先級。首先計算a*a,結(jié)果為9,然后執(zhí)行a=a-9,即3-9,結(jié)果為-6,然后執(zhí)行a=(-6)+(-6),即8=的值為-12。所以選擇D。
3[單選題]若有以下程序
則程序的輸出結(jié)果是
A.5B.15C.10000D.105
參考答案:B
參考解析:本題考查位運算中按位異或運算符,異或運算只有在兩個比較的位不同時其結(jié)果是1,否則結(jié)果為0。10用二進制表示為00001010,5用二進制表示為00000101。異或后00001111,即15,選項B正確。
4[簡答題]下列給定程序中函數(shù)fun的功能是:將字符串中的字符逆序輸出,但不改變字符串中的內(nèi)容。
例如,若字符串為“abcd”,則應輸出:“dcba”。
請改正程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
試題程序:
參考解析:
【參考答案】
(1)void fun(char*a)
(2)prinff(”%e”,*a);
【考點分析】
本題考查:函數(shù)定義,本題為有參函數(shù)定義。printf函數(shù),其一般形式為prinff(“格式控制字符串”,輸出表列)。
“%d”表示按十進制整型輸出;
“%ld”表示按十進制長整型輸出;
“%C”表示按字符型輸出。
非格式字符串在輸出時原樣輸出,起提示作用。
【解題思路】
(1)定義函數(shù)時形參的類型要與調(diào)用函數(shù)中實參的類型一致,主函數(shù)中fun傳遞的是字符串s的首地址,所以此處形參應為指針類型。
(2)根據(jù)prinff函數(shù)格式,很容易找到錯誤之處。
5[簡答題]編寫函數(shù)void fun(char*tt,int PP[]),統(tǒng)計在tt所指的字符串中…a’到“z”26個小寫字母各自出現(xiàn)的次數(shù),并依次放在pp所指的數(shù)組中。
例如,當輸入字符串“abcdefgabcdeabc”后,程序的輸出結(jié)果應該是:
3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
試題程序:
參考解析:
【參考答案】
【考點分析】
本題考查:for循環(huán)語句,注意循環(huán)變量取值范圍以及循環(huán)體語句作用;數(shù)組元素初始化和賦值操作;if語句條件表達式,需注意條件表達式的邏輯運算;字符串結(jié)束標識‘\0’。
【解題思路】
要求統(tǒng)計在tt所指字符串中’a’~'z’26個小寫字母各自出現(xiàn)的次數(shù),并依次放在pp所指數(shù)組中。首先使用for循環(huán)語句初始化pp數(shù)組中分別用來統(tǒng)計26個字母的個數(shù),再使用循環(huán)判斷語句對tt所指字符串中的字符進行逐一比較操作,同時存入相對應的pp數(shù)組中。
6[單選題] 以下關(guān)于C語言數(shù)據(jù)類型使用的敘述中錯誤的是( )。
A.若要處理如“人員信息”等含有不同類型的相關(guān)數(shù)據(jù),應自定義結(jié)構(gòu)體類型
B.若要保存帶有多位小數(shù)的數(shù)據(jù),可使用雙精度類型
C.若只處理“真”和“假”兩種邏輯值,應使用邏輯類型
D.整數(shù)類型表示的自然數(shù)是準確無誤差的
參考答案:C
參考解析:C語言中沒有邏輯類型,所以c錯誤。若要保存帶有多位小數(shù)的數(shù)據(jù),可以用單精度類型也可以用雙精度類型。處理包含不同類型的相關(guān)數(shù)據(jù)可以定義為結(jié)構(gòu)體類型。整數(shù)類型可以無誤差的表示自然數(shù)。
7[單選題] 若有定義語句:double a,*P=&a;以下敘述中錯誤的是( )。
A.定義語句中的*號是-個間址運算符
B.定義語句中的木號是-個說明符
C.定義語句中的P只能存放double類型變量的地址
D.定義語句中,P=&a把變量a的地址作為初值賦給指針變量P
參考答案:A
參考解析:在變量定義double a,*P:&a;中,}號是一個指針運算符,而非間址運算符,所以A錯誤。
8[單選題] 以下敘述中正確的是( )
A.在語句char str[]="string!";中,散組str的大小等于字符串的長度
B.語句char str[10]="string!";和char str[10]={"string!"};并不等價
C.對于一維字符數(shù)組,不能使用字符串常量來賦初值
D.對于字符串常量"string!",系統(tǒng)已自動在最后加入了'\0'字符,表示串結(jié)尾
參考答案:D
參考解析:l字符串中的字符依次存儲在內(nèi)存中一塊連續(xù)的區(qū)域內(nèi),并且把空字符'\0'自動附加到字符串的尾部作為字符串的結(jié)束標志。故字符個數(shù)為n的字符串在內(nèi)存中應占(n+1)個字節(jié)。A選項中數(shù)組長度比字符串長度小一個字節(jié),字符串中包含隱含的結(jié)尾符。B選項中兩者等價,c選項中可以使用字符串常量來給一維字符數(shù)組賦值,就像B選項中一樣。
9[單選題]若有以下程序
則程序的輸出結(jié)果是
A.4,5,6,7,B.4,7,10,13,C.4,6,8,10,D.3,5,7,9,
參考答案:C
參考解析:主函數(shù)中變量k作為for語句的循環(huán)變量,取值0、1、2、3,同時也作為實參通過調(diào)用函數(shù)f傳遞給形參變量m。南于變量a是全局變量,變量n是static靜態(tài)變量,因此k=0時,f函數(shù)中,語句return n+m+a;即l+0+3=4;k=1時,f函數(shù)中,語句retum n+m+8;即2+1+3=6;k;2時,f函數(shù)中,語句returnn+m+a;即3+2+3=8;k=3時,f函數(shù)中,語句return n+m+a;即4+3+3=10。因此C選項正確。
10[單選題] 以下程序段中的變量已正確定義:
程序段的輸出結(jié)果是( )。
A.**B.****C.*D.********
參考答案:C
參考解析:由于內(nèi)層循環(huán)for(k=1;k<3;k++)后面直接跟了空語句“;”所以在循環(huán)內(nèi)部什么操作也不做,跳出外層循環(huán)后執(zhí)行打印語句,所以打印了一個“t”,選擇C。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |