2017年計(jì)算機(jī)二級(jí)《C語(yǔ)言》考前試題及答案7

字號(hào):


    一、選擇題(每小題1分,共40分)
    (1)計(jì)算機(jī)能直接執(zhí)行的程序是( )。
    A.源程序
    B.目標(biāo)程序
    C.匯編程序
    D.可執(zhí)行程序
    (2)以下敘述中正確的是( )。
    A.c語(yǔ)言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_(kāi)始執(zhí)行
    B.可以在程序中由用戶(hù)指定任意一個(gè)函數(shù)作為主函數(shù),程序?qū)拇碎_(kāi)始執(zhí)行
    C.c語(yǔ)言程序?qū)脑闯绦蛑械谝粋€(gè)函數(shù)開(kāi)始執(zhí)行、
    D.main的各種大小寫(xiě)拼寫(xiě)形式都可以作為主函數(shù)名,如MAIN,Main等
    (3)以下選項(xiàng)中可用做c程序合法實(shí)數(shù)的是( )。
    A.3.0e0.2
    B..1e0
    C.E9
    D.9.12E
    (4)下列定義變量的語(yǔ)句中錯(cuò)誤的是( )。
    A.int jnt;
    B.double int_;
    C.char For;
    D.float US$;
    (5)表達(dá)式:(im)((double)9/2)一9%2的值是( )。
    A.0
    B.3
    C.4
    D.5
    (6)設(shè)變量均已正確定義,若要通過(guò)
    scaIIf(”%d%c%d%c”,&al,&el,&a2,&c2);
    語(yǔ)句為變量al和a2賦數(shù)值l0和20,為變量cl和c2賦字符x和Y。以下所示的輸入形式中正確的是( )。(注:口代表空格字符)
    2016年計(jì)算機(jī)二級(jí)C語(yǔ)言考前20天必做題(8)
    (7)以下選項(xiàng)中不能作為c語(yǔ)言合法常量的是( )。.
    A.0.1e+6
    B.’cd’.
    C.”、a”
    D.’\011
    (8)if語(yǔ)句的基本形式是:if(表達(dá)式)語(yǔ)句,以下關(guān)于“表=迭式”值的敘述中正確的是( )。
    A.必須是邏輯值
    B.必須是整數(shù)值
    C.必須是正數(shù)
    D.可以是任意合法的數(shù)值
    (9)有如下嵌套的if語(yǔ)句:
    2016年計(jì)算機(jī)二級(jí)C語(yǔ)言考前20天必做題(8)
    以下選項(xiàng)中與上述if語(yǔ)句等價(jià)的語(yǔ)句是( )。
    k=(a
    B.B.:((b>C.?b:
    c.;B.k=(a
    D.k=(a
    (10)有以下程序:
    2016年計(jì)算機(jī)二級(jí)C語(yǔ)言考前20天必做題(8)
    程序執(zhí)行后的輸出結(jié)果是( )。
    A.1
    B.2
    C.4
    D.死循環(huán)
    (11)有以下程序:
    2016年計(jì)算機(jī)二級(jí)C語(yǔ)言考前20天必做題(8)
    程序運(yùn)行后的輸出結(jié)果是( )。
    A.Afternoon
    B.ftemoon
    C.Morning
    D.oming
    (12)有以下程序,程序中庫(kù)函數(shù)islower(ch)用以判斷ch中的字母是否為小寫(xiě)字母:
    2016年計(jì)算機(jī)二級(jí)C語(yǔ)言考前20天必做題(8)
    程序運(yùn)行后的輸出結(jié)果是( )。
    A.ab cd EFg!
    B.Ab Cd EFg!
    C.ab cd EFG!
    D.aB cD EFG!
    (13)有以下程序:
    2016年計(jì)算機(jī)二級(jí)C語(yǔ)言考前20天必做題(8)
    程序運(yùn)行后的輸出結(jié)果是( )。
    A.0
    B.9
    C.6
    D.8
    (14)有以下程序:
    2016年計(jì)算機(jī)二級(jí)C語(yǔ)言考前20天必做題(8)
    程序執(zhí)行后的輸出結(jié)果是( )。
    A.55.
    B.50
    C.45
    D.60
    (15)有以下結(jié)構(gòu)體說(shuō)明、變量定義和賦值語(yǔ)句:
    2016年計(jì)算機(jī)二級(jí)C語(yǔ)言考前20天必做題(8)
    則以下scanf函數(shù)調(diào)用語(yǔ)句有錯(cuò)誤的是( )。
    scanf(”%s”,s[0].name);
    B.scanf(”%d”,&s[0].a(chǎn)ge);
    C.scanf(”%c”,&(ps一>sex));
    D.scanf(”%d”,ps一>age):
    (16)若有以下語(yǔ)句:typedef struct S{int 9;char h;}T;以下敘述中正確的是( )。
    A.可用s定義結(jié)構(gòu)體變量
    B.可用T定義結(jié)構(gòu)體變量
    C.S是struct類(lèi)型的變量
    D.T是struct S類(lèi)型的變量
    2016年計(jì)算機(jī)二級(jí)C語(yǔ)言考前20天必做題(8)
    2016年計(jì)算機(jī)二級(jí)C語(yǔ)言考前20天必做題(8)
    程序運(yùn)行后的輸出結(jié)果是( )。
    A.1002,ZhangDa,1202.0
    B.1002,ChangRon9。1202.0
    C.1001,ChangRon9,1098.0
    D.1001,ZhangDa,1098.0
    (18)設(shè)有宏定義:
    #define IsDIV(k,n)((k%1"1==1)?1:O)且變量m已正確定義并賦值,則宏調(diào)用:
    IsDIV(m,5)&&IsDIV(m,7)為真時(shí)所要表達(dá)的是( )。
    判斷m是否能被5和7整除
    B.判斷m被5和7整除是否都余l(xiāng)
    C.判斷m被5或者7整除是否余1
    D.判斷m是否能被5或者7整除
    (19)有以下程序:
    2016年計(jì)算機(jī)二級(jí)C語(yǔ)言考前20天必做題(8)
    程序運(yùn)行后的輸出結(jié)果是( )。
    A.3
    B.1
    C.2
    D.0
    (20)有以下程序:
    2016年計(jì)算機(jī)二級(jí)C語(yǔ)言考前20天必做題(8)
    2016年計(jì)算機(jī)二級(jí)C語(yǔ)言考前20天必做題(8)
    程序運(yùn)行后的輸出結(jié)果是( )。
    A.1 2
    B.1 4
    C.123 4
    D.123 456
     
     
     
    一、選擇題
    (1)D【解析】計(jì)算機(jī)能直接執(zhí)行的程序是二進(jìn)制的可執(zhí)行程序,擴(kuò)展名為.exe。所以選擇D選項(xiàng)。
    (2)A【解析】C語(yǔ)言中的主函數(shù)只能是main()函數(shù),不能任意指定,所以B選項(xiàng)錯(cuò)誤。C語(yǔ)言從主函數(shù)main()開(kāi)始,到主函數(shù)main()結(jié)束,所以C選項(xiàng)錯(cuò)誤。主函數(shù)必須寫(xiě)成小寫(xiě)的main,不能混淆大小寫(xiě),所以D選項(xiàng)錯(cuò)誤。
    (3)B【解析】A選項(xiàng)中e后面的指數(shù)必須為整數(shù),所以錯(cuò)誤。C語(yǔ)言規(guī)定,E之前必須要有數(shù)字,所以c選項(xiàng)錯(cuò)誤。E后面必須要有數(shù)字,且必須為整數(shù),所以D選項(xiàng)錯(cuò)誤。
    (4)D【解析】C語(yǔ)言規(guī)定,變量命名必須符合標(biāo)識(shí)符的命名規(guī)則。D選項(xiàng)中包含了非法字符“$”,所以錯(cuò)誤。標(biāo)識(shí)符由字母、數(shù)字或下劃線組成,且第一個(gè)字符必須是大小寫(xiě)英文字母或者下劃線,而不能是數(shù)字。大寫(xiě)字符與小寫(xiě)字符被認(rèn)為是兩個(gè)不同的字符,所以For不是關(guān)鍵字for。
    (5)B【解析】先將整型數(shù)據(jù)9強(qiáng)制轉(zhuǎn)換成doub1e型,然后除以2得到的結(jié)果與doub1e型保持一致,即為4.5,然后將4.5強(qiáng)制轉(zhuǎn)換成整型數(shù)據(jù)4,然后計(jì)算9%2的值為1,最后計(jì)算4一1的值為3,所以選擇B選項(xiàng)。
    (6)C【解析】輸入數(shù)據(jù)的格式必須與scanf()的格式控制串完全匹配,如果A、B、c選項(xiàng)中在數(shù)字10后面均輸入了空格,則會(huì)將空格賦給變量c1,而不是把x賦給c1,所以選擇C選項(xiàng)。
    (7)B【解析】要想表示字符串常量應(yīng)該用雙引號(hào)表示,即“cd”,單引號(hào)用于表示字符常量,所以B選項(xiàng)中的表示方法錯(cuò)誤。
    (8)D【解析】if語(yǔ)句中的表達(dá)式可以是任意合法的數(shù)值,如常量、變量表達(dá)式。所以D選項(xiàng)正確。
    (9)B【解析】題目中嵌套語(yǔ)句的含義是當(dāng)a&1t;b且a&1t;c成立,則將a的值賦給k。如果a&1t;b成立而a&1t;c不成立將e的值賦給k。如果a&1t;b不成立而b&1t;c成立,將b的值賦給k。如果如果a&1t;b不成立且b&1t;c也不成立,將c的值賦給k。判斷條件表達(dá)式只有B選項(xiàng)可以表示這個(gè)含義。
    (10)A【解析】一一k先自減再使用,所以第一次判斷條件即為whi1e(4),條件為真,執(zhí)行打印k的值k=4—3,結(jié)果為1;第二次判斷條件即為whi1e(0),條件為假,結(jié)束循環(huán),打印回車(chē)換行符。所以選擇A選項(xiàng)。
    (11)A【解析】本題主函數(shù)中定義了一個(gè)指針數(shù)組a,可以將它看成一個(gè)以字符指針為元素的一維數(shù)組。和一般的一維數(shù)組名能賦給同類(lèi)型指針變量一樣,該字符指針數(shù)組也可以賦給指向字符指針的指針,所以數(shù)組名a可以用做函數(shù)fun()的實(shí)參。在fun()函數(shù)中,++P操作使形參P往后移動(dòng)一個(gè)字符指針的位置,即指針a[1]的位置。故最后通過(guò)礎(chǔ)nd()函數(shù)輸出的字符串為“Afternoon”。因此A選項(xiàng)正確。
    (12)D【解析】調(diào)用缸函數(shù)后,實(shí)參數(shù)組名s1傳給形參指針P,P也指向數(shù)組s1。m函數(shù)的功能是遍歷字符數(shù)組中的所有字符,如果某一個(gè)字符是空格并且前一個(gè)字符是小寫(xiě)字母的話,就把前一個(gè)字符轉(zhuǎn)換為大寫(xiě)。程序中語(yǔ)句P[i一1]=P[i—1]一ga’+-A‘;即P[i一1]=P[i一1]一32,意思是將P[i一1]中的字符轉(zhuǎn)換為大寫(xiě)。因此D選項(xiàng)正確。
    (13)C【解析】主函數(shù)中調(diào)用f函數(shù),同時(shí)將數(shù)值3傳遞給變量x,執(zhí)行條件不滿(mǎn)足條件if(x==0I1X==1);跳過(guò)re—turn(3);,直接執(zhí)行語(yǔ)句Y=X}X—f(x一2);這里f(x一2)為函數(shù)的遞歸調(diào)用,再次訶用f函數(shù),此時(shí)x=1,判斷條件成立,返回3給f(1),Y=3}3—3=6,最后將6返回主函數(shù),并進(jìn)行輸出。因此c選項(xiàng)正確。
    (14)D【解析】?jī)?nèi)部靜態(tài)變量是始終存在的,當(dāng)函數(shù)被調(diào)用退出后,內(nèi)部靜態(tài)變量會(huì)保存數(shù)據(jù),再次調(diào)用該函數(shù)時(shí),以前調(diào)用時(shí)的數(shù)值仍然保留著。m(a,5)的值是15,再次調(diào)用后Ⅲm=15,所以fun(b,4)=45,s=45+15=60。因此D選項(xiàng)正確。
    (15)D【解析】本題考查結(jié)構(gòu)體的相關(guān)知識(shí),題目中需要輸入一個(gè)變量,scanf要求參數(shù)為指針,而D選項(xiàng)中ps一>age為一個(gè)變量,不是指針,所以錯(cuò)誤。
    (16)B【解析】本題考查typ1edef重新聲明一種結(jié)構(gòu)體類(lèi)型,那么T為結(jié)構(gòu)體類(lèi)型,而不是結(jié)構(gòu)體變量,所以B選項(xiàng)正確。
    (17)B【解析】本題考查結(jié)構(gòu)體變量的引用以及作為函數(shù)參數(shù),題目雖然看似復(fù)雜,其實(shí)比較容易,f函數(shù)的參數(shù)是結(jié)構(gòu)體變量,然后對(duì)參數(shù)重新賦值并返回,所以該題目的答案為B選項(xiàng)。
    (18)B【解析1本題考查邏輯運(yùn)算符的相關(guān)概念,邏輯與若要為真,那么兩邊都要為真,即m都能被5和7整除都余1,所以選項(xiàng)B正確。
    (19)A【解析】本愿考查位運(yùn)算符以及相關(guān)運(yùn)算,‘為按位或,&為按位與,部么a'b為3,再與c按位與仍然為3,所以答案為A選項(xiàng)。
    (20)D【解析】fprintf()函數(shù)向文本文件輸出數(shù)據(jù),將輸出的內(nèi)容按格式輸出翻硬盤(pán)的文本文件中。執(zhí)行兩次fprintf后。文件中的內(nèi)容為。123 456”,所以D選項(xiàng)正確。