計(jì)算機(jī)二級C語言上機(jī)模擬試題及解題思路_第1頁
計(jì)算機(jī)二級C語言上機(jī)模擬試題及解題思路_第2頁
計(jì)算機(jī)二級C語言上機(jī)模擬試題及解題思路_第3頁
計(jì)算機(jī)二級C語言上機(jī)模擬試題及解題思路_第4頁
計(jì)算機(jī)二級C語言上機(jī)模擬試題及解題思路_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——計(jì)算機(jī)二級C語言上機(jī)模擬試題及解題思路計(jì)算機(jī)二級C語言上機(jī)模擬試題及解題思路

隨著2021年上半年計(jì)算機(jī)等級考試的鄰近,我為大家整理了2022計(jì)算機(jī)二級C語言上機(jī)模擬試題及解題思路,更多計(jì)算機(jī)等級考試信息請關(guān)注我。

填空題

給定程序中,函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,將全體串長超過k的字符串中右邊的字符刪除,只留存左邊的k個(gè)字符。ss所指字符串?dāng)?shù)組中共有N個(gè)字符串,且串長小于M。請?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果。

留神:源程序存放在考生文件夾下的BLANK1.C中。

不得增行或刪行,也不得更改程序的'布局!

給定源程序:

#include

#include

#defineN5

#defineM10

voidfunchar*ss__1__,intk

inti=0;

whilei__2__

ss[i][k]=__3__;i++;

main

charx[N][M]=Create,Modify,Sort,skip,Delete;

inti;

printf\nTheoriginalstring\n\n;

fori=0;i

funx,4;

printf\nThestringafterdeleted:\n\n;

fori=0;i

解題思路:

此題是根據(jù)給定的字符串?dāng)?shù)組中刪除串長大于某個(gè)值的右邊字符串。

第一處:函數(shù)的定義,試題中已用M作為字符串的長度,所以應(yīng)填:M。

其次處:利用while循環(huán),分別對字符串?dāng)?shù)組中的每個(gè)字符串置字符串終止符,程序中已經(jīng)給定了N個(gè)字符串,所以應(yīng)填:N。

第三處:置字符串終止符,所以應(yīng)填:0或\0。

改錯(cuò)題

給定程序MODI1.C中函數(shù)fun的功能是:根據(jù)以下公式求值,并作為函數(shù)值返回。

例如,給指定精度的變量eps輸入0.0005時(shí),應(yīng)當(dāng)輸出Pi=3.140578。

1121231234

─=1+─+──+───+────+

23353573579

請改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。

留神:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的布局。

給定源程序:

#include

#include

doublefundoubleeps

doubles,t;intn=1;

s=0.0;

t=0;

whileteps

s+=t;

t=t*n/2*n+1;

n++;

returns;

main

doublex;

printf\nPleaseenteraprecision:;scanf%lf,x;

printf\neps=%lf,Pi=%lf\n\n,x,funx;

解題思路:

第一處:初始化t的值,根據(jù)程序中的計(jì)算程序和試題的要求得出,t應(yīng)為1。

其次處:根據(jù)公式/2得出,所以返回時(shí)應(yīng)原有s的根基上乘以2作為返回值。

編程題

假定輸入的字符串中只包含字母和*號(hào)。請編寫函數(shù)fun,它的功能是:使字符串的前導(dǎo)*號(hào)不得多于n個(gè);若多于n個(gè),那么刪除多余的*號(hào);若少于或等于n個(gè),那么什么也不做,字符串中間和尾部的*號(hào)不刪除。函數(shù)fun中給出的語句僅供參考。例如,字符串中的內(nèi)容為:*******A*BC*DEF*G****,若n的值為4,刪除后,

字符串中的內(nèi)容應(yīng)當(dāng)是:****A*BC*DEF*G****;若n的值為8,那么字符串中的內(nèi)容仍

為:*******A*BC*DEF*G****。n的值在主函數(shù)中輸入。在編寫函數(shù)時(shí),不得使用C語言供給的字符串函數(shù)。

留神:片面源程序在文件PROG1.C文件中。

請勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入

你編寫的若干語句。

給定源程序:

#include

voidfunchar*a,intn

inti=0,j,k=0;

whilea[k]==*k++;/*k為統(tǒng)計(jì)*字符個(gè)數(shù)*/

ifkn

i=n;j=k;

/*以下完成將下標(biāo)為k至串尾的字符前移k-n個(gè)位置*/

main

chars[81];intn;

printfEnterastring:\n;getss;

printfEntern:;scanf%d,n;

funs,n;

printfThestringafterdeleted:\n;putss;

NONO;

解題思路:

此題是考察字符串的操作。

利用for循環(huán)來判斷a[j]的字符是否是字符串終止符,假設(shè)不是字符串終止符,那么把a(bǔ)[j]

的字符依次存放到a[i]。其中,變量i是n的初始值,變量j是字符串前導(dǎo)的*號(hào)數(shù)。

參考答案:

voidfunchar*a,intn

inti=0,j,k=0;

whilea[k]==*k++;/*k

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論