C快速複習,知識點總結 數據類型 基本數據類型 類型名稱說明char 字元類型存放字元的ASCII碼 int 整型存放有符號整數short短整型存放有符號整數long長整型存放有符號整數long long存放有符號整數 float 單精度浮點型存放精度不高的小數 double 雙精度浮點型存放精度較 ...
C快速複習,知識點總結
數據類型
基本數據類型
類型名稱說明char字元類型存放字元的ASCII碼int整型存放有符號整數short短整型存放有符號整數long長整型存放有符號整數long long存放有符號整數float單精度浮點型存放精度不高的小數double雙精度浮點型存放精度較高的小數
- 除了這些基本數據類型之外,還有一些複合類型,後面會慢慢講到.
- 表格中最常用到的四種類型是 char int float 和double.
類型介紹
根據存放類型的不同,可以大致分為字元型,整型和浮點型
- 整型
- 存放整數的類型 比如0 1 2 3 4這種自然數或者負數都可以用整型存放
類型大小範圍說明
int4-231~231-1
short2-215~215
short(int) 短整型
long4-231~231-1long (int) 長整型,規定範圍不得低於int
long long8-263~263-1不低於long類型
- 整型數據需要註意的是 整型數據之間的運算只會得到整型,也就是類似3除以4這種操作得到的不是0.75,而是0
- 字元類型
- 字元類型是一種比較特殊的整型,本質上存放的仍然是整數,因此可以和整數一樣參與各種計算
類型大小範圍說明char1-1281270127每個數字代表一個字元,但是不是所有的字元都是可列印字元
- ASCII碼表,字元類型不需要記這個表格,需要的時候可以查表
- 浮點型/實型
- 浮點型指的是小數類型,為什麼叫浮點型,參考浮點數二進位計算時候小數點的移動
類型大小範圍說明float4-3.4e383.4e38**單精度浮點型,精確到小數點67位double8-1.7e3081.7e308**雙精度浮點型,精確到小數點後面1617位
- float記憶體占用更小,運算速度更高.double類型占用記憶體大,運算較慢,但是精度更高
變數定義和命名規範
- 變數和常量
- C語言中將在代碼中不能變的量稱之為變數,不可變的量稱之為常量
- 比如圓周率這種就是常量,關註人數就是變數
- 定義變數
- 類型規定了數據存放和使用的方式,現在有一個數據如果要存放的話,就需要用到變數
//定義變數的格式 類型 變數名;
int a;
- 上面代碼定義了一個int類型的變數a 這個變數可以在後面賦值,計算,或者顯示到屏幕上
- 命名規範
- 只能由數字,下劃線,字母,美元符號組成
- 不可以是數字開頭
- 不可以和關鍵字衝突
有一些名字拿去做其他作用,比如int 代表整型,這些就稱之為關鍵字
- 命名方式 駝峰命名法
每個變數名由若幹個單片語成,除了第一個單詞之外,其餘單詞首字母全部大寫.單詞可以是縮寫。比如 mciSendString
基本輸入輸出
- 輸入輸出函數
- printf用於將指定的內容以特定格式輸出到屏幕
- scanf用於獲取用戶輸入的內容
- 格式說明
格式占位符作用%d有符號10進位整型%c字元類型%f單精度浮點型%lf雙精度浮點型%s字元數組類型%o無符號8進位整型%x無符號16進位整型
- 輸出格式
- printf("格式占位符",變數);
- 輸入格式
- scanf("格式占位符",&變數);
分支
分支語句
C語言的分支結構主要有if和switch
- if
- 基本格式
if(條件) {
//語句1
}
else {
//語句2;
}
//如果條件滿足 執行語句1,如果條件不滿足 執行語句2
- 需要註意的事情
- 條件可以用一個數字作為條件,判斷真假按照 0為假以非0為真的規則
- 寫條件的時候註意=和==是不同的運算符 不要弄混
- 如果條件比較複雜 建議拆成多句,if裡面的條件不宜太長,方便閱讀
- 在if後面不要加分號
- else部分如果不需要可以不寫
- 如果是if-else嵌套,比如
if(條件1){
語句1;
}
else if(條件2) {
語句2;
}
…
else {
語句n;
}
-
- 當第一個條件不成立的時候才判斷條件2
- if後面的{}中如果只有一個語句(用分號結尾的語句或者其他if語句都可以),那麼可以省略掉{},else並不是必要的,如果else的{}中沒有內容 可以不要else
- switch
- 基本格式
switch(變數)
{
case 情況1:
語句1;
break
case 情況2:
語句2;
break;
//...
default:
break;
}
- 註意事項
-
sw itch的case後面只能接整型或者字元型的常量表達式,不可以是小數或者字元
-
sw itch每個case後面都有一個break
-
default語句如果不需要可以不要
-
對比
- if適應於任何分支情況,三目運算符適合一些比較簡單的分支,switch適合可以一一列舉所有可能情況的時候
- 如果是一個範圍的話用if比較容易表示,但是如果是單個單個能列舉的值,用switch比較簡介,比如游戲操作的wasd方向鍵,菜單的幾個功能都可以用switch
迴圈
迴圈作用
- 多次執行的語句就可以使用迴圈
比如游戲的操作和貼圖,這些都是要多次執行的,就會用到迴圈
- 分支只會執行一次,但是迴圈可能會執行多次(會搭配使用)
三大迴圈語句
- while迴圈
- 基本格式
while(條件) {
語句; //迴圈{}中語句稱之為迴圈體
}
//執行順序 先判斷條件 條件滿足執行迴圈體,不滿足直接退出
- 說明
當條件滿足的時候執行迴圈體,執行之後再去判斷條件,條件不滿足的時候退出
//列印ASCII碼表中的所有字元
int i=0;
while(i<128) {
printf("%c\t",i++);
}
//同一個代碼可以有多種不同的寫法 熟練使用其中一個迴圈就好了
- 註意事項
-
w hile迴圈不要加分號
-
w hile迴圈體只有一句的時候可以省略{} 但是不要省略
-
如果條件滿足則會一直進行迴圈,不滿足就會退出迴圈,所以w hile可能一次都不執行
-
for迴圈
- 基本格式
for(初始化1;條件2;自增自減3) {
迴圈體4;
}
//為了描述方便 給每個語句都加了一個編號
//執行順序 先執行初始化語句1,然後判斷條件2,條件成立執行迴圈體4,不成立跳出迴圈.
//迴圈體執行完畢之後,執行自增語句3 然後判斷條件 開始下一輪迴圈
//簡記 1243 243 243
- 說明
for迴圈類似w hile迴圈 同樣是先判斷然後執行迴圈體的,不過for的語法比較簡單並且相對於w hile更不易寫錯,所以可以先從for迴圈開始熟悉
- 註意事項
-
for迴圈中的兩個分號必不可少,其餘的部分都可以不要,但是分號必不可少
-
for迴圈外面不要加分號!!!! 畫重點 if w hile for一般都不要加分號
-
do while迴圈
- 基本格式
do {
//迴圈體;
}while(條件); //;不能少
//do while迴圈的特點是先執行迴圈體然後判斷條件,如果條件成立進行下一輪迴圈
//do while的迴圈體必定會執行一次
- 說明
do w hile迴圈條件放在後面,先執行然後判斷,如果條件不成立會退出,不然會繼續迴圈
-
特別說明
-
- 條件一直為真的迴圈稱之為死迴圈,常用的有w hile(1) 或者for(;
- 條件一直為真的迴圈稱之為死迴圈,常用的有w hile(1) 或者for(;