整體的內容:程序的結構,數據類型,常量與變量,運算符,流程控制,數組,函數,指針。
- 變量在定義時最好初始化,這是一個編程的好習慣
- 建議程序員少用short,慎用int,多用long,內存不是問題,程序的穩定高於一切
- 選擇和循環結構的本質就是跳轉(彙編)
-
char 變量在內存中存儲的是字符對應的 ASCII 碼值。如果以 %c 輸出,會根據 ASCII 碼錶轉換成對應的字符,如果以 %d 輸出,那麼還是整數。 int 變量在內存中存儲的是整數本身,如果以 %c 輸出時,也會根據 ASCII 碼錶轉換成對應的字符。 也就是說,ASCII 碼錶將整數和字符關聯起來了。在char的取值範圍內(0-255),字符和整數沒有本質區別。
循環
- 循環的應用技巧:
- 循環結構和選擇結構經常配合使用
- 使用多層循環時,注意循環變量之間的關係。
- for循環應用於事先知道循環總次數的場景,一般與計數器或數組結合一起使用。while循環事先不知道循環的總次數,以達到某個目標爲目的循環場景。嘗試用不同的方法解決同一個問題,這會開拓自己的思路
- 循環計數器有時需要從大到小計數,比如
for(i=10;i>0;i--)
函數
- C語言的庫函數肯定是不夠用的,程序員必須要有自己的函數庫,從本章節就開始準備,創建你自己的函數庫的頭文件和程序文件
- 一般來說 #include <> 用於包含C語言提供的庫函數的頭文件,#include " "用於包含程序員自定義的頭文件
- 編譯調用者程序的時候,把調用者程序和自定函數的程序文件一起編譯,否則會出錯。
- 常用庫函數
int atoi(const char *nptr); // 把字符串nptr轉換爲int整數
long atol(const char *nptr); // 把字符串nptr轉換爲long整數
int abs(const int j); // 求int整數的絕對值
long labs(const long int j); // 求long整數的絕對值
在C語言中,我們使用 <stdlib.h> 頭文件中的 srand和rand 函數來生成隨機數,
通常我們採用 <time.h> 頭文件中的 time 函數即可得到一個精確到秒的時間作爲隨機數發生器
在實際開發中,需求往往是一定範圍內的隨機數,對於產生一定範圍的隨機數,就需要使用一定的技巧,
常用的方法是取模運算,再加上一個加法運算
指針
- 在C語言中,數組名是數組元素的首地址,也是數組的地址
- 一般情況下,指針的加減適用於數組,對單個變量的地址加減沒有意義。
- 在應用開發中,地址的加減很重要,主要用於字符串操作
經驗
- gdb調試程序是基本技能,只要看不出程序的錯誤原因,就可以調試。
- 寫程序不是碰運氣,必須對自己寫的代碼有百分之百的把握,如果不行,可能是你對某個知識點沒搞明白,還有坑,既然有坑,就要解決,不要繞過,要搞清楚原因。
- 有問題不要埋頭苦搞,如果一個問題20分鐘還沒有解決,就先放着或者問別人。凡事都有一個度,過之猶如不及,把一個小問題搞半天是浪費時間