




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、編譯原理課程實驗報告實驗地點實驗時間實驗名稱:第一次使實驗實驗目的:重溫C語言程序設計,重溫程序設計從編輯、編譯到連接的全過程,理解編譯器的重要性。實驗要求(詳見實驗講義與實驗指導書):1) 鍵盤輸入任意字符串,統(tǒng)計其中數(shù)字、字母的個數(shù)并輸出到終端。輸入:字符串輸出:(數(shù)字,SUMD);(字母,SUML)其中SUMD和SUML分別為統(tǒng)計出的數(shù)字和字母的個數(shù)。2) 查找給定文件中的C語言注釋行,并輸出其內容。輸入:文本文件“test.txt”輸出:文件中C語言注釋行的內容(注:結果同時輸出到文件)提示:注釋行以“/* */”或“/ ”標示實驗內容及關鍵步驟(算法描述(流程圖或偽代碼)、代碼)1.
2、1、算法描述(1) 輸入一個字符串(2) 使用for循環(huán)檢測每個字符,判斷是否為字母或數(shù)字,判斷的條件: 字母:if(stri >= 'A'&&stri <= 'Z'| stri >= 'a'&&stri<='z')字母數(shù)量+; 數(shù)字:if(stri >='0'&&stri<='9')數(shù)字數(shù)量+;(3) 輸出最后結果1.2、流程圖描述開始輸入字符串循環(huán)檢測每個字符當前字符為字母字母數(shù)量+是否當前字符為數(shù)字數(shù)字數(shù)量+是
3、否i+i<字符串長度是否輸出結果結束2.1、算法描述(1) 讀取的模式打開一個txt的一個文件,逐行讀入文件的內容(2) 檢測每行中的每個字符,判斷是否為/注釋行或為/*/注釋行(3) 判斷條件/注釋行:if (bufferi = '/'&&bufferi + 1 = '/'&&op =false)/當前的字符為/,下個字符為/直接輸出注釋行內容跳出當行的字符循環(huán)/*/注釋行if (op = true)該字符是/*/內的字符, 將該字符保存到pstr的字符串中if (bufferi = '/'&&am
4、p;bufferi + 1 = '*')以下是/*/注釋行的內容memcpy(pstr, p + i, 1);/拷貝當前字符op = true;/設置注釋行的類型,當前為/*/的類型if (bufferi = '*'&&bufferi + 1 = '/'&&op = true) 檢測到注釋行的內容結束memcpy(pstr, p + i+1, 1);/拷貝當前字符continue;(4) 輸出結果2.2、算法流程圖統(tǒng)計數(shù)字和字母數(shù)量的結果截圖:實驗過程中遇到的問題解決辦法與實驗體會在這次的實驗中基本沒遇到什么問題,
5、只是c語言有點不熟練了*源代碼*#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;/記錄注釋內容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 << "文件內容如下:" << end
8、l;while (!fileopen.eof()fileopen.getline(buffer, 256, 'n');/讀入一行到控制臺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);/拷貝當前字符pstr += 1;if (bufferi = '/'&&bufferi + 1 = '*')memset(pstr, 0, 1024);ptempstr = pstr;memcpy(pstr, p + i, 1);/拷貝當前字符pstr += 1;op = true;if (bufferi = '*'&&bufferi + 1 = '/'&&op
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南工商大學《畫法幾何與透視》2023-2024學年第一學期期末試卷
- 河南檢察職業(yè)學院《電視廣告制作》2023-2024學年第一學期期末試卷
- 沈陽師范大學《衣料圖案設計》2023-2024學年第一學期期末試卷
- 教育信息化背景下洛陽教育變革
- 幼兒園食品安全管理與規(guī)范
- 四川外國語大學《傳統(tǒng)音樂學》2023-2024學年第一學期期末試卷
- 廣東藥科大學《生物質資源與利用》2023-2024學年第一學期期末試卷
- 戶外運動產業(yè)發(fā)展報告
- 提升時間管理能力提升工作效率
- 造瘺口的護理
- 診所院內感染管理制度
- 2025-2030年中國經顱磁刺激儀行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025年江蘇高考歷史真題(解析版)
- 廣西來賓市2023-2024學年高二下學期7月期末考試物理試題(含答案)
- 會員月底抽獎活動方案
- 2025年互聯(lián)網醫(yī)療平安好醫(yī)生阿里健康京東健康對比分析報告
- 攀枝花市仁和區(qū)社會招考社區(qū)工作者考試真題2024
- 2025年上海楊浦區(qū)七下英語期末達標檢測試題含答案
- 老年外科患者圍手術期營養(yǎng)支持中國專家共識(2024)解讀
- 臨床肘關節(jié)損傷影像診斷
- 不同產地西紅花的質量評價研究
評論
0/150
提交評論