1. 程式人生 > >黑馬程式設計師 ---C語言入門疑難點---3

黑馬程式設計師 ---C語言入門疑難點---3

------- <a href="http://www.itheima.com" target="blank">IOS培訓</a>、<a href="http://www.itheima.com" target="blank">IOS培訓</a>、期待與您交流! ----------

演算法結構:(1).順序結構,選擇結構,迴圈結構;(2)迴圈結構又分為while型,until型,for迴圈結構;

結構化程式設計方法:1.自頂向下;2.逐步細化3.模組化設計4.結構化程式碼

資料型別:

     常量:字面常量,直接常量和符號常量;

     變數:C語言規定識別符號只能有字母,數字和下劃線三種字元組成,且第一個字元必須是字母或者下劃線;必須先定義後使用,每個變數被定義確定型別後,在編譯時就能為其分配相應的儲存單元。

      整數型別:整數常量有十進位制,八進位制,十六進位制;

     整型變數:資料在記憶體中存放形式是以二進位制形式存放,有int ,short int ,long int ,無符號整型變數的範圍是-32786--32767。有符號型為0---65535。通常把long 定義為32位,把把short定義為16位,int可以是32位也可以為16位,這都主要取決於機器字長。   

實型資料

      實型常量的表示方法:(1)十進位制,0.0;(2)指數形式,123e3

       實型變數:實數型資料在記憶體中的存放形式,一般在記憶體中佔4個位元組,分成整數部分和小數部分存放。實型變數分為float型、double型long double型。實型資料會存在舍入誤差。
實型常量的型別:C編譯系統將實型常量作為雙精度來處理

字元型陣列:(一)字元常量:轉義字元(\n——換行,\t——tab,\r——回車,\f——換頁,\b——退格,\ddd——1到3位8進位制的數代表的字元)二)字元變數:字元資料儲存形式實際是以ASCII碼儲存。“%c字串常量:雙撇號括起來的一系列字元序列。

C的運算子有以下幾種:1、算術運算子(+- * /  %)結合方向自左向右

                                           2、關係運算符(>< == >= <= !=)

                                           3、邏輯運算子(!&& ||)

                                            4、位運算子(<<>> ~ | ^ &)

                                           5、賦值運算子(=及符號擴充套件賦值運算子)

                                            6、條件運算子(?: )

                                            7、逗號運算子(, )

                                            8、指標運算子(*&)

                                            9、求位元組運算子(sizeof)

                                            10、強制型別轉換運算子((型別))

                                            11、分量運算子(. ->)

                                            12、下標運算子([])

                                             13、其他

     控制語句:完成一定的控制功能。1、if()~else~

                                                                2、for()~

                                                                3、while()~

                                                                4、do~while()

                                                                 5、continue

                                                                 6、break

                                                                 7、switch

                                                                 8、goto

                                                                 9、return

    陣列

     一維陣列的定義:型別說明符陣列名【常量表達式】;先定義後引用;一維陣列初始化時可以只對一部分元素初始化,在對全部陣列元素初始化的時候可以部規定長度;但是若被定義的陣列長度與提供的初始值不一樣時,則陣列長度不能省略。

       二維陣列的定義:型別說明符陣列名【常量表達式】【常量表達式】C語言中存放二維陣列是先存放第一行的元素,緊接著是第二行,其實也是以一維的方式存放。如果初始化時能指定所有元素的初始值,第一維大小可以省略,但是第二維不能省略。

      字元陣列:定義和初始化跟陣列差不多,只是需要加單引號。字元和字串結束標誌,C語言規定,以‘\0’代表。

      字串處理函式:1、puts()將一個字串輸出到終端

                                      2、gets()從終端輸入一個字串到字元陣列,並且得到一個函式值。

                                     3、strcat()連結兩個字元陣列中的字串。

                                     4、strcpy()字串複製函式。

                                     5、strcmp()比較字串作用。

                                     6、strlen()測試字串長度的函式不包括“\0”

                                     7、strlwr()將字串中的大寫字母轉換為小寫字母。

                                      8、strupr()將字串中的小寫字母轉換為大寫字母                                       

  函式

(1)       一個源程式由多個函式組成。

(2)       C程式的執行從main()函式開始;

(3)       所有函式都是平行的;

(4)       函式分類;可以分為標準和自定義,還可以分為有參函式和無參函式。

  函式定義的一般形式:(1)型別標誌符  函式名()

   {

        宣告部分 語句

}

(2)型別標誌符  函式名(形式引數列表)

    {

          宣告部分語句

    }

   函式引數和函式值:一、關於形參和實參的說明

  (1)    在定義函式中指定的形參,在未出現函式呼叫時,他們並不佔用記憶體中的儲存單元,只有發生呼叫時,才會分配記憶體。

   (2)    實參可以是常量、變數或者表示式;有時傳遞的時地址;

    (3)    在被定義中,形參必須指定型別;

    (4)    實參與形參的型別應相同或賦值相容;

   (5)    C語言規定,實參變數對形參變數的資料傳遞是“值傳遞”,即單向傳遞,只有實參傳遞給形參,而不能由形參傳遞給實參。

      函式的返回值:希望通過函式呼叫使主調函式得到一個確定的值。(1)函式的返回值是通過函式中的return語句獲取的。(2)函式值的型別;(3)如果函式值的型別和return語句中表達式的值不一樣,則以函式型別為準。(4)如果呼叫函式中沒有return語句,並不帶回一個確定的使用者需要的值,函式不是不帶回值,而只是不帶回有用的值,帶回一個不確定的值。(5)如不需要帶回任何值,用void。

          函式的呼叫:呼叫方式1、函式語句;2、函式表示式;3、函式引數。

         被呼叫的函式的宣告:一個函式呼叫另一個函式所具備的條件:

        1、  首先被呼叫的函式必須是已經存在的函式;

        2、  如果使用庫函式,一般應該在本檔案開頭用#include命令將呼叫有關庫函式時在所需要用到的資訊“包含”到本檔案中。.h檔案是標頭檔案所用的字尾。

        3、  如果使用使用者自己定義的函式,而且該函式與使用它的函式在同一個檔案中,一般還應該在主調函式中對被呼叫的函式做宣告。

       4、  如果被呼叫的函式定義出現在主調函式之前可以不必宣告。

       5、  如果已在所有函式定義之前,在函式的外部已做了函式宣告,則在各個主調函式中不必多所呼叫的函式在做宣告。