C語言基礎

整體的內容:程序的結構,數據類型,常量與變量,運算符,流程控制,數組,函數,指針。

  • 變量在定義時最好初始化,這是一個編程的好習慣
  • 建議程序員少用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分鐘還沒有解決,就先放着或者問別人。凡事都有一個度,過之猶如不及,把一個小問題搞半天是浪費時間

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章