2009年4月全國計算機(jī)等級二級C筆試考前練習(xí)習(xí)題(30)

字號:

2009年4月,全國計算機(jī)等級二級C考試你準(zhǔn)備好了沒?考計算機(jī)等級二級C語言考試的朋友可以多關(guān)注一下考試大為大家整理的2009年4月,全國計算機(jī)等級二級C語言考前練習(xí)!希望對大家的備考有好的幫助!考試大祝各位考個好成績!大家每天都來練習(xí)哦!不斷的加強(qiáng)鞏固!
    (1)在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種:前序遍歷、【1】遍歷和后序遍歷。
    答案:【1】中序
    評析:在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷。
    前序遍歷是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時,仍然先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。
    中序遍歷指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹;并且遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。
    后序遍歷指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹;并且遍歷左、右子樹時,仍然先遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹。
    (2)結(jié)構(gòu)化程序 設(shè)計 方法的主要原則可以概括為自頂向下、逐步求精、【2】和限制使用goto語句。
    答案:【2】模塊化
    評析:結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為自項(xiàng)向下、逐步求精、模塊化和限制使用goto語句。
    自頂向下:程序設(shè)計時,應(yīng)先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)。不要一開始就過多追求眾多的細(xì)節(jié),先從最上層總目標(biāo)開始設(shè)計,逐步使問題具體化。
    逐步求精:對復(fù)雜問題,應(yīng)設(shè)計一些子目標(biāo)作過度,逐步細(xì)化。
    模塊化:一個復(fù)雜問題,肯定是由若干稍簡單的問題構(gòu)成。模塊化是把程序要解決的總目標(biāo)分解為分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo),把每個小目標(biāo)稱為一個模塊。
    限制使用goto語句。
    (3)軟件測試是保證軟件質(zhì)量的重要手段,而軟件測試的主要和重要的測試方法是通過測試數(shù)據(jù)和【3】 的設(shè)計來實(shí)現(xiàn)。
    答案:【3】測試實(shí)例
    評析:進(jìn)行軟件測試時,應(yīng)精心設(shè)計測試實(shí)例和選擇測試數(shù)據(jù),以對系統(tǒng)進(jìn)行全面測試。
    (4)數(shù)據(jù)庫系統(tǒng)的三級模式分別為【4】模式、內(nèi)部級模式與外部級模式。
    答案:【4】概念 或 概念級
    評析:數(shù)據(jù)庫系統(tǒng)在其內(nèi)部具有三級模式及二級映射,三級模式分別是概念級模式、內(nèi)部級模式和外部級模式。
    概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶(應(yīng)用)公共數(shù)據(jù)視圖。
    內(nèi)模式又稱物理模式,它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法,如數(shù)據(jù)存儲的文件結(jié)構(gòu)、索引、集簇及hash等存取方式與存取路徑,內(nèi)模式的物理性主要體現(xiàn)在 操作系統(tǒng) 及文件級上,.它還未深入到設(shè)備級上(如磁盤及磁盤操作)。
    外模式也稱子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式,它由概念模式推導(dǎo)面出。
    (5)數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、【5】和處理過程。
    答案:【5】數(shù)據(jù)存儲
    評析:數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項(xiàng),是數(shù)據(jù)的最小單位;數(shù)據(jù)結(jié)構(gòu),是若干數(shù)據(jù)項(xiàng)有意義的集合;數(shù)據(jù)流,可以是數(shù)據(jù)項(xiàng),也可以是數(shù)據(jù)結(jié)構(gòu),表示某一處理過程的輸入或輸出;數(shù)據(jù)存儲,處理過程中存取的數(shù)據(jù),常常是手工憑證、手工文檔或計算機(jī)文件;處理過程。
    (6)下面程序的輸出是【6】。
    main()
    {int arr[10],i,k=O:
    for(i=0;i<10;i++)
    arr[i]=i;
    for(I=1;i<4;i++)
    k+=arr[I]+i;
    printf("%d\n",k);}
    答案:【6】12
    評析:本題通過第一個for循環(huán)將數(shù)組arr[O]-arr[9]分別賦值為0-9,通過第二個for循環(huán)的三次循環(huán)累加,求出結(jié)果為12,具體分析如下:
    i=l:k=0+arr[1]+l即k=2:
    i=2:k=2+arr[2]+2即k=6:
    i=3:k=6+arr[3]+3即k=12;
    (7)若a=10,b=20,則表達(dá)式!(a    答案:【7】0
    評析:已知a=10,b=20,所以邏輯表達(dá)式a    (8)有以下程序:
    int fa(int x){return x*x;}
    int fb(int x){return x*x*x;}
    int f(int(*f1)(),int(*f2)(),int x)
    {return f2(X)-n(x);}
    main()
    {int i;i=f(fa,fb,2);printf("%d\n",i);}
    程序運(yùn)行后,輸出結(jié)果是【8】。
    答案:【8】4
    評析:在主函數(shù)中調(diào)用函數(shù)f,函數(shù)f有三個參數(shù),形參f1與f2分別是兩個指向函數(shù)的指針。在f中執(zhí)行r2(x)-f1(x),實(shí)際上是執(zhí)行了fb(2).fa(2),故執(zhí)行i=(fa,fb,2)后i的值為2^3-2^2=4。
    (9)下面程序的輸出是【9】。
    main()
    {enum em{eml=3,em2=1,em3};
    char*aa[]={"AA","BB","CC","DD"};
    primf("%s%s%s\n",aa[eml],aa[em2],aa[em3]);
    }
    答案:【9】DDBBCC
    評析:c語言對枚舉的定義規(guī)定:在枚舉中聲明的各個枚舉元素,如果沒有明確指出某個枚舉元素的值,它的上一個元素存在并有明確值的情況下,這個枚舉元素的值為其上一個元素的值+1。
    在本題中,沒有明確說明枚舉元素em3的值,則em3=em2+l=1+l=2,進(jìn)而可知,在printf()打印函數(shù)中,要打印的數(shù)組元素是aa[3]、aa[1]、aa[2],因此最后的打印結(jié)果應(yīng)當(dāng)為"DDBBCC"。
    (10)若想通過以下輸入語句使a=5.0,b=4,c=3,則輸入數(shù)據(jù)的形式應(yīng)該是【10】。
    int b,c;float a;
    scanf("%£%d,c=%d",&a,&b,&c)
    答案:【10】5.0,4,c=3