1. 程式人生 > >C語言__基本流程控制和運算子

C語言__基本流程控制和運算子

C語言__基本流程控制和運算子

流程控制

    流程控制就是程式程式碼執行的順序。

    流程控制分為順序,選擇,迴圈三種結構。

    順序最為尋常的流程執行方式。

    選擇:某些程式碼可能執行,也可能不執行,有選擇的執行某些程式碼,包括if和switch兩種用法。

            簡述if的三種用法


1>if最簡單的用法是: if(表示式)  //即如果表示式為真,執行語句1;如果表示式為假,則語句1不執行
                      語句1;
2>if最常用的是:if(表示式)
                    語句1;
                else
                    語句2;
3>if最全的用法是:if(1)
                       語句1;
                  else if(2)
                       語句2;
                  else if(3)
                       語句3;
                  else
                       語句4;
             簡述選擇當中switch關鍵字的用法
Switch(表示式)
{
  Case 常量表達式1:語句 1;

  Case 常量表達式2:語句 2;

  Case 常量表達式3:語句3;

  Default :語句 4;
}

    迴圈:某些程式碼會被重複的執行,包括for,while,do……while三種用法。

              簡述迴圈當中三個關鍵字for\while\do……while的具體用法


在迴圈當中,for迴圈用的最多,邏輯最清晰,難度最大

For迴圈的格式為:for(1;2[表示式];3)
                 {
                   執行體;
                 }
While迴圈的格式為: while(表示式)
                      { 
                         執行體;
                      }
Do……while的格式為: do
                   {
                 執行體;
                 }while (表示式);

三種迴圈的相同點:只有當表示式不成立的時候才跳出迴圈。

簡述break和continue關鍵字的具體用法

Break是用來終止距離它最近的且包裹它的迴圈[for while do……while]和switch語句的。

continue語句執行完以後,將會跳過本次迴圈餘下的語句,轉去判斷是否需要執行下一次迴圈,並不是終止整個迴圈。

迴圈中更新的變數不能定義成浮點型變數是因為浮點型變數不能保證精確的儲存一個數據,即使用者輸入的數值和使用者輸出的數值不一樣。

運算子種類

    1.算術運算子 用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(或稱模運算,%)、自增(++)、自減(--)共七種。
    2.關係運算符 用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)、小於等於(<=)和不等於(!=)六種。
    3.邏輯運算子 用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
    4.位操作運算子 參與運算的量,按二進位制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)左移(<<)右移(>>)六種。
    5.賦值運算子 用於賦值運算,分為簡單賦值(=)、複合算術賦值(+=,-=,*=,/=,%=)和複合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。
    6.條件運算子 唯一一個三目運算子,用於條件求值( ? : )。
    7.逗號運算子 用於把若干表示式組合成一個表示式( ,)。
    8.指標運算子 用於取內容(*)和取地址(&)二種運算。
    9.求位元組數運算子 用於計算資料型別所佔的位元組數(sizeof)。
    10.特殊運算子 有括號(),下標[],成員(→,.)等幾種。

運算子的優先順序

一共有十五個優先順序:

1   ()  []  .  ->
2   !  ~   -(負號) ++  --   &(取變數地址)*   (type)(強制型別)    sizeof
3   * / %
4   + -
5   >> <<  
6   > >= < <=
7   == !=   
8   &  
9   ^   
10  |   
11  &&
12  ||
13  ? :
14   =  +=  -=  *=  /=   %=  |=   ^=   &=   >>=   <<=
15  ,
結合性:2   13  14  是從右至左   其他都是  從左至右


括號成員第一;        //括號運算子[]() 成員運算子.  ->

全體單目第二;        //所有的單目運算子比如++、--、+(正)、-(負) 指標運算*、&乘除餘三,加減四;  //這個"餘"是指取餘運算即%
移位五,關係六;    //移位運算子:<< >> ,關係:> < >= <= 等
等於不等排第七;    //即== 和!=
位與異或和位或;    //這幾個都是位運算: 位與(&)異或(^)位或(|)   
"三分天下"八九十; 
邏輯或跟與;            //邏輯運算子:|| 和 &&
十二和十一;            //注意順序:優先順序(||)  底於 優先順序(&&)
條件高於賦值,        //三目運算子優先順序排到13 位只比賦值運算子和","高
逗號運算級最低!    //逗號運算子優先順序最低

強制型別轉換的格式為:(資料型別)(表示式)功能:將表示式的數值強制轉化為前面資料型別的數值,如:(int *)malloc(100);