黑馬程式設計師 ---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、 如果已在所有函式定義之前,在函式的外部已做了函式宣告,則在各個主調函式中不必多所呼叫的函式在做宣告。