版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第2章程序設(shè)計基礎(chǔ)知識課后習(xí)題一、單選題1.假設(shè)已經(jīng)定義了文件指針FILE*fp,并指向了temp.txt文件,即:FILE*fp=fopen("temp.txt","w");下列可以實現(xiàn)將“China”這一字符串寫入到temp.txt文件的語句是()A.fscanf(fp,"%s","China");B.fprintf(fp,"%s","China");C.fscanf("%s","China",fp);D.fprintf("%s","China",fp);2.有以下程序#include<stdio.h>main(){FILE*fp;charstr[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fp=fopen("myfile.dat","a+");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str);puts(str);fclose(fp);}程序運行后在文件中的輸出結(jié)果是()A.abcB.28cC.abc28D.因類型不一致而出錯3.函數(shù)fgetc的作用是從指定文件讀入一個字符,該文件的打開方式可以是()。A.只寫B(tài).追加C.讀或讀寫D.答案B和C都正確4.直接使文件指針重新定位到文件讀寫的首地址的函數(shù)是()。A.ftell()函數(shù)B.fseek()函數(shù)C.rewind()函數(shù)D.ferror()函數(shù)5.從fp所指向的文件中讀取兩個整數(shù)并分別賦給兩個整型變量a和b,正確的形式是()。A.fscanf(“%d%d”,&a,&b,fp);B.fscanf(fp,“%d%d”,&a,&b);C.fscanf(“%d%d”,a,b,fp);D.fscanf(fp,“%d%d”,a,b);6.在C中,系統(tǒng)自動定義了3個文件指針:標(biāo)準輸入設(shè)備文件指針stdin,默認為鍵盤;標(biāo)準輸出設(shè)備文件指針stdout,默認為顯示器;標(biāo)準錯誤輸出設(shè)備文件指針stderr,默認為顯示器。則函數(shù)fputc(ch,stdout)的功能是()。A.從鍵盤輸入一個字符給字符變量chB.在屏幕上輸出字符變量ch的值C.將字符變量的值寫入文件stdout中D.將字符變量ch的值賦給stdout7.如果將文件型指針fp指向的文件內(nèi)部指針置于文件尾,正確的語句是()。A.feof(fp);B.rewind(fp);C.fseek(fp,0L,0);D.fseek(fp,0L,2);8.若一個文件指針變量fp所指向的文本文件有1000個字符,當(dāng)前文件位置指針指向第300個字符,那么執(zhí)行fseek(fp,-100L,SEEK_CUR);以后,文件位置指針指向第()個字符。A.100B.200C.400D.9009.函數(shù)調(diào)用“fputs(p1,p2);”的功能是()。A.從p1指向的文件中讀一個字符串,存入p2指向的內(nèi)存B.從p2指向的文件中讀一個字符串,存入p1指向的內(nèi)存C.從p1指向的內(nèi)存中讀一個字符串,寫到p2指向的文件中D.從p2指向的內(nèi)存中讀一個字符串,寫到p1指向的文件中10.按數(shù)據(jù)的組織形式劃分,文件可以分為()。A.記錄文件和流式文件B.普通文件和設(shè)備文件C.文本文件和二進制文件D.程序文件和數(shù)據(jù)文件二、程序填空題1.編寫一個C語言程序,讀取一個文本文件,統(tǒng)計并輸出文件的行數(shù)、單詞數(shù)和字符數(shù)(不包括空格和換行符)#include<stdio.h>#include<ctype.h>intmain(){FILE*file;charfilename[100];intlines=0,words=0,characters=0,current_char;charprev_char='';printf("Enterthefilename:");scanf("%s",filename);file=—————————;if(file==NULL){printf("Erroropeningfile.\n");return1;}while((—————————)!=EOF){if(prev_char=='\n'&¤t_char!='\n')—————————;if(isalpha(current_char){if(!isalpha(prev_char)words++;—————————;}elseif(!isspace(current_char))characters++;—————————;}fclose(file);printf("Lines:%d\nWords:%d\nCharacters(excludingspacesandnewlines):%d\n",lines,words,characters);return0;}2.讀取一個文本文件的所有內(nèi)容,并復(fù)制到另一個新文件中。要求使用二進制方式讀寫。#include<stdio.h>intmain(){FILE*source,*destination;charch;source=—————————;//原文件名及路徑if(source==NULL){printf("Erroropeningsourcefile");return1;}destination=—————————;//目的地文件及路徑if(destination==NULL){fclose(source);printf("Erroropeningdestinationfile");return1;}while((ch=————————)!=EOF)————————;fclose(source);fclose(destination);printf("Filecopiedsuccessfully.");return0;}3.編寫一個程序,讀取一個文本文件,查找并替換指定的字符串為另一個字符串,然后輸出到新的文件。#include<stdio.h>#include<string.h>#include<stdlib.h>#defineMAX_LINE_LENGTH1028//每行最大長度#defineBUFFER_SIZE100000//緩沖區(qū)大小voidreplaceString(char*line,constchar*search,constchar*replace,char*output){char*temp=strstr(line,search);while(temp){strncpy(temp,replace,strlen(replace),temp);temp+=————————;/*計算replace字符串長度*/temp=————————;/*在temp字符串中查找search字符串首次出現(xiàn)的位置*/}————————;}intmain(){charinputFilename[100],outputFilename[100],searchStr[100],replaceStr[100],line[MAX_LINE_LENGTH];FILE*inputFile,*outputFile;printf("Enterinputfilename:");scanf("%s",inputFilename);printf("Enteroutputfilename:");scanf("%s",outputFilename);printf("Enterstringtosearch:");scanf("%s",searchStr);printf("Enterreplacementstring:");scanf("%s",replaceStr);inputFile=fopen(inputFilename,"r");if(inputFile==NULL){printf("Erroropeninginputfile.\n");return1;}outputFile=fopen(outputFilename,"w");if(outputFile==NULL){fclose(inputFile);printf("Errorcreatingoutputfile.\n");return1;}while(fgets(line,MAX_LINE_LENGTH,inputFile)){replaceString(————————);fputs(————————);}fclose(inputFile);fclose(outputFile);printf("Replacementcomplete.\n");return0;}三、編程題1.編寫程序,現(xiàn)有一個已知存在的文件myfile,要求讀出其內(nèi)容,第一次使它顯示在屏幕上,第二次要把它復(fù)制到另一個文件yourfile中。2.編寫程序?qū)崿F(xiàn)組合文件myfile和文件yourfile中的內(nèi)容,將其寫入新的文件ourfle中并輸出。3.編程設(shè)
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)學(xué)信息學(xué) 大一 《腫瘤編碼》教學(xué)設(shè)計
- 2026美容美發(fā)師招聘面試題及答案
- 做賬實操-節(jié)能環(huán)保公司會計成本核算報表
- 2025年咨詢工程師之宏觀經(jīng)濟政策與發(fā)展規(guī)劃模考預(yù)測題庫及答案
- 2026瑪氏(中國)招聘面試題及答案
- 2025年企業(yè)內(nèi)部培訓(xùn)與執(zhí)行力強化手冊
- 化學(xué)(大二)《有機化學(xué)電子結(jié)構(gòu)與應(yīng)用》教學(xué)設(shè)計
- 2026年橋梁施工安全文化的建設(shè)與風(fēng)險管理
- 2025年金融科技區(qū)塊鏈安全報告及行業(yè)創(chuàng)新趨勢分析報告
- 2026年建筑電氣設(shè)計中的節(jié)能規(guī)范解讀
- 教育機構(gòu)安全生產(chǎn)舉報獎勵制度
- 妊娠合并膽汁淤積綜合征
- GB/T 4706.11-2024家用和類似用途電器的安全第11部分:快熱式熱水器的特殊要求
- FZ∕T 61002-2019 化纖仿毛毛毯
- 《公輸》課文文言知識點歸納
- 碎石技術(shù)供應(yīng)保障方案
- 園林苗木容器育苗技術(shù)
- 23秋國家開放大學(xué)《機電一體化系統(tǒng)設(shè)計基礎(chǔ)》形考作業(yè)1-3+專題報告參考答案
- 2023年工裝夾具設(shè)計工程師年終總結(jié)及下一年計劃
- 第七章腭裂課件
- 兒科學(xué)熱性驚厥課件
評論
0/150
提交評論