黑馬程式員——C語言知識小節------初學者容易忽略的知識點

來源:互聯網
上載者:User

標籤:

  這兩天複習了之前學習的C語言基礎知識,發現了許多對於初學者來說重要但是卻容易被忽略的問題,在此總結一下,與君共勉。

1、程式中如果用到標頭檔stdio.h的內容,即使不寫#include <stdio.h>程式也可以正常運行,只會警告,不會報錯。這是因為連結程式會自動連結庫函數。所以如果使用了非庫函數的標頭檔,就必須要寫標頭檔,不然程式就會報錯。

2、在使用scanf函數輸入參數時,若以空格作為分隔,如:

int a, b;scanf("%d %d", &a, &b);

  在輸入參數時,不僅可以使用空格作為分隔字元,實際輸入tab、斷行符號都可以作為分隔字元。

3、在程式中我們經常用到自加運算子(如:a++),但是如果有人問你10++的寫法對嗎?好多人就不確定了。實際上10++的寫法是錯誤的,因為 a++ 等價於 a=a+1,所以 10++ 應該等價於 10=10+1,顯然是錯誤的。

4、在switch中,我們經常這樣寫:

int a = 0;int b;switch(a){   case 0:        b=1;        break;     default:        b=2;        break;}         

  但是如果這樣寫呢?

int a = 0;switch(a){   case 0:        int b=1;        break;     default:        int b=2;        break;} 

  事實上,這樣的寫法是錯誤的,因為如果在case中定義了新的變數,必須用{}包住,不然會發生變數範圍不明確的錯誤。正確的寫法應該為:

int a = 0;switch(a){   case 0:        {             int b=1;            break;         }    default:         {             int b=2;             break;           }} 

  哦,對了。其實呢,switch 中的 default也常被大家忽略,當 所有 case 中的值都不等於 a 的時候,就可以用到 default 啦!

5、同樣作為分支結構的 if 語句也應該注意,在 if 語句中定義新的變數時,必須用{}括起來,不然也會報範圍不明確的錯誤。如:

if(10>6){    int a=5;          }

  當然,記得 if(10>6)後邊不要加";"哦。
6、在比較大小是,應注意最好將常量值放在運算子的左邊,變數放在右邊。如: if(2 == a),注意C語言中等於是“==”,若寫為“=”則為賦值操作。

7、在是使用sizeof()函數時,注意傳入的參數,如:

int a = 10;sizeof (10);      // 正確sizeof 10 ;       //  正確sizeof (a);      //  正確sizeof  a;       //  正確sizeof (int);    //  正確sizeof int;      //  錯誤

 

黑馬程式員——C語言知識小節------初學者容易忽略的知識點

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.