![編譯原理第一次作業(yè)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/ed563681-06d9-4024-8140-bd97dcbc2b56/ed563681-06d9-4024-8140-bd97dcbc2b561.gif)
![編譯原理第一次作業(yè)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/ed563681-06d9-4024-8140-bd97dcbc2b56/ed563681-06d9-4024-8140-bd97dcbc2b562.gif)
![編譯原理第一次作業(yè)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/ed563681-06d9-4024-8140-bd97dcbc2b56/ed563681-06d9-4024-8140-bd97dcbc2b563.gif)
![編譯原理第一次作業(yè)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/ed563681-06d9-4024-8140-bd97dcbc2b56/ed563681-06d9-4024-8140-bd97dcbc2b564.gif)
![編譯原理第一次作業(yè)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/22/ed563681-06d9-4024-8140-bd97dcbc2b56/ed563681-06d9-4024-8140-bd97dcbc2b565.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編譯原理課程實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)地點(diǎn)實(shí)驗(yàn)時(shí)間實(shí)驗(yàn)名稱:第一次使實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康模褐販谻語(yǔ)言程序設(shè)計(jì),重溫程序設(shè)計(jì)從編輯、編譯到連接的全過(guò)程,理解編譯器的重要性。實(shí)驗(yàn)要求(詳見實(shí)驗(yàn)講義與實(shí)驗(yàn)指導(dǎo)書):1) 鍵盤輸入任意字符串,統(tǒng)計(jì)其中數(shù)字、字母的個(gè)數(shù)并輸出到終端。輸入:字符串輸出:(數(shù)字,SUMD);(字母,SUML)其中SUMD和SUML分別為統(tǒng)計(jì)出的數(shù)字和字母的個(gè)數(shù)。2) 查找給定文件中的C語(yǔ)言注釋行,并輸出其內(nèi)容。輸入:文本文件“test.txt”輸出:文件中C語(yǔ)言注釋行的內(nèi)容(注:結(jié)果同時(shí)輸出到文件)提示:注釋行以“/* */”或“/ ”標(biāo)示實(shí)驗(yàn)內(nèi)容及關(guān)鍵步驟(算法描述(流程圖或偽代碼)、代碼)1.
2、1、算法描述(1) 輸入一個(gè)字符串(2) 使用for循環(huán)檢測(cè)每個(gè)字符,判斷是否為字母或數(shù)字,判斷的條件: 字母:if(stri >= 'A'&&stri <= 'Z'| stri >= 'a'&&stri<='z')字母數(shù)量+; 數(shù)字:if(stri >='0'&&stri<='9')數(shù)字?jǐn)?shù)量+;(3) 輸出最后結(jié)果1.2、流程圖描述開始輸入字符串循環(huán)檢測(cè)每個(gè)字符當(dāng)前字符為字母字母數(shù)量+是否當(dāng)前字符為數(shù)字?jǐn)?shù)字?jǐn)?shù)量+是
3、否i+i<字符串長(zhǎng)度是否輸出結(jié)果結(jié)束2.1、算法描述(1) 讀取的模式打開一個(gè)txt的一個(gè)文件,逐行讀入文件的內(nèi)容(2) 檢測(cè)每行中的每個(gè)字符,判斷是否為/注釋行或?yàn)?*/注釋行(3) 判斷條件/注釋行:if (bufferi = '/'&&bufferi + 1 = '/'&&op =false)/當(dāng)前的字符為/,下個(gè)字符為/直接輸出注釋行內(nèi)容跳出當(dāng)行的字符循環(huán)/*/注釋行if (op = true)該字符是/*/內(nèi)的字符, 將該字符保存到pstr的字符串中if (bufferi = '/'&&am
4、p;bufferi + 1 = '*')以下是/*/注釋行的內(nèi)容memcpy(pstr, p + i, 1);/拷貝當(dāng)前字符op = true;/設(shè)置注釋行的類型,當(dāng)前為/*/的類型if (bufferi = '*'&&bufferi + 1 = '/'&&op = true) 檢測(cè)到注釋行的內(nèi)容結(jié)束memcpy(pstr, p + i+1, 1);/拷貝當(dāng)前字符continue;(4) 輸出結(jié)果2.2、算法流程圖統(tǒng)計(jì)數(shù)字和字母數(shù)量的結(jié)果截圖:實(shí)驗(yàn)過(guò)程中遇到的問(wèn)題解決辦法與實(shí)驗(yàn)體會(huì)在這次的實(shí)驗(yàn)中基本沒遇到什么問(wèn)題,
5、只是c語(yǔ)言有點(diǎn)不熟練了*源代碼*#include"iostream"#include"string"using namespace std;int main()while(1)char str100;cin>>str;int k = 0;int j = 0;for(int i = 0;i < strlen(str);i+)if(stri >= 'A'&&stri <= 'Z'| stri >= 'a'&&stri<='z
6、9;)j+;if(stri >='0'&&stri<='9')k+;cout<<"數(shù)字:"<<k<<endl;cout<<"字母:"<<j<<endl<<endl;return 0;#include"iostream"#include"string"#include"fstream"using namespace std;int main()char b
7、uffer256;bool op = false;/判斷是否為/*/的注釋char* pstr = NULL;/記錄注釋內(nèi)容pstr = (char *)malloc(1024 * sizeof(char);char* ptempstr = NULL;/記錄pstr的首地址ptempstr = (char *)malloc(1024 * sizeof(char);ptempstr = pstr;ifstream fileopen;fileopen.open("d:com.txt");cout << "文件內(nèi)容如下:" << end
8、l;while (!fileopen.eof()fileopen.getline(buffer, 256, 'n');/讀入一行到控制臺(tái)char* p;/指向讀取文件的buffer緩沖區(qū)的首地址p = buffer;for (int i = 0; i<strlen(buffer); i+)/遇到“/”的注釋if (bufferi = '/'&&bufferi + 1 = '/'&&op =false)memset(pstr, 0, 1024);memcpy(pstr, p + i, strlen(buffer
9、) - i);cout << pstr << endl;break;/*/*/遇到“/*/”的注釋if (op = true)memcpy(pstr, p + i, 1);/拷貝當(dāng)前字符pstr += 1;if (bufferi = '/'&&bufferi + 1 = '*')memset(pstr, 0, 1024);ptempstr = pstr;memcpy(pstr, p + i, 1);/拷貝當(dāng)前字符pstr += 1;op = true;if (bufferi = '*'&&bufferi + 1 = '/'&&op
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年企業(yè)文化展示系統(tǒng)合作協(xié)議書
- 2025年農(nóng)產(chǎn)品初加工機(jī)械合作協(xié)議書
- 八年級(jí)英語(yǔ)下冊(cè) Unit 9 單元綜合測(cè)試卷(人教河南版 2025年春)
- 人教版 七年級(jí)英語(yǔ)下冊(cè) UNIT 5 單元綜合測(cè)試卷(2025年春)
- 完整版幼兒園大班加減混合運(yùn)算
- 公司之間合作協(xié)議書范本模板
- 2025年鄉(xiāng)村山地承包合同標(biāo)準(zhǔn)版本(三篇)
- 2025年個(gè)人貸款保證合同(2篇)
- 2025年產(chǎn)學(xué)研校企合作協(xié)議標(biāo)準(zhǔn)版本(4篇)
- 2025年個(gè)人汽車抵押合同樣本(2篇)
- 2025-2030年中國(guó)納米氧化鋁行業(yè)發(fā)展前景與投資戰(zhàn)略研究報(bào)告新版
- 教育強(qiáng)國(guó)建設(shè)規(guī)劃綱要(2024-2035年)要點(diǎn)解讀(教育是強(qiáng)國(guó)建設(shè)民族復(fù)興之基)
- 2025年度正規(guī)離婚協(xié)議書電子版下載服務(wù)
- 2025年貴州蔬菜集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 煤礦安全生產(chǎn)方針及法律法規(guī)課件
- 2025年教科室工作計(jì)劃樣本(四篇)
- 2024年版古董古玩買賣合同:古玩交易稅費(fèi)及支付規(guī)定
- 幼兒園費(fèi)用報(bào)銷管理制度
- 【7歷期末】安徽省宣城市2023-2024學(xué)年七年級(jí)上學(xué)期期末考試歷史試題
- 春節(jié)后安全生產(chǎn)開工第一課
- 2025光伏組件清洗合同
評(píng)論
0/150
提交評(píng)論