二級C語言分類模擬題473_第1頁
二級C語言分類模擬題473_第2頁
二級C語言分類模擬題473_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、二級 C語言分類模擬題 473一、程序填空題1、請補充 main() 函數(shù),該函數(shù)的功能是:把字符串 str1 中的非空格字符復(fù)制到字符串 str2 中。 例如,若 str1=nice to meet you!,則 str2=nicetomeetyou! 。注意:部分源程序如下。請勿改動 main() 函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在 main() 函數(shù)的橫線上填入所編寫的若干 表達式或語句。試題程序:#include#include#define M 80 void main() static char str1M=nice to meet you!; char str2M;int i=0,

2、j=0; system(CLS);printf(n*str1*n);puts(str1);while(str1i)if()str2j+=str1i;printf(n*str2*n);for(i=0;i j;i+)printf(%c,str2i);二、程序改錯題2、下列給定的程序中,函數(shù) proc() 的功能是:將 str 所指字符串中出現(xiàn)的 t1 所指字符串全部替換 成t2 所指字符串,將所形成的新的字符串放在 w所指的數(shù)組中。在此處,要求 t1 和 t2 所指字符串的 長度相同。例如,當(dāng) str 所指字符串中所指的內(nèi)容為 “abcdabcdefg ” ,t1 所指字符串中的內(nèi)容為 “be”,

3、 t2 所指字符串中的內(nèi)容為 “11”時,結(jié)果在 w所指數(shù)組中的內(nèi)容應(yīng)為 “a11dalldefg ” 。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動 main() 函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。 試題程序:#include#include#include#includeint proc(char *str,char *t1,char *t2,char*w) char*p,*r,*a; strcpy(w,str);while(*w)p=w;r=t1;/*found while(r) if(*r=*p)r+;p+; else break;if(*r=0)=w;r=t2;

4、/*foundwhile(*r)*a=*r;a+;r+w+=strlen(t2);else w+;void main()char str100,t1100,t2100,w100; system(CLS);printf(nPlease enter string str:);scanf(%s,str);printf(nPlease enter substring t1:);scanf(%s,t1);printf(nPlease enter substring t2:);scanf(%s,t2);if(strlen(t1)=strlen(t2)proc(str,t1,t2,w);printf(nTh

5、e result is:%sn,w);else printf(Error: strlen(t2)n);三、程序設(shè)計題3、假定輸入的字符串中只包含字母和 * 號。請編寫函數(shù) proc() ,它的功能是: 除了尾部的 *號之外, 將字符串中其他 * 號全部刪除。形參 p已指向字符串中的最后一個字母。在編寫函數(shù)時,不得使用 C語 言的字符串函數(shù)。例如,若字符串中的內(nèi)容為 “*a*bc*def*g* ” ,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是 “abcdefg* ” 。注意:部分源程序如下。請勿改動 main() 函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù) proc() 的花括號中填入所編寫的若 干語句。試題程序:

6、#include#includevoid proc(char*str,char*p)void main()char str81,*t;printf(Enter a string:n); gets(str);t=str;while(*t)t+;t-;/指針t 指向字符串尾部while(*t=*)t-;/指針 t 指向最后一個字母proc(str,t);printf(The string after deleted:n); puts(str);答案:、程序填空題1、str1i!= i+ 解析 題目中要求把字符串 str1 中的非空格字符復(fù)制到字符串 str2 中,因此if 語句的條件是判斷 str

7、1 中的字符不是空格,因此,第 1個空填“str1i!=” ;由程序可知,變量 i 為字符串str1 中字符的下標(biāo),檢查字符串 str1 中的字符通過改變元素下標(biāo)變量來實現(xiàn),因此,第 2個空填 “i+ ”。 二、程序改錯題2、(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ù)的定義,可知

8、該函數(shù)沒有返回值,因此把 proc() 前的“int ”改為“void ”;由proc() 函數(shù)可知,變量 r 指向的是字符串 t1 的地址, while 循 環(huán)要判斷的是字符串 t1 是否結(jié)束,因此, “while(r) ”應(yīng)改為“while(*r) ” ;C語言中,每一條語 句都以分號結(jié)束,因此, “r+”后要加上分號。三、程序設(shè)計題3、 void proc(char *str,char *p) char *t=str;for(;t =p;t+)if(*t!=*)/*(str+)=*t;for(;*t!=0;t+)*(str+)=*t;/*str=0;/把前面不是* 號的字符放到 a數(shù)組中, 通過t的移動來實現(xiàn)把尾部的 * 號接到其后面 , 當(dāng)*t 為 0 時

溫馨提示

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

評論

0/150

提交評論