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

c語言基礎知識點總結

Oct 26, 2019 am 09:47 AM
c語言基礎總結知識點

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、關係運算子(> =

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

#字元資料的輸入輸出:

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器