2017年計算機二級C語言考前必做試題及答案5

字號:


    (21)有以下程序:
    2016年計算機二級C語言考前30天必做題(6)
    程序執(zhí)行后的輸出結(jié)果是(  )。
    A.5
    B.24
    C.32
    D.40
    (22)有以下程序:
    2016年計算機二級C語言考前30天必做題(6)
    運行時,若輸入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)有以下程序:
    2016年計算機二級C語言考前30天必做題(6)
    程序運行后的輸出結(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ù):
    2016年計算機二級C語言考前30天必做題(6)
    (27)有以下程序:
    2016年計算機二級C語言考前30天必做題(6)
    當(dāng)執(zhí)行程序時從鍵盤上輸入Hello Beijing<回車>,則程序運行后的輸出結(jié)果是( ?。?。
    A.hello beijing
    B.Hello Beijing
    C.HELLO BEIJING
    D.hELLO Beijing
    (28)有以下程序:
    2016年計算機二級C語言考前30天必做題(6)
    程序運行后的輸出結(jié)果是(  )。
    A.1,6,2,1,
    B.8,7,3,1,
    C.4,7,5,2,
    D.1,6,5,7,
    (29)有以下程序(strcat函數(shù)用于連接兩個字符串):
    2016年計算機二級C語言考前30天必做題(6)
    程序運行后的輸出結(jié)果是( ?。?。
    A.IJK
    B.ABCDE\OFG\OIJK
    C.ABCDIJK
    D.EFGIJK
    (30)有以下程序段:
    2016年計算機二級C語言考前30天必做題(6)
    當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=Lili num=100l<回車>后,name的值為(  )。
    A、name=Lili num=1001
    B.name=Lili
    C.Lili num=
    D.Lili
    (31)有以下程序:
    2016年計算機二級C語言考前30天必做題(6)
    程序運行后的輸出結(jié)果是( ?。?BR>    A.z
    B.0
    C.元素ch[5]的地址
    D.字符Y的地址
    (32)有以下程序:
    2016年計算機二級C語言考前30天必做題(6)
    程序運行后的輸出結(jié)果是( ?。?BR>    A.0
    B.2
    C.3
    D.5
    (33)有以下程序:
    2016年計算機二級C語言考前30天必做題(6)
    執(zhí)行程序時,給變量x輸人10,程序運行后的輸出結(jié)果是(  )。
    A.55
    B.54
    C.65
    D.45
    (34)有以下程序:
    2016年計算機二級C語言考前30天必做題(6)
    程序運行后的輸出結(jié)果是( ?。?。
    A.3,3
    B.1,1
    C.2,3
    D.1,2
    (35)設(shè)有以下語句:
    2016年計算機二級C語言考前30天必做題(6)
    則下面敘述中正確的是(  )。
    A.CIN是struct TT類型的變量
    B.TT是struct類型的變量
    C.可以用TT定義結(jié)構(gòu)體變量
    D.可以用CIN定義結(jié)構(gòu)體變量
    (36)有以下程序:
    2016年計算機二級C語言考前30天必做題(6)
    程序運行后的輸出結(jié)果是( ?。?BR>    A.3,4
    B.4,1
    C.2,3
    D.1,2
    (37)有以下程序:
    2016年計算機二級C語言考前30天必做題(6)
    程序運行后的輸出結(jié)果是( ?。?。
    A.0
    B.-12
    C.-20
    D.10
    (38)有以下程序:
    2016年計算機二級C語言考前30天必做題(6)
    程序運行后的輸出結(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)有以下程序:
    2016年計算機二級C語言考前30天必做題(6)
    程序運行后的輸出結(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
    2016年計算機二級C語言考前30天必做題(6)
    (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
    2016年計算機二級C語言考前30天必做題(6)
    (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正確。