點(diǎn)擊查看:2015年計算機(jī)二級考試《C語言》提高練習(xí)題匯總
1[填空題]請補(bǔ)充主函數(shù)main(),該函數(shù)的功能是:把從鍵盤輸人的3個整數(shù)按從小到大輸出。
例如,輸入“50 60 40”,結(jié)果輸出“40 50 60”。
注意:部分源程序給出如下。
請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在橫線上填人所編寫的若干表達(dá)式或語句。
試題程序:
參考解析:
【1】x>y【2】x>z【3】y>z【解析】由程序最后的輸出可知變量x 中存放3個整數(shù)中最小的,變量2中存放3個整數(shù)中最大的。當(dāng)x大于y時,變量x和y互換,因此,【1】處填x>y。當(dāng)x大于2時,變量x和z互換,因此,【2】處填x>z。當(dāng)y大于z時,變量y和z互換,因此’【3】處填y>z。
2[簡答題]下列給定的程序中,函數(shù)proc()的功能是:將str所指字符串中出現(xiàn)的t1所指字符串全部替換成t2所指字符串,所形成的新的字符串放在w所指的數(shù)組中。在此處,要求t1和t2所指字符串的長度相同。
例如,當(dāng)str所指字符串中所指的內(nèi)容為abcdabcdef9,t1所指字符串中的內(nèi)容為bc,t2所指字符串中的內(nèi)容為11時,結(jié)果在w所指的數(shù)組中的內(nèi)容應(yīng)為alldalldefg。請修改程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
參考解析:
(1)錯誤:int proc(char*str,char*t1,char*t2,char*w)
正確:void proc(char*str,char*t1.char*t2,char*w)
(2)錯誤:while(r)
正確:while(*r)
(3)錯誤:r++
正確:r++;
【解析】:由主函數(shù)中proc()函數(shù)的調(diào)用以及proc()函數(shù)的定義,可知該函數(shù)沒有返回值,因此把proc()前的“int”改為“void”;由proc()函數(shù)可知,變量r指向的是字符串t1地址,while循環(huán)要判斷的是字符串tl是否結(jié)束,因此,“while(r)”應(yīng)改為“while(*r)”;C語言中,每一條語句都以分號結(jié)束,因此!皉++”后要加上分號。
3[單選題]以下敘述中正確的是
A.在c語言中,邏輯真值和假值分別對應(yīng)1和0
B.關(guān)系運(yùn)算符兩邊的運(yùn)算對象可以是C語言中任意合法的表達(dá)式
C.對于浮點(diǎn)變量x和y,表達(dá)式:x==y是非法的,會出編譯錯誤
D.分支結(jié)構(gòu)是根據(jù)算術(shù)表達(dá)式的結(jié)果來判斷流程走向的
參考答案:B
參考解析:A選項中,在c語言中,邏輯真值對應(yīng)非0;C選項中,表達(dá)式:x==y是合法的;D選項中,分支結(jié)構(gòu)的流程走向是根據(jù)表達(dá)式的值,并不僅僅是算數(shù)表達(dá)式的值。因此B選項正確。
4[簡答題]下列給定程序中,函數(shù)proc()的功能是:對M名學(xué)生的學(xué)習(xí)成績,按從低到高的順序找出前m(m≤10)名學(xué)生來,并將這些學(xué)生數(shù)據(jù)存放在一個動態(tài)分配的連續(xù)存儲區(qū)中,此存儲區(qū)的首地址作為函數(shù)值返回。
請修改程序中的錯誤,使它能得到正確結(jié)果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
參考解析:
(1)錯誤:*t=calloe(m,sizeof(STU));
正確:(struct ss*)calloc(m,sizeof(STU));
(2)錯誤:for(i=j=0;i
正確:for(i=j=0;i
(3)錯誤:t[k].s=b[j].s;
正確:t[k]=b[j];
【解析】由函數(shù)proc()可知,變量t是指向動態(tài)存儲空間的變量,因此不能間接訪問運(yùn)算符,而函數(shù)calloc的返回值類型為void*,要進(jìn)行顯式類型轉(zhuǎn)換,因此“*t=calloc(m,si-zeof(STU));”應(yīng)改為“(struct ss*)calloc(m,sizeof(STU));”。
由程序可知,變量i為控制學(xué)生個數(shù)的變量,因此“for(i=j=
相關(guān)推薦:
2015計算機(jī)二級《C語言程序設(shè)計》無紙化操作題匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |