C語言總結,c語言

來源:互聯網
上載者:User

C語言總結,c語言

十一天課的總結(只為總結,詳細請看前面的)

一、順序結構

       從上往下依次執行的代碼結構

       電腦執行程式時,都是編譯成二進位檔案,電腦中又分為

       二進位:例如  101001001就是一個位元字

      八進位:例如  023767是一個八位元字,前面的0代表這是一個八位元字

      十進位:10,33,22是十進位數字

      十六進位:0x28AD代表一個十六進位的數字,0x代表這是個十六進位的數字

      運算子:

       int  a = 10,b = 20;

      算術運算子

        + :加法運算樣本:a  + b = 20

        -  :減法運算   a -  b = -10

        *  :乘法運算   a  *  b = 200

        /   :  除法運算   a / b = 0(整數除法結果取整數部分,小數點後面的都不要)任何數除10相當於去掉個位

        % :  取餘運算   a % b = 10


       比較子(為布爾類型)

         >  :比較是否大於                      a  >  b    false

         <  :比較是否小於                     a < b      true

        == :比較是否等於                     a == b   false

        >= :大於等於                            a >=  b   false

        <= :小於等於                            a <= b     false

       %= :取餘等於   

        !=  :不等於


        邏輯運算子(布爾類型)

        &&:並且條件1 && 條件2 同時滿足條件1和2時,結果才為真(一架既假,兩真才真)

         | | :或者條件1  | |  條件2滿足一個條件結果就為真(一真既真,兩假才假)

        ! :非條件  !將條件的布爾值取反

        常量、變數、運算式

        常量:在程式中不能改變

        變數:在程式中可以改變

        運算式:由常量、變數、運算子結合而成的式子

二、選擇結構

       有選擇的執行代碼

               if (條件運算式){

                         語句

               }


              if (條件運算式1){

                         語句1

              }else if(條件運算式2){

                         語句2

              }. . . 


              switch(){

                         case1:{

                         語句1;

                          break;

                          }

                          case2:{

                          語句2;

                          break;

                          }

                          . . .

                         default:{

                         語句;

                         break;

                         }

                 }

三、迴圈結構

        當滿足迴圈條件時,反覆執行某一段代碼(迴圈體)的結構

               for 迴圈

               for(條件變數初始化;條件運算式;條件變數增量){

                            語句(迴圈體)

               }

               while 迴圈

               條件變數初始值;

               while(條件運算式){

                         語句(迴圈體);

                         條件變數增量;

                }

                do . . .while 迴圈(基本不使用)

                do(語句(迴圈體)){

                           條件變數增量

                 }while (條件運算式)

四、數組、結構體

        一位元組、二維數組、多維陣列、字元數組、字串數組

        必須是相同資料類型元素組成

        二維數組排序(冒泡排序)

        int arr[ 5 ] = {2, 6, 3, 7, 5};/ / count 是數組的大小

        for (int  i = 0; i < count - 1; i++){

                  for(int  j = 0; j < count - 1 - i; j++){

                              if (arr[ j ] > arr[ j + 1 ]){

                                         int  temp = arr[ j ];

                                         arr[ j ] = arr[ j + 1 ];

                                         arr[ j + 1 ] = temp;

                              }

                   }

           }

           結構體:可以存放多個類型元素

           struct  student {

                   結構體變數1;

                   結構體變數2;

                   . . .

            };

           一般我們定義結構體時,直接用typedef給結構體重新定義一個新名字

           typedef  struct {

                    結構體變數1;

                    結構體變數2;

                    . . .

            } Student; / / 給結構體起一個新名字Student

            另外define(宏定義)、enum(枚舉)也是結構體

            結構體數組:存放結構體變數的

            樣本:

                     typedef   struct  {

                                char  name[20];

                                int  age;

                                float  score;

                     } Student;

                     Student  stu1 = {" xiaoming ", 20, 80};

                     Student  stu2 = {" xiaohong ", 19, 90};

                     Student  stu[ ] = {stu1,  stuff};

                     printf("%s %d %.2f",stu[1].name, stu[1].age, stu[1].score) / /列印數組元素時,需要在後面加上( . 變數名)

五、函數(詳細請看函數那一篇)

         實現某一功能的代碼塊的封裝

         例如:格式化的輸入、輸出函數

         printf(" ")輸出函數

         scanf(" ", &變數名)輸入函數

         像這類由系統提供的函數稱為系統函數,由編譯者本身自己編寫的函數稱為自訂函數

         例如:

                  int  sum (int  a,int  b){

                             return   a + b;

                   }

                  這是一個自訂的求和的函數

           函數分為:

           無參數無返回值:   void  a(){

                                                           printf(" hello ");

                                           }


           無參數有返回值:int  b(){

                                                  return  3;

                                        }


           有參數無返回值:void  c(int  x){

                                                   printf(" hui  zi ");

                                        }

           有參數有返回值:int   d (int  y){

                                                   return  y;

                                         }

           函數的編寫步驟:

           1:函數的聲明

           2:函數的編寫

           3:函數的調用

六、指標(詳細內容請看前兩篇)

       指標就是地址,指向某個變數地址

       函數指標、指標函數

       函數指標是一個指標,指向一個函數

       指標函數是一個函數,返回值是一個指標

       結構體指標

       指向結構體的指標

七、動態記憶體的劃分(詳細內容請看前兩篇)

       棧區:記憶體位址最高,聲明的變數之類的都在這,先進後出,不能自動釋放

       堆區:記憶體空間最大的,需要手動申請、手動釋放

       全域區(靜態區):存放全域變數,在任何變數前面加static,該變數就會放入全域區

       常量區:存放常量

       代碼區:代碼編譯產生的CPU指令存放的地區

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.