C語言編程規范試題(標准答案)
一.單選題(每小題3分,共20小題60分)
1.1-1.5 B D A C B 1.6-1.10 C A D B C
1.11-1.15 A D D C B 1.16-1.20 D A B C A
二.填空題(每空1分,共20空20分)
2.1 通常在設計函數的時候,函數之間要低 耦合 ,函數內部要高 內聚 ,函數之間調用關系要 高 扇入、 合理 扇出。
2.2 為了提高代碼的效率,通常要求循環體內工作量 最小化 ,把多重循環中最忙的循環放在 最內層 。
2.3 代碼質量保證優先原則中,最優先保證 正確性 ,然后依次是穩定性、安全性、 可測試性 、規范/可讀性、全局效率、局部效率、個人方便性。
2.4 代碼走讀主要是對程序的編程風格如注釋、命名等以及編程時易出錯的內容進行檢查,可由開發人員自己或開發人員 交叉 的方式進行;代碼審查主要是對程序實現的功能及程序的穩定性、安全性、可靠性等進行檢查及評審,可通過自審、 交叉審核 或 指定部門抽查 等方式進行。
2.5同產品軟件(項目組)內,最好使用相同的編輯器,並使用相同的 設置選項 。
2.6資源文件(多語言版本支持),如果資源是對語言敏感的,應讓該資源與源代碼文件 脫離 ,具體方法有下面幾種: 使用單獨的資源文件 、 DLL文件 或其它單獨的描述文件(如數據庫格式)。
2.7對較關鍵的算法最好使用 其它算法 來確認。
2.8局部效率應為 全局效率 服務,不能因為提高局部效率而對 全局效率 造成影響。
2.9在同一項目組或產品組內,要有一套統一的為集成測試與系統聯調准備的 調測開關 及相應打印函數,並且要有詳細的說明。
2.10檢查函數所有參數輸入的有效性,同時還要檢查函數所有非參數輸入的有效性,如數據文件、 公共變量 等。
三.編程題(每小題20分,共1小題20分)
3.1 編寫函數實現:將整型變成字符串,如3489變成"3489"。要求不可以使用任何C庫函數。函數原型聲明如下:
char *intTostring(int num, char *result);
答題評分標准:
1、 結果完全正確:15分
2、 結果完全不正確:0分
3、 結果部分正確:如未考慮負數的情況,得8分
4、 結果完全正確或部分正確的情況下,考查編程規范符合情況,加0~5分
5、 結果完全不正確的情況下,即使編程規范完全符合,亦不可加分。
參考程序:
char *intTostring(int num, char *result)
{
char buf[15];
int i = 0;
int n = 0;
int k = 0;
int tmpNum = num;
if (tmpNum >= 0)
{
// 正數
k = 1;
}
else
{
// 負數
k = 0;
tmpNum = -tmpNum;
}
do
{
buf[i++] = tmpNum % 10 + '0';
tmpNum = tmpNum / 10;
}while(tmpNum);
if (0 == k)
{
buf[i++] = '-';
}
// 順序顛倒回來
for (n = i - 1; n >= 0; n--)
{
result[i - 1 - n] = buf[n];
}
result[i] = '\0';
return result;
}
