在網上搜尋了一些學習c語言的教材,覺得高質量c程式設計指南這個電子檔不錯,作者是林銳博士,希望我能做到他所說的(1
)知錯就改; (
2)經常溫故而知新; (
3)堅持學習,天天向上。
首先請做附錄b的c++/c試題(不要看答案),考查自己的程式設計質量究竟如何。然後參照答案嚴格打分。
(1)如果你只得了幾十分,請不要聲張,也不要太難過。程式設計質量差往往是由於不良習慣造成的,與人的智力、能力沒有多大關係,還是有藥可救的。成績越差,可以進步的空間就越大,中國不就是在落後中趕超發達資本主義國家嗎?只要你能下決心改掉不良的程式設計習慣,第二次考試就能及格了。
一、請填寫
bool , float,指標變數與「零值」比較的
if語句。(
10分)
0, 0.0 , false
或者「空指標」。例如
int
變數n
與「零值」比較的
if 語句為:
if ( n == 0 )
if ( n != 0 )
以此類推。
請寫出boolflag
與「零值」比較的
if 語句:
if (flag == true)
請寫出floatx
與「零值」比較的
if 語句:
if (x == 0.0)
請寫出char *p
與「零值」比較的
if 語句:
if ( p == null)
二、以下為
windows nt下的
32位
c++程式,請計算
sizeof的值(
10分)
charstr = 「hello」 ;
char*p = str ;
intn = 10;
請計算sizeof (str ) =1
sizeof ( p ) =1
sizeof ( n ) =4
void func ( char str[100])
void *p = malloc( 100 );
請計算sizeof ( p ) =100
請寫出boolflag
與「零值」比較的
if 語句。(3分)
標準答案:
if ( flag )
if ( !flag )
如下寫法均屬不良風格,不得分。
if (flag == true)
if (flag == 1 )
if (flag == false)
if (flag == 0)
請寫出floatx
與「零值」比較的
if 語句。(4分)
標準答案示例:
const float epsinon = 0.00001;
if ((x >= - epsinon) && (x <= epsinon)
不可將浮點變數用「==」或「!=」與數字比較,應該設法轉化成「>=」或「<=」此類形式。
如下是錯誤的寫法,不得分。
if (x == 0.0)
if (x != 0.0)
請寫出char *p
與「零值」比較的
if 語句。(3分)
標準答案:
if(p == null)
if(p != null)
如下寫法均屬不良風格,不得分。
if (p == 0)
if (p != 0)
if (p)
if (!)
二、以下為
windows nt下的
32位
c++程式,請計算
sizeof的值(
10分)
charstr = 「hello」 ;
char*p = str ;
intn = 10;
請計算sizeof (str ) =6
(
2分)
sizeof ( p ) =4
(
2分)
sizeof ( n ) =4
(
2分)
void func ( char str[100])
void *p = malloc( 100 );
請計算sizeof ( p ) =4
(
2分)
天啊,幾乎全錯!請高手分析為什麼是這個答案。
《高質量C 程式設計指南》筆記
高質量 c 程式設計指南 是一本關於c 程式設計風格的指導 建議性的書,誕生已經有一年多了,初學c 閱讀此書,感覺甚好,收穫很大。這本書對初學者掌握好的編碼習慣有極大的幫助,對老手改進編碼方式也有好處。xml namespace prefix o ns urn schemas microsoft c...
高質量程式設計指南(筆記)
你使用乙個語言特徵是因為你需要它,而不是因為它存在 bjarne stroustrup 首先掌握語言的特徵及及其使用方法,再學習具體的語言實現才是語言學習之道!我們不能因為bjarne說過那樣的話就不去使用甚至不去學習c c 的高階特性。要想高效的使用一種語言,必須要了解它的各個特徵和他們的使用方法...
高質量C 程式設計指南 一
第 1 章 檔案結構 標頭檔案的作 用 早期的程式語言如 basic fortran 沒有標頭檔案的概念,c c 語言的初學者雖然會用使用標頭檔案,但常常不明其理。這裡對頭檔案的作用略作解釋 1 通過標頭檔案來呼叫庫功能。在很多場合,源 不便 或不准 向使用者公布,只要向使用者提供標頭檔案和二進位制...