2017年計(jì)算機(jī)二級(jí)C語言考前模擬試題及答案6

字號(hào):


    二、程序填空題(共18分)
    下列給定程序中,函數(shù)fun的功能是:將形參n中個(gè)位上為偶數(shù)的數(shù)取出,并按原來從高位到低位相反的順序組成一個(gè)新數(shù),作為函數(shù)值返回。
    例如,輸入一個(gè)整數(shù)27638496,函數(shù)返回值為64862。
    請(qǐng)?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。注意:部分源程序在文件BLANKl.C中。
    不得增行或刪行,也不得更改程序的結(jié)構(gòu)!#include
    unsigned long fun(unsigned long n){unsigned long x=0;int t;
    2016年計(jì)算機(jī)二級(jí)C語言考前30天必做題(3)
    三、程序修改題(共18分)
    下列給定程序中函數(shù)fun的功能是:將長(zhǎng)整型數(shù)中各位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。
    例如,當(dāng)s中的數(shù)為87653142時(shí),t中的數(shù)為7531。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
    2016年計(jì)算機(jī)二級(jí)C語言考前30天必做題(3)
    四、程序設(shè)計(jì)題(共24分)
    某學(xué)生的記錄由學(xué)號(hào)、8門課程成績(jī)和平均分組成,學(xué)號(hào)和8門課程的成績(jī)已在主函數(shù)中給出,請(qǐng)編寫函數(shù)fun,其功能是:求出該學(xué)生的平均分,并放入記錄的ave成員中。
    例如,學(xué)生的成績(jī)是:85.5,76,69.5,85,91,72,64.5,87.5,則他的平均分應(yīng)為78.875。注意:部分源程序在文件PROGl.C中。
    請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fIm的花括號(hào)中填入你編寫的若干語句。
    2016年計(jì)算機(jī)二級(jí)C語言考前30天必做題(3)
    2016年計(jì)算機(jī)二級(jí)C語言考前30天必做題(3)
     
     
    二、程序填空題
    (1)0
    (2)10*x
    (3)n/10
    【考點(diǎn)分析】
    本題考查:已知某數(shù),如何求該數(shù)各個(gè)位數(shù)值,已知各個(gè)位數(shù)值,如何表示該數(shù);除法運(yùn)算。
    【解題思路】
    填空l:定義變量t用來存放某數(shù)的各個(gè)位數(shù)值,此處判斷t是否為偶數(shù),即對(duì)2求余結(jié)果是否為0。
    填空2:將t作為x的個(gè)位數(shù),原來x的各個(gè)位上升l位,即x=10{x+1。
    填空3:每循環(huán),通過除法運(yùn)算,去掉數(shù)值后一位。
    【解題寶典】
    如果知道某數(shù)n的各個(gè)位的數(shù)值,可以得到該數(shù)值n,如n的個(gè)位為a、十位為b、百位為c,那么n=c}100+b*10+a。如果知道數(shù)值n,可以采用求余和除法操作來表示其各個(gè)位,如n%10(取個(gè)位)、n/J0(取十位),讀者可以自己考慮一下,如果是三位數(shù),如何提取各個(gè)位?四位數(shù)呢?
    三、程序修改題【參考答案】(1)}t=0;(2)if(d%2 1=O)或if(d%2==1)
    【考點(diǎn)分析】
    本題考查:指針型變量作為函數(shù)參數(shù);if語句條件表達(dá)式,結(jié)合奇偶數(shù)的表示方法來確定該表達(dá)式內(nèi)容。
    【解題思路】
    (1)由函數(shù)定義可知,變量t是指針變量,所以對(duì)t進(jìn)行賦初值0是不對(duì)的。因?yàn)閠指向的是存放新數(shù)的變量,所以此處應(yīng)給新數(shù)賦初值0,即。t=0。
    (2)變量d表示數(shù)S各個(gè)位上的數(shù),此處的if條件應(yīng)為判斷d是否為奇數(shù)。
    四、程序設(shè)計(jì)題
    void fun(STREC*a)
    inti:
    a一>ave=0.0:
    fbr(i=0;iave=a—>ave+·一>s[i];/*求各門成績(jī)的總和}/
    a->ave/=N;/}求平均分*/}
    【考點(diǎn)分析】
    本題考查:結(jié)構(gòu)體類型成員運(yùn)算,指向結(jié)構(gòu)體類型的指針變量作函數(shù)參數(shù)。
    【解題思路】
    本題考查自定義形參的相關(guān)知識(shí)點(diǎn),程序流程是這樣的:在如n()函數(shù)中求出平均分后,返回到主函數(shù)時(shí)平均分也要帶回,所以只能定義一個(gè)指針類型的形參STREC·a,此時(shí),引用成員的方式可以使用指向運(yùn)算符,即a一>ave和a—>s[i],當(dāng)然也可用(*a),ave和(*a).S[i]。