2017年計(jì)算機(jī)二級(jí)C語言考前練習(xí)試題及答案1

字號(hào):


    一、選擇題【每小題1分。共40分)
    (1)下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是( )。
    A.循環(huán)隊(duì)列
    B.帶鏈隊(duì)列
    C.二叉樹
    D.帶鏈棧
    (2)下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是( )。
    A.循環(huán)隊(duì)列
    B.棧
    C.隊(duì)列
    D.二叉樹
    (3)對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是( )。
    A.隊(duì)頭指針是固定不變的
    B.隊(duì)頭指針一定大于隊(duì)尾指針
    C.隊(duì)頭指針一定小于隊(duì)尾指針
    D.隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針
    (4)算法的空間復(fù)雜度是指( )。
    A.算法在執(zhí)行過程中所需要的計(jì)算機(jī)存儲(chǔ)空間
    B.算法所處理的數(shù)據(jù)量
    C.算法程序中的語句或指令條數(shù)
    D.算法在執(zhí)行過程中所需要的臨時(shí)工作單元數(shù)
    (5)軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是( )。
    A.低內(nèi)聚低耦合
    B.高內(nèi)聚低耦合
    C.低內(nèi)聚高耦合
    D.高內(nèi)聚高耦臺(tái)
    (6)下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)原則的是( )。
    A.可封裝
    B.自頂向下
    C.模塊化
    D.逐步求精
    (7)軟件詳細(xì)設(shè)計(jì)生產(chǎn)的圖如右圖:該圖是( )。
    A.N—S圖
    B.PAD圖
    C.程序流程圖
    D.E—R圖
    2016年計(jì)算機(jī)二級(jí)C語言考前20天必做題(4)
    A.操作系統(tǒng)的一部分
    B.在操作系統(tǒng)支持下的系統(tǒng)軟件
    C.一種編譯系統(tǒng)
    D.一種操作系統(tǒng)
    (9)在E—R圖中,用來表示實(shí)體聯(lián)系的圖形是( )。
    A.橢圓形
    B.矩形
    C.菱形
    D.三角形
    (10)有三個(gè)關(guān)系R、S和T如下:
    2016年計(jì)算機(jī)二級(jí)C語言考前20天必做題(4)
    其中關(guān)系T由關(guān)系R和s通過某種操作得到,該操作為( )。
    A.選擇
    B.投影
    C.交
    D.井
    (11)以下關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)的敘述中正確的是( )。
    A.結(jié)構(gòu)化程序使用goto語句會(huì)很便捷
    B.在c語言中,程序的模塊化是利用函數(shù)實(shí)現(xiàn)的
    C.一個(gè)結(jié)構(gòu)化程序必須同時(shí)由順序、分支、循環(huán)三種結(jié)構(gòu)組成
    D.由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問題
    (12)對(duì)于一個(gè)正常運(yùn)行的C程序,以下敘述中正確的是( )。
    A.程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束
    B.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在main函數(shù)結(jié)束.
    C.程序的執(zhí)行總是從main函數(shù)開始、
    D.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束
    (13)以下選項(xiàng)中能表示合法常量的是( )。
    A.1,200
    B.1.5E2.0
    C.”\”
    D.”\007”
    (14)以下定義語句中正確的是( )。
    A.int a=b=0;
    B.char A=65+1,b=’b’;
    C.float a=1,*b=*a,*C=&b;
    D.double a=0.0;b=1.1;
    (15)若變量x、y已正確定義并賦值,以下符合C語言語法的表達(dá)式是( )。
    A.X+1=y
    B.++X.Y=X一一
    C.X=X+10=X+Y
    D.double(X)/10
    若變量已正確定義為int型,要通過語句:scanf(”%d,%d,%d”,&a,&b,&C.;給a賦值l、給b賦值2、給C賦值3,以下輸入形式中錯(cuò)誤的是( )。(注:口代表一個(gè)空格符)
    2016年計(jì)算機(jī)二級(jí)C語言考前20天必做題(4)
    (17)以下不能輸出字符A的語句是( )。(注:字符A的ASCIl碼值為65,字符a的ASCIl碼值為97)
    2016年計(jì)算機(jī)二級(jí)C語言考前20天必做題(4)
    若a是數(shù)值類型,則邏輯表達(dá)式(a==1)I l(a!=1)的值是( )。.
    A.1
    B.0
    C.2
    D.不知道a的值,不能確定
    (19)設(shè)有定義:
    int a=1,b=2,C=3;
    以下語句中執(zhí)行效果與其他三個(gè)不同的是( )。
    if(a>B.C=a,a=b,b=C;
    B.if(a>B.{C=a,a=b,b=C;}
    C.if(a>B.C=a;a=b;b=c;
    D.if(a>B.{C=a;a=b;b=c;}
    (20)有以下程序:
    2016年計(jì)算機(jī)二級(jí)C語言考前20天必做題(4)
    程序執(zhí)行后的輸出結(jié)果是( )。
    A.y=OS)y=一1
    B.0
    C.y=1
    D.while構(gòu)成無限循環(huán)
     
     
    一、選擇題
    (1)C【解析】樹是簡(jiǎn)單的非線性結(jié)構(gòu),所以二叉樹作為樹的一種也是一種非線性結(jié)構(gòu)。
    (2)B【解析】棧是按先進(jìn)后出的原則組織數(shù)據(jù)的。隊(duì)列是先進(jìn)先出的原則組織數(shù)據(jù)。
    (3)D【解析】循環(huán)隊(duì)列的隊(duì)頭指針與隊(duì)尾指針都不是固定的,隨著人隊(duì)與出隊(duì)操作要進(jìn)行變化。因?yàn)槭茄h(huán)利用的隊(duì)列結(jié)構(gòu),所以隊(duì)頭指針有時(shí)可能大于隊(duì)尾指針,有時(shí)也可能小于隊(duì)尾指針。
    (4)A【解析】算法的空間復(fù)雜度是指算法在執(zhí)行過程中所需要的內(nèi)存空間。所以選擇A。
    (5)B【解析】一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。
    (6)A【解析】結(jié)構(gòu)化程序設(shè)計(jì)的思想包括:自頂向下、逐步求精、模塊化、限制使用got0語句,所以選擇A。
    (7)C【解析】N—s圖提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,所以A不對(duì)。PAD圖是問題分析圖,它是繼承程序流程圖和方框圖之后提出的又一種主要用于描述軟件詳細(xì)設(shè)計(jì)的圖形表示工具,所以8不對(duì)。E—R圖是數(shù)據(jù)庫中的用于表示E—R模型的圖示工具,所以D不對(duì)。根據(jù)圖中所示表示方法是進(jìn)行軟件詳細(xì)設(shè)計(jì)時(shí)使用的程序流程圖。
    (8)B【解析1數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等。是一種在操作系統(tǒng)之上的系統(tǒng)軟件。(9)C【解析】在E—R圖中實(shí)體集用矩形,屬性用橢圜,聯(lián)系用菱形。
    (10)D【解析】關(guān)系T中包含了關(guān)系R與s中的所有元組,所以進(jìn)行的是并的運(yùn)算。
    (11)B【解析1濫用90t0語句將使程序的流程毫無規(guī)律,可讀性差,對(duì)于初學(xué)者來說盡量不要使用,所以A錯(cuò)誤?!獋€(gè)結(jié)構(gòu)化程序可以包含順序、分支、循環(huán)結(jié)構(gòu)中的一種或多種,所以C錯(cuò)誤。由三種基本結(jié)構(gòu)構(gòu)成的程序可以解決任何復(fù)雜的問題,所以D錯(cuò)誤。
    (12)C【解析】任何一個(gè)c程序都是從主函數(shù)main開始,至主函數(shù)main結(jié)束,所以選擇c選項(xiàng)。
    (13)D【解析1A選項(xiàng)中整型常量應(yīng)表示為1200,不能包含“。”。B選項(xiàng)中E后面的指數(shù)必須為整數(shù)。C選項(xiàng)中轉(zhuǎn)義字符以“、”開始,若要表示字符“、”,應(yīng)寫為“、、”。
    (14)B【解析】A選項(xiàng)語句中b變量還沒有定義不能直接用于給a變量賦值。c選項(xiàng)語句中·b、-c表示的是一個(gè)實(shí)句中a=0.0后面應(yīng)該為逗號(hào),不能是分號(hào)。
    (15)B【解析】A選項(xiàng)中不能將變量Y賦給表達(dá)式,c選項(xiàng)中錯(cuò)誤與A選項(xiàng)一樣,D選項(xiàng)中強(qiáng)制類型轉(zhuǎn)換表達(dá)式應(yīng)寫成(doub1e)x/10。
    (16)D【解析】scanf()的格式控制串可以使用其他非空白字符,如本題中的逗號(hào),但在輸入時(shí)必須輸入這些字符;以保證匹配。所以逗號(hào)必須輸入。
    (17)B【解析】B選項(xiàng)輸出的格式為%d,即為整型格式,所以輸出字符A的ASCI1碼值65,而不是字符A。由于大寫字母比與其對(duì)應(yīng)的小寫字母的ASCI1碼值小32,所以A正確。字符A的ASCI1碼值就是65,所以以%C格式輸出可以輸出字符A,所以c正確。由于字符A的ASCI1碼值比字符B的小1,所以D正確。
    (18)A【解析】邏輯或”I|”要求只要兩邊的運(yùn)算對(duì)象有一個(gè)非零,結(jié)果就為真。雖然不知道a的值,但是若a為1,則左邊運(yùn)算對(duì)象為1;若a的值不是1,則右邊運(yùn)算對(duì)象的值為1,所以總能保證一邊非零,所以結(jié)果為真,即1。
    (19)C【解析】由于a小于b,所以所有選項(xiàng)中的條件都為假,C選項(xiàng)中實(shí)際執(zhí)行了a=b;b=c;兩個(gè)操作。而A、B、D選項(xiàng)由于條件不成立,所以什么也沒有做,所以選擇C選項(xiàng)。
    (20)B【解析】執(zhí)行Y一一直到值為0,由于Y一一是先用再減,所以退出循環(huán)時(shí),y的值為一1。