(21)有以下程序:

程序執(zhí)行后的輸出結(jié)果是( )。
A.5
B.24
C.32
D.40
(22)有以下程序:

運行時,若輸入1 2 3 4 5 0<回車>,則輸出結(jié)果是( ?。?。
A.66656
B.6566456
C.66666
D.6666656
(23)以下敘述中錯誤的是( ?。?BR> A.用戶定義的函數(shù)中可以沒有return語句
B.用戶定義的函數(shù)中可以有多個return語句,以便可以調(diào)用一次返回多個函數(shù)值
C.用戶定義的函數(shù)中若沒有return語句,則應(yīng)當(dāng)定義函數(shù)為void類型
D.函數(shù)的return語句中可以沒有表達式
(24)有以下程序:

程序運行后的輸出結(jié)果是( ?。?BR> A.b,B,b,A
B.b,B,B,A
C.a(chǎn),B,B,a
D.a(chǎn),B,a,B
(25)下列選項中,能正確定義數(shù)組的語句是( ?。?BR> A.int num[0..2008];
B.int num[];
C.int N=2008;int num[N];
D.#define N 20118 int num[N];
(26)以下函數(shù)實現(xiàn)按每行8個輸出w所指教組中的數(shù)據(jù):

(27)有以下程序:

當(dāng)執(zhí)行程序時從鍵盤上輸入Hello Beijing<回車>,則程序運行后的輸出結(jié)果是( ?。?。
A.hello beijing
B.Hello Beijing
C.HELLO BEIJING
D.hELLO Beijing
(28)有以下程序:

程序運行后的輸出結(jié)果是( )。
A.1,6,2,1,
B.8,7,3,1,
C.4,7,5,2,
D.1,6,5,7,
(29)有以下程序(strcat函數(shù)用于連接兩個字符串):

程序運行后的輸出結(jié)果是( ?。?。
A.IJK
B.ABCDE\OFG\OIJK
C.ABCDIJK
D.EFGIJK
(30)有以下程序段:

當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=Lili num=100l<回車>后,name的值為( )。
A、name=Lili num=1001
B.name=Lili
C.Lili num=
D.Lili
(31)有以下程序:

程序運行后的輸出結(jié)果是( ?。?BR> A.z
B.0
C.元素ch[5]的地址
D.字符Y的地址
(32)有以下程序:

程序運行后的輸出結(jié)果是( ?。?BR> A.0
B.2
C.3
D.5
(33)有以下程序:

執(zhí)行程序時,給變量x輸人10,程序運行后的輸出結(jié)果是( )。
A.55
B.54
C.65
D.45
(34)有以下程序:

程序運行后的輸出結(jié)果是( ?。?。
A.3,3
B.1,1
C.2,3
D.1,2
(35)設(shè)有以下語句:

則下面敘述中正確的是( )。
A.CIN是struct TT類型的變量
B.TT是struct類型的變量
C.可以用TT定義結(jié)構(gòu)體變量
D.可以用CIN定義結(jié)構(gòu)體變量
(36)有以下程序:

程序運行后的輸出結(jié)果是( ?。?BR> A.3,4
B.4,1
C.2,3
D.1,2
(37)有以下程序:

程序運行后的輸出結(jié)果是( ?。?。
A.0
B.-12
C.-20
D.10
(38)有以下程序:

程序運行后的輸出結(jié)果是( )。
A.2
B.4
C.6
D.8
(39)下列關(guān)于C語言文件的敘述中正確的是( )。
A.文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進制文件
B.文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進制文件或文本文件
C.文件由數(shù)據(jù)序列組成,可以構(gòu)成二進制文件或文本文件
D.文件由字符序列組成,其類型只能是文本文件
(40)有以下程序:

程序運行后的輸出結(jié)果是( ?。?。
A.1,2,3,0,0,0,0,0,0,0,
B.1,2,3,1,2,3,0,0,0,0,
C.123,0,0,0,0,123,0,0,0,0,
D.1,2,3,0,0,1,2,3,0,0,
(21)C 【解析】本題的含義是在1-40的整數(shù)的范圍中,只有當(dāng)i的值能被5整除,且i+2的值能被8整除時,打印i的值,滿足這個條件的只有32,選擇C選項。
(22)B 【解析】switch語句的執(zhí)行流程是:首先計算switch后面圓括號中表達式的值,然后用此值依次與各個case的常量表達式比較,若圓括號中表達式的值與某個case后面
的常量表達式的值相等,就執(zhí)行此case后面的語句,執(zhí)行后遇break語句就退出switch語句;若圓括號中表達式的值與所有case后面的常量表達式都不等,則執(zhí)行default后面的語句。然后退出。所以輸入1時打印65,輸入2時打印6,輸入3時打印64,輸入4時打印5,輸入5時打印6。
(23)B 【解析】本題重點考察函數(shù)返回值的相關(guān)知識,函數(shù)的值只能通過return語句返回主調(diào)函數(shù),在函數(shù)中允許有多個return語句,但每次調(diào)用只能有一個return語句被執(zhí)行,因此只能返回一個函數(shù)值。不返回函數(shù)值的函數(shù),可以明確定義為“空類型”,類型說明符為“void”。因此B選項正確。
(24)A

(25)D 【解析】C語言不允許定義動態(tài)數(shù)組,定義數(shù)組的大小必須為常量表達式。A選項錯誤,C語言中數(shù)組沒有此類型的定義方法;B選項錯誤,定義數(shù)組應(yīng)指明數(shù)組大小,如果不指明數(shù)組大小,需要給定初值的個數(shù);C選項錯誤,N為變量,不能用來定義數(shù)組大小。因此D選項正確。
(26)C 【解析】要按照每行8個輸出數(shù)據(jù)的話,橫線處語句的功能應(yīng)該為:當(dāng)i是8的倍數(shù)時(即i%8==0),輸出一個換行符。因此C選項正確。
(27)C 【解析】主程序讀取整個字符串存于S中,調(diào)用fun函數(shù),字符指針c指向數(shù)組s。函數(shù)fun的功能是把指針c所指向的字符數(shù)組中的所有小寫字符轉(zhuǎn)換為大寫。gets函數(shù)可以把空格作為字符串的一部分輸入,以回車作為輸入結(jié)束。如果*C為小寫字符,則*C=* c-32(轉(zhuǎn)大寫)。因此C選項正確。
(28)D【解析】首先對二維數(shù)組進行賦值操作,a[0][0]、a[0][1]、…、a[3][2]、a[3][3]的值為1、4、…、6、1。通過for語句和if語句,對二維數(shù)組各列元素進行由小到大的排序操作,程序最后通過for語句輸出二維數(shù)組對角線上的元素。因此D選項正確。
(29)C 【解析】字符數(shù)組a中包含兩個‘\0’,遇到第一個‘\O’時就表示字符串a(chǎn)結(jié)束。字符串處理函數(shù)strcat(字符數(shù)組a,字符數(shù)組b),功能是連接兩個字符數(shù)組中的字符串,把字符串b連接到a的后面,結(jié)果放在字符數(shù)組a中。連接時將字符串a(chǎn)后的‘\0’取消,只在新串最后保留一個‘\0’。本題相當(dāng)于將“ABCD”和“IJK”連接。因此C選項正確。
(30)D

(31)A 【解析】語句pc=eh;使得指針變量指向字符數(shù)組ch的首地址,即指向字符‘u’。則pc+5指向的是字符向后移動5位,指向字符‘z’。所以輸出的spc+5的值即為‘z’。因此A選項正確。
(32)B 【解析】程序首先給字符數(shù)組s[]賦值為“Ol2xy”,for循環(huán)語句的功能是遍歷字符串,通過if條件語句對字符串中的小寫字母計數(shù),在符串中小寫字母為2個,即n=2。因此B選項正確。
(33)A 【解析】該程序考察的是函數(shù)的遞歸調(diào)用,在調(diào)用—個函數(shù)的過程中又出現(xiàn)直接或間接地調(diào)用該函數(shù)本身,稱為函數(shù)的遞歸調(diào)用,執(zhí)行結(jié)果為1+2+3+…+8+9+10=55。因此A選項正確。
(34)D 【解析】該題目中首先區(qū)別++n和n++,第一次調(diào)用f函數(shù)時,將++n(n自增1后再參與運算)作為參數(shù)進行傳遞,此時變量m的值為1,執(zhí)行n+=m;后,n=1,將1返回主函數(shù),并輸出。第二次調(diào)用f函數(shù)時,將n++(n參與運算后再自增1)作為參數(shù)進行傳遞,此時變量m的值為1,執(zhí)行語句n+=m;,由于n是靜態(tài)存儲變量,因此n=2,將2返回主函數(shù)并輸出。因此D選項正確。
(35)D 【解析】本題考查typedef重新聲明一種結(jié)構(gòu)體類型,其中CIN為結(jié)構(gòu)體類型名,而不是結(jié)構(gòu)體變量,所以D選項正確。
(36)C 【解析】本題考查結(jié)構(gòu)體數(shù)組的相關(guān)操作,dt為結(jié)構(gòu)體數(shù)組,那么指針p指向了結(jié)構(gòu)體數(shù)組的一個元素,所以p->x為1,p->y為2,結(jié)果為2,3。選項C正確。
(37)C 【解析】本題考查宏定義,宏定義只是做簡單的替換,所以本題中SUB(a+b)*e=(a+b)-(a+b)*e=-20,所以答案為C選項。
(38)D 【解析】本題考查位運算符,題目中將a向左移兩位,左移兩位表示乘以4,所以答案為8。選項D正確。
(39)C 【解析】本題考查文件的概念,文件是由數(shù)據(jù)序列組成,可以構(gòu)成二進制文件或文本文件,所以答案為C選項。
(40)D 【解析】本題考查文件操作函數(shù),兩次fwrite后,幣文件中已經(jīng)寫入1,2,3,0,0,1,2,3,0,0然后將文件fp中的內(nèi)容重新寫入數(shù)組a中,最后輸出a為1,2,3,0,0,1,2,3,0,0,所以選項D正確。