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

正文內(nèi)容

c語言代碼統(tǒng)計器(編輯修改稿)

2025-07-25 08:01 本頁面
 

【文章內(nèi)容簡介】 /*統(tǒng)計空白行數(shù) */int static iCountAll = 0。 /*統(tǒng)計代碼總行數(shù) */int static iHaveCode = 0。 /*判斷該行是否有代碼 */int static iHaveNote = 0。 /*判斷該行是否有注釋*/ int static iC_or_N2 = 0, iC_or_N = 0。 /* 判斷字符是否在注釋中 */int static iQuotation_mark1 = 0, iQuotation_mark2 = 0。 /*判斷字符是否在引號中 */int static i = 1。各個變量的作用在上述代碼也有注釋,這里不再贅述。有必要說明的是,這里全都定義成了靜態(tài)變量,這樣做的目的是在遞歸調(diào)用該函數(shù)時,保持這些變量不改變,其作用相當(dāng)于全局變量。只不過和全局變量相比,它只用于定義它的函數(shù)函數(shù)本身,不能被其它函數(shù)使用,但它更加節(jié)約計算機內(nèi)存空間,也不容易出錯,函數(shù)可移植性也大大增強了。詳細使用見附錄A中相應(yīng)部分。 注釋標(biāo)記在C和C++語言程序代碼中,一共有兩種注釋方式:“/*……..*/”、“//…….”,既然要統(tǒng)計注釋行數(shù),則需要對這兩種特殊標(biāo)記作出相應(yīng)處理,該部分十分關(guān)鍵,它不僅是注釋標(biāo)記,同時也作為代碼的標(biāo)記,如果一個判斷錯誤,就會導(dǎo)致整個結(jié)果出錯,程序中該部分關(guān)鍵代碼如下:else if (39。/39。 == ch amp。amp。 39。*39。 == NextCh amp。amp。 !iQuotation_mark1 amp。amp。 !iQuotation_mark2 amp。amp。 !iC_or_N2 ) { if (iHaveNote == 0){ i = 0。 } iC_or_N = 1。 iHaveNote = 1。 }這里只說明了“/*…*/”的處理,“//…..”同理。其中有兩個判斷處有iQuotation_markiQuotation_mark2這兩個變量的判斷,其目的是為了避免出現(xiàn)以下情況:“fhsdjkgdfj /* gdfgf */ gfgdfgdfgsgf // ” 即在字符串中出現(xiàn)注釋標(biāo)記符。另外還有兩處出現(xiàn)如下語句:if (iHaveNote == 0){ i = 0。 }這里設(shè)置i這個變量是為了讓“//”、“/*”綁定在一起,具體實現(xiàn)方法是在i為0的時候不執(zhí)行任何語句,這樣該函數(shù)接收的兩個字符就會相當(dāng)于沒接收。這是為了避免“/*/”這樣的字符串,有了這個i的判斷后,就不會出現(xiàn)統(tǒng)計完“/*”馬上統(tǒng)計“*/”的情況,而是跳過“*/”統(tǒng)計下一對字符。 Space和tab對于這兩個特殊的字符,在程序設(shè)計時不對它做任何處理,因為空白既不算注釋,也不算代碼,它是特殊的存在。 轉(zhuǎn)義字符有幾個特殊的轉(zhuǎn)義字符:“\\”、“\’”、“\””,這三個字符它們會互相干擾,比如在字符串中出現(xiàn)“\”” ,就會導(dǎo)致字符串的邊界判斷出錯,所以把它們單獨列出來處理。再比如在引號中如果出現(xiàn)了“/*”字符,就不能算作注釋,這些都要特殊考慮特殊處理。大致代碼如下:else if (39。\\39。 == ch amp。amp。 39。\39。 == NextCh amp。amp。 (iQuotation_mark1 || iQuotation_mark2)){ /* 排除轉(zhuǎn)義字符\在字符串中的干擾*/ i = 0。}else if (39。\\39。 == ch amp。amp。 39。\\39。 == NextCh amp。amp。 (iQuotation_mark1 || iQuotation_mark2)){ /* 排除轉(zhuǎn)義字符\\在字符串中的干擾*/ i = 0。}這里只說了雙引號的處理,單引號同樣的處理,這里不再贅述。 其他字符換行符是統(tǒng)計行數(shù)的最終標(biāo)記,所有的行數(shù)統(tǒng)計基本都在這里進行,它只是根據(jù)各個參數(shù)的數(shù)值,再來對統(tǒng)計的數(shù)據(jù)進行自加。由于換一行之后,所有情況都是未知的,所以在換行符這里還要對各個數(shù)據(jù)進行初始化。剩余的字符有兩種處理:如果當(dāng)前不在代碼中(即iC_or_N == 0 amp。amp。 iC_or_N2 == 0),則這些字符算代碼;否則,這些字符算注釋。第6章 設(shè)計結(jié)果和使用說明 程序運行界面開始界面:單個文件統(tǒng)計界面:文件夾統(tǒng)計界面:上圖是對文件夾中子文件夾的文件進行統(tǒng)計上圖是輸出整個文件夾的整體信息 使用說明該統(tǒng)計器由于是控制臺程序,所以操作十分簡單。用戶可以按照提示在指定位置輸入需要統(tǒng)計的文件或文件夾路徑,然后鍵入回車鍵,則程序就會自動運行并輸出用戶所需信息;用戶還可以直接將需要統(tǒng)計的文件或文件夾拖入運行界面中,再鍵入回車鍵,即可統(tǒng)計出相關(guān)信息。統(tǒng)計并顯示的數(shù)據(jù)分別是: 單個文件:代碼行數(shù)、有效代碼行數(shù)、注釋行數(shù)、空白行數(shù)、注釋率; 文件夾:除了該文件夾中所有文件的相關(guān)信息外,還統(tǒng)計了文件夾中的文件總數(shù)、代碼總行數(shù)、有效代碼總行數(shù)、總注釋行數(shù)、總空白行數(shù)、還有總注釋率。用戶可以根據(jù)這些數(shù)據(jù)來審查自己的代碼以及項目的健康度指標(biāo)(注釋率)。 第7章 總結(jié)致謝參考文獻[1] 譚浩強著 《C程序設(shè)計》(第三版)清華清華出版社[2] [美] ,呂秀鋒譯 《C語言程序設(shè)計現(xiàn)代方法》人民郵電出版社[3] 《C語言庫函數(shù)大全》附錄A/***************************************************************************** Function name: CharJudge** Descriptions: 判斷文件中的單個字符,并改變相關(guān)的變量***************************************************************************/int CharJudge(char ch, char NextCh, int k){ int static iCountNote = 0。 /* 統(tǒng)計注釋行數(shù) */ int static iCountCode = 0。 /* 統(tǒng)計有效代碼行數(shù) */ int static iCountblank = 0。 /* 統(tǒng)計空白行數(shù) */ int static iCountAll = 0。 /* 統(tǒng)計代碼總行數(shù) */ int static iHaveCode = 0。 /* 判斷該行是否有代碼 */ int static iHaveNote = 0。 /* 判斷該行是否有注釋 */
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1