編程規范測試試卷試題_第1頁
編程規范測試試卷試題_第2頁
編程規范測試試卷試題_第3頁
編程規范測試試卷試題_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGE4《C/C++編程規范》測試試卷B(總分100分)涉及的內容:基本原則、布局格式、注釋、命名規則、變量常量與類型、表達式與語句、函數與過程、可靠性、可測試性、斷言與錯誤處理說明:考試題目的答案以編程規范作為依據,并非以C/C++語法規則為依據。填空(20分)在C/C++程序中,包含標準庫頭文件用號,包含非標準庫頭文件用號。C/C++程序中每一行的代碼和注釋不能超過列。C++語言中,多行注釋采用,單行注釋采用一般情況下,源程序有效注釋量必須在以上。變量名長度應小于個字符,以保持與ANSIC標準一致。在命名規則中,標識符的命名應當符合原則。結構名、聯合名、枚舉名由前綴開頭,事件名由前綴開頭。應當將指針變量用“==”或“!=”與比較。在switch語句中,每一個case分支必須使用結尾,最后一個分支必須是分支。如果函數沒有參數,則用填充。指針類型變量必須初始化為。如果參數是指針,且僅作輸入用,則應在類型前加。當結構變量作為參數時,應傳送結構的而不傳送整個結構體,并且不得修改結構中的元素,用作輸出時除外。不要省略返回值的類型,如果函數沒有返回值,那么應聲明為類型。在編寫派生類的賦值函數時,必須要對重新賦值。用來檢查程序正常運行時不應發生但在調測時有可能發生的非法情況。判斷(10分):以下的敘述中可能存在錯誤,請在您認為正確的敘述后面劃”√”,在錯誤的敘述后面劃”X”。可以在程序中定義一個多功能的變量,使其用作多種用途。可以使用TAB鍵進行縮進,也可以使用空格進行縮進。縮進為4個空格。if、else、elseif、for、while、do等語句自占一行,執行語句不得緊跟其后。不論執行語句有多少都要加{}。所調用函數的錯誤返回值如果沒有實際意義,可以不必對其進行處理。不可在for循環體內修改循環變量,防止for循環失去控制。結構和聯合必須被類型化。可以將布爾變量和邏輯表達式直接與TRUE、FALSE或者1、0進行比較浮點變量可以用“==”或“!=”與任何數字比較。完整的變量名應由前綴+變量名主體組成,變量名的主體應當使用“名詞”或者“形容詞+名詞”,且首字母必須大寫。宏、常量名可以使用大寫字母也可以使用小寫字母,用下劃線‘_’分割單詞。預編譯開關的定義使用下劃線‘_’開始。選擇(20分):每一個題目可能有不止一個答案。類中的屬性應聲明為,用公有的函數訪問。A.privateB.publicC.protected變量活動范圍前綴規范有:A.g_B.s_C.m_D.空可以在其前后不加空格的操作符有:A.++B.=C.&D.+=長表達式要在低優先級操作符處拆分成新行,操作符放在:A.原行末尾B.新行之首C.可在原行末尾也可在新行之首D.不能這樣拆程序中的標識符可以由的一個子集組成。A.26個英文字母B.10個數字c.下劃線d.連續下劃線宏定義中如果包含表達式或變量,表達式和變量必須用括起來。A.()B.{}C.[]D.A、B都可以結構名、聯合名、枚舉名由前綴開頭。A.EV_B.CC.mD.T_定義一個整形變量”長度”,以下寫法與規范相符合的是:。A.intLength;B.intlength;C.intilength;D.intiLength;在定義變量時,哪些變量前需要加位置前綴:.A.靜態變量B.全局變量C.局部變量D.類的成員變量正式軟件產品中,對斷言以及調測代碼的處理應該是A.保留B.去掉C.保留或去掉都可以D.將斷言保留,調測代碼去掉改錯(30分):請根據編程規范分析下面的代碼是否有錯,找出錯誤之處并進行修改:如下定義一個結構,將錯誤之處指出來,并加以改正:structstudent{characName[NAME_SIZE];WORDwScore;}*ptStudent;分析下面的函數,將錯誤之處指出來,并加以改正:voidSumData(intiNum,int*piData,int*piSum){intiCount;*piSum=0;for(iCount=0;iCount<iNum;iCount++){*piSum+=piData[iCount];}}請分析下面的文件I/O操作函數,將錯誤之處指出來,并加以改正voidWriteFile(char*filename){ FILE *fp; fp=fopen(filename,"a"); fputc('\n',fp); }請檢查下面一段代碼是否存在錯誤,如果有錯誤請改正:constintMAX_USE_NUM=10 unsignedcharaucLoginFlg[MAX_USR_NUM]={0,0,0,0,0,0,0,0,0,0};voidArrayFunction(){unsignedcharUserNo;for(UserNo=1;UserNo<11;UserNo++) {aucLoginFlg[UserNo]=UserNo;……}}CMyClass為一個帶有構造函數的類,找出并修正下面的寫法的錯誤之處:voidMyFunction(…){CMyClassOneClass; OneClass.Param1=2;} 6.分析下面的函數,將錯誤之處指出來,并加以改正:MemmoryFunction(void){unsignedchar*pucBuffer;pucBuffer=GetBuffer(sizeof(DWORD)); if(NULL!=pucBuffer) { //初始化申請的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論