freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于自然語(yǔ)言思想的遞進(jìn)c_c教程4ppt(編輯修改稿)

2025-02-15 10:02 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 植。 if ID==NUM1 define INCLUDE elif ID==NUM2 define INCLUDE else define INCLUDE endif include INCLUDE assert故障診斷 例 7. 7 assert()故障診斷函數(shù)的使用 include include //define NDEBUG //該符號(hào)常量定義,一定要在頭文件包含 include 的前面 //解開(kāi)該注釋行,程序就不會(huì)終止 include void main() { int i。 for (i=0。 i10。 i++){ printf(\n%d, i)。 assert(i5)。 } } —— 例 7. 8字符串替換預(yù)編譯“ ”的使用 include define HELLO(x) printf(你好! x \n)。 void main() { HELLO(張三 ) 圖 7. 5例 運(yùn)行結(jié)果 } —— 預(yù)編譯指令“ ”可以象鏈接字符串一樣鏈接數(shù)字。 例 7. 9 數(shù)字鏈接預(yù)編譯“ ”的使用 include 圖 7. 6 例 define CONNECT(x,y,z) xyz void main() { int x=CONNECT(1,2,34)。 printf(\n%d\n, x)。 } ? 在程序中定義的變量都是暫時(shí)存儲(chǔ)在計(jì)算機(jī)的內(nèi)存中的,當(dāng)程序執(zhí)行完畢或計(jì)算機(jī)斷電數(shù)據(jù)就不存在了。 ? 文件可以在磁盤上 永久存儲(chǔ) 大量數(shù)據(jù)。 第 8章 C/C++語(yǔ)言的縱向名詞性擴(kuò)充( 3): 宏觀擴(kuò)充 ——文件 ? 本質(zhì)上,計(jì)算機(jī)語(yǔ)言程序 不能真正操作文件 。 ? 只有 操作系統(tǒng) 可以操作文件。 ? C/C++程序?qū)ξ募牟僮魇峭ㄟ^(guò) 操作系統(tǒng) 完成的。 ? 在做文件讀操作時(shí),通常是將磁盤文件數(shù)據(jù)的一部分( 塊 ),( 這部分的大小由操作系統(tǒng)定 )讀入內(nèi)存。 ? 這個(gè)結(jié)構(gòu)體類型定義在 ,且用typedef定義為 FILE類型。這樣程序中就可以用如下形式定義指向文件的指針變量 ? FILE * fp。 圖 8. 1數(shù)據(jù)的表示 ? 整個(gè)過(guò)程通過(guò)系統(tǒng)函數(shù) fopen()完成。 ? FILE *fp。 ? fp=fopen(文件名字符串,文件打開(kāi)方式字符串 )。 ? 函數(shù) fopen()正確執(zhí)行時(shí)返回地址,執(zhí)行錯(cuò)誤時(shí)返回空指針 NULL( NULL在 0) 打開(kāi) 方式 含 義 “ r” “w” “a” “rb” “wb” “ab” “r+” “w+” “a+” “rb+” “wb+” “ab+” 以從文件中讀的方式打開(kāi)文本文件 以向文件中寫的方式打開(kāi)(新建)文本文件 以向文件尾追加數(shù)據(jù)的寫方式打開(kāi)文本文件 以從文件中讀的方式打開(kāi)二進(jìn)制文件 以向文件中寫的方式打開(kāi)(新建)二進(jìn)制文件 以向文件尾追加數(shù)據(jù)的寫方式打開(kāi)二進(jìn)制文件 以既可從文件中讀又可向文件中寫的方式打開(kāi)已經(jīng)存在的文本文件 以既可從文件中讀又可向文件中寫的方式打開(kāi) (新建 )文本文件 以既可從文件中讀又可向文件中追加數(shù)據(jù)的寫方式打開(kāi)已經(jīng)存在的文本文件 以既可從文件中讀又可向文件中寫的方式打開(kāi)已經(jīng)存在的二進(jìn)制件 以既可從文件中讀又可向文件中寫的方式打開(kāi) (新建 )二進(jìn)制文件 以既可從文件中讀又可向文件中追加數(shù)據(jù)的寫方式打開(kāi)已經(jīng)存在的二進(jìn)制文件 ? 文件的關(guān)閉 意味著 緩沖區(qū)的清除 和 磁盤文件的更新 ,當(dāng)然 文件指針不再指向記錄文件信息的結(jié)構(gòu)體信息 ,該結(jié)構(gòu)體所占 內(nèi)存釋放 。 ? fclose(文件指針變量 )。 ? 如 fclose(fp)。 ? 當(dāng) fclose()正常關(guān)閉文件時(shí),函數(shù)返回 0;否則返回 EOF(- 1) 。 ? 文件的 順序讀寫 是打開(kāi)文件后, 指向文件的開(kāi)頭 ,以后對(duì)文件的讀寫都是從文件的頭順序向后進(jìn)行的。 (寫)字符 ? 向文件中順序?qū)懸粋€(gè)字符的函數(shù)是 putc()或fputc()。 ? 兩個(gè)函數(shù)的功能相同,都聲明在 。 ? 兩函數(shù)正確執(zhí)行返回的是向文件中寫的字符,執(zhí)行錯(cuò)誤時(shí)返回字符常量 EOF。 例 8. 1創(chuàng)建文件,然后向文件中順序?qū)懭胱址? include include /*exit()的函數(shù)聲明 */ void main() { FILE *fp。 //定義文件指針變量 char ch, filename[10]。 printf(\n請(qǐng)輸入要?jiǎng)?chuàng)建的文件名 (*.dat): \n)。 scanf(%s, filename)。 if ((fp=fopen(filename, w))==NULL) { /*以寫方式在當(dāng)前目錄打開(kāi)(新建)文件 */ printf(cannot oen file\n)。 exit(0)。 //如果文件無(wú)法打開(kāi),關(guān)閉已經(jīng)打開(kāi)的其它文件,結(jié)束程序。 } getchar()。 //“吃掉”上面結(jié)束 scanf的回車,避免“回車”被后面 getchar()接收。 printf(\n請(qǐng)輸入文件內(nèi)容, 結(jié)束: \n)。 ch=getchar()。 while(ch!=39。39。) { //判斷是否輸入了“ ” fputc(putc(ch, fp),stdout)。 //將寫到磁盤文件中 的字符, //寫到標(biāo)準(zhǔn)輸出文件(顯示器) ch=getchar()。 } fclose(fp)。 //關(guān)閉文件 } (讀)字符 ? 從文件中順序讀一個(gè)字符的函數(shù)是 getc()或fgetc()。 ? 兩個(gè)函數(shù)的功能相同,都聲明在 。 ? 兩函數(shù)正確執(zhí)行返回的是從文件中 讀的字符 ,執(zhí)行錯(cuò)誤時(shí)返回字符常量 EOF。 例 8. 2 讀已經(jīng)存在的文本文件,將文件內(nèi)容輸出到顯示器 include include /*exit()的函數(shù)聲明 */ void main() { FILE *fp。 //定義文件指針變量 char ch, filename[10]。 printf(\n請(qǐng)輸入要打開(kāi)的文件名 (*.dat): \n)。 scanf(%s, filename)。 if ((fp=fopen(filename, r))==NULL) { /*以讀方式打開(kāi)文件 */ printf(cannot oen file\n)。 exit(0)。 //如果文件無(wú)法打開(kāi),關(guān)閉已經(jīng)打開(kāi)的其它文件,結(jié)束程序。 } getchar()。 //吃掉上面結(jié)束 scanf的回車 printf(\n下面輸出的是文件內(nèi)容: \n)。 ch=getc(fp)。 //從文件中讀一個(gè)字符 while(!feof(fp)) { //putc(ch,stdout)。// 將寫到磁盤文件中的字符,寫到標(biāo)準(zhǔn)輸出文件(顯示器) putchar(ch)。 ch=fgetc(fp)。 //從文件中讀字符 } fclose(fp)。 //關(guān)閉文件 } 例 8. 3 融合例 , 編寫一個(gè)實(shí)現(xiàn)文件拷貝的C程序。 文件拷貝就是讀一個(gè)已經(jīng)存在的文件,然后寫入另一個(gè)新創(chuàng)建文件,而不是寫到標(biāo)準(zhǔn)輸出文件。 include include void main() {FILE *source, *object。 //定義讀文件和寫文件指針變量 char ch, sourcefile[10], objectfile[10]。 printf( \n請(qǐng)輸入拷貝的源文件名: \n)。 scanf( %s, sourcefile)。 printf(請(qǐng)輸入拷貝的目標(biāo)文件名: \n)。 scanf(%s, objectfile)。 if ((source=fopen(sourcefile, r))==NULL) {printf( cannot open sourcefile\n)。 exit(0)。 } if ((object=fopen(objectfile, w))==NULL) {printf( cannot open objectfile\n)。 exit(0)。 } while (!feof(source)) putc(getc(source), object)。 //從源文件中讀,寫到目標(biāo)文件中 fclose(source)。 //關(guān)閉兩個(gè)文件 fclose(object)。 } 例 8. 4 使用 main()函數(shù)的參數(shù) ,可以使文件復(fù)制程序以命令形式運(yùn)行,即 在操作系統(tǒng)提示符下,輸入:命令名 源文件名 目標(biāo)文件名 ,然后回車。 創(chuàng)建工程 MyCopy,新建源文件 ,代碼如下: include include void main(int argc, char *argv[]){ FILE *source, *object。 if (argc!=3) { printf(\n命令參數(shù)個(gè)數(shù)錯(cuò)誤! \n)。 exit(0)。 } if ((source=fopen (argv[1], r))==NULL) { printf( cannot open sourcefile\n)。 exit(0)。 } if ((object=fopen(argv[2], w))==NULL) { printf(cannot open objectfile\n)。 exit(0)。 } while (!feof(source)) fputc(fgetc(source), object)。 fclose(source)。 fclose(object)。 } ? fread(buffer, size, count, fp)。 ? fwrite(buffer, size, count, fp)。 例 8. 5 學(xué)生信息的磁盤文件存儲(chǔ)和讀取。 include include //-------類型定義---------- typedef int Score[2]。 typedef char Name[10]。 struct Student{ int id。 Name name。 Score score。 }。 //-------函數(shù)聲明---------- void InputStudent(Student * p)。 void OutputStudent(Student * p)。 void SaveStudent(Student * p, int n)。 void LoadStudent(Student * p, int
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1