黑馬程式設計師--C語言自學筆記---02基礎語法
1. 關鍵字
2. 識別符號 :由字母、數字、下劃線和美元符號組成,不能以字母開頭。
識別符號命名規範:
1) 名稱要有意義,不要隨便命名成aaaa,bbbb等,要命名成userName,uName等;
2) 採用駝峰命名法:即形如aaBbCcDd或AaBbCcDd這樣每個單詞首字母大寫
3) 最好使用英文,實在不會英文可以使用拼音
4) 長度要適中,不要過長,例如print AllTheScoreReports,可簡寫為prt_score_rpts
5) 儘量不要使用數字編號,除非需要:num1,num2,num3
3. 註釋:單行註釋//,多行註釋/**/
1) 新增必要註釋,不要每行都註釋,也不可不寫註釋
2) 單行註釋快捷鍵command+/
3) 要注意單行註釋和多行註釋的巢狀問題,避免因不匹配使註釋失效。
4. 資料型別
主要注意不同型別在記憶體中所佔位元組數及其表示範圍
int 4個 float 4個 double 8個 char 1個
5. 常量
1) 整型常量不同進位制的開頭字母表示方法,二進位制0b,八進位制0,十六進位制0X;
2) 實型常量預設為double型,float型要以f結尾,例如3.1為double型,3.1f為float型
3) 字元型用單引號’ ‘,字串型用雙引號” “
6. 變數:代表記憶體的一個空間,用來存放經常改變的資料(由資料型別和名稱組成)
1) 定義時要注意不可重名,可以單個定義,也可以多個一起定義,如:int a,b,c;
2) 變數不進行初始化也是有值的,值的情況可能為①系統資料②上一個程式遺留的資料③垃圾數
3) 變數可在定義時初始化,也可先定義後初始化
① int a=10; ② int a; a=10;
4) 可以用一個變數來定義另一個變數
int a = 10; int b; b=a;
5) 多個變數可以連續初始化,但不可連續定義時初始化
int a,b,c; a=b=c=10; 後面這樣是錯誤的int a=b=c=10;
6) 變數的作用域:
① 全域性變數的作用域為整個程式;
② 區域性變數的作用域為該變數所在的函式或者程式碼塊(程式碼塊是用{}包含的程式碼部分),程式碼塊內定義的變數在程式碼塊結束時失效。
7) printf函式
需要注意的是
① 使用%f時,%m.nf表示輸出結果有m位(包括小數點),小數部分佔n位,位數不足的話在左邊補空格,如:printf(”%6.2f”,3.14);輸出結果為_ _3.14 ; %-m.nf是在右邊補空格
② float型別預設精度為小數位6位,有效位(包括小數點)為7位,其餘為無效數字;double型別預設輸出小數部分6位,有效位為15位
③ 以%0md格式輸出時,表示輸出m位,不足位左邊補0,%-0md不足位在右邊補0
8) scanf函式
1) 為阻塞式函式:在函式執行後,會等待使用者輸入,否則會一直等待
2) 輸入格式可以使用%mf,但不可使用%m.nf;
3) 輸入單個變數時,多餘的空格、回車、Tab均無效;scanf(“%d”,&a);
輸入空格、回車、Tab後再輸入10,和直接輸入10是一樣的
4) *的使用,表示跳過某個輸入
int a,c;char b=’ ‘;scanf(“%d%*c%d”,&a,&b,&c),輸入10 a 12,結果為a=10,c=12,b=’ ’;
5) 在scanf中儘量不要使用\n,如果使用了會發現輸入資料並回車後程序不會繼續執行,這時可隨便再輸入一個內容後回車,程式便會繼續執行。
6) 執行原理:當用戶輸入內容後,內容會被存放到scanf的輸入緩衝區中,然後scanf會根據格式控制的字元要求,從緩衝區中取出相應的內容,如果取出的內容和格式要求一致,就把這個值存入到變數中,如果不一致,則不修改原來變數的值。如果緩衝區中有內容則不會提示繼續輸入。
7) 建議整型和字元型混合輸入時,在格式控制中使用逗號隔開。
8) 可以多寫一條scanf語句來吸收多餘的字元:scanf(“%c”,&a);