首頁 >常見問題 >c語言基礎知識點總結

c語言基礎知識點總結

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2019-10-26 09:47:1822605瀏覽

C語言是當代人學習及生活中的必備基礎知識,應用十分廣泛,以下為大家帶來C語言基礎知識梳理總結。

演算法結構:

一、順序結構、選擇結構、循環結構;二、循環結構又分為while型、until型、for迴圈結構;程序流程圖;

結構化程式設計方法:

(1)自頂向下;(2)逐步精進;(3)模組化設計;( 4)結構化編碼。

資料型態:

常數:常數包含字面常數、直接常數和符號常數;

變數:C語言規定標誌只能由字母、數字和底線三種字元組成,且第一個字元必須是字母或底線;必須壓迫先定義後使用;每一個變數被定義以決定類型後,在編譯時就能為其分配對應的儲存單元;

整數類型:整數常數有十進位、八進位和十六進位;「%d」

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

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

實型變數:實數型資料在記憶體中的存放形式,一般在記憶體中佔4個位元組,分成整數部分和小數部分存放。實型變數分為float型、double型long double型。實型數據會存在捨入誤差。

實型常數的型別:C編譯系統將實型常數當作雙精確度來處理。

字元型陣列:(一)字元常數:轉義字元(——換行,——tab, ——回車,——換頁,——退格,ddd——1到3位8進位的數代表的字元)

(二)字元變數:字元資料儲存形式實際上是以ASCII碼儲存。 “%c”

字串常數:雙撇號括起來的一系列字元序列。

相關推薦:《php影片教學

C的運算子有以下幾種:

1、算術運算子( - * / %)結合方向自左向右

2、關係運算子(> 7e86220f02db10634a6a67f8dcda189d= f56b6340aedc4d92b19ecef3118aef9d> ~ | ^ &)

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

#字元資料的輸入輸出:

1、putchar()輸入字元變數

2、getchar()只能接受一個字元

格式輸入輸出:

1、printf(%d—整數,%c—字元型,%ld,%md,%o,%u,%s,%-m .nf,%e,%g)

2、scanf(格式控制,位址清單)

陣列

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

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

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

字串處理函數:

1、puts()將一個字串輸出到終端機

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

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

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

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

6、strlen()測試字串長度的函數不包括「」

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、如果已在所有函數定義之前,在函數的外部已做了函數聲明,則在各個主調函數中不必多所調用的函數在做聲明。

局部變數和全域變數:

(一)局部變數在一個函數內部定義的變數是內部變量,它只是在本函數範圍內的有效,主函數也不能使用其它函數中定義的變數;不同函數中可以使用相同的名字的變量,他們代表不同的對象,互不干擾;形式參數也是局部變量;在一個函數內部,可以在複合語句中定義變量,這些變量只在本複合語句中有效,這種複合句也可以稱為“分程序”或“程序塊”;

(二)全局變量,在函數之外定義的變量稱為外部變量,全域變數可以增加函數間資料聯繫的管道,一般不再必要時不要使用,他在程式的全部執行過程中佔用儲存單元,是函數的通用性,使用全域變數會使程式的清晰性降低。也要注意若果同一來源檔案中,外部變數和局部變數同名,則在局部變數作用範圍內,外部變數被“屏蔽”,不起任何作用。

變數的儲存類別:

(變數值儲存時間)動態儲存方式,在程式運作期間進行分動態的分配儲存空間的方式,靜態儲存方式是指在程式運作期間分配固定的儲存空間的方式;儲存空間分為程式區、靜態儲存區和動態儲存區;全域變數全部放在靜態儲存區中,程式開始時分配空間,完畢時釋放;動態儲存區中存放以下資料:

1、函數形式參數;

2、自動變數;

3、函數呼叫時的現場保護和傳回位址;在C語言中每個變數和函數都有兩個屬性,是資料類型和資料儲存類型,儲存類別是資料在記憶體中儲存的方式。

儲存方式分為靜態和動態儲存類,具體包含有四種:自動的(auto),靜態的(static),暫存器的(register),外部的(extern),如果不加以聲明,就自認為是auto型就會自動分配儲存空間屬於動態儲存方式。

Static宣告局部變數是在函數呼叫結束後不消失而保留原值,也就是佔用儲存單元不會釋放,在下次呼叫函數時,變數已有值,就是上次函數呼叫結束時的值。其中需要說明的是在定義局部變數不賦初值的話,則靜態局部變數編譯時自動賦值為0或空字符,雖然靜態局部變數在函數呼叫結束後仍然存在,但是其他函數不能引用它的。靜態局部變數主要用在當初始化後,變數只是被引用而不改變其值。

Register變數是C語言中允許將局部變數的值放在CPU中的暫存器中需要時直接從暫存器中取出來參加運算,不必再到記憶體中提取,但是電腦系統中暫存器數量有限,不能任意定義任意多的記憶器,局部靜態變數不能定義為暫存器變數。

Extern宣告外部變量,用以擴展外部變數的作用域。在一個檔案中,如果定義先前的函數想引用該外部變量,則應該在引用之前用關鍵字extern對該變數做外部變數聲明。在多檔案中,也可以採用extern宣告的辦法進行外部變數宣告。有時希望某些局部變數只限於被本文件引用,而不能被其他文件引用,這時就可以採用在定義外部變數時外加一個static,這在程式模組化設計中加強了通用性。

Static來宣告一個變數的作用有二個,一個是在宣告對局部變數時。則為該變數指派的空間在整個程式執行期間​​始終存在;一個是在對全域變數宣告中,該變數的作用域僅限於本檔案模組操作。

注意:這些方法同樣適用於函數的宣告

以上是c語言基礎知識點總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:UEFI GPT安裝win7下一篇:UEFI GPT安裝win7