首頁 常見問題 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

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1662
14
CakePHP 教程
1419
52
Laravel 教程
1311
25
PHP教程
1262
29
C# 教程
1235
24
C語言數據結構:樹和圖的數據表示與操作 C語言數據結構:樹和圖的數據表示與操作 Apr 04, 2025 am 11:18 AM

C語言數據結構:樹和圖的數據表示與操作樹是一個層次結構的數據結構由節點組成,每個節點包含一個數據元素和指向其子節點的指針二叉樹是一種特殊類型的樹,其中每個節點最多有兩個子節點數據表示structTreeNode{intdata;structTreeNode*left;structTreeNode*right;};操作創建樹遍歷樹(先序、中序、後序)搜索樹插入節點刪除節點圖是一個集合的數據結構,其中的元素是頂點,它們通過邊連接在一起邊可以是帶權或無權的數據表示鄰

C語言文件操作難題的幕後真相 C語言文件操作難題的幕後真相 Apr 04, 2025 am 11:24 AM

文件操作難題的真相:文件打開失敗:權限不足、路徑錯誤、文件被佔用。數據寫入失敗:緩衝區已滿、文件不可寫、磁盤空間不足。其他常見問題:文件遍歷緩慢、文本文件編碼不正確、二進製文件讀取錯誤。

CS-第 3 週 CS-第 3 週 Apr 04, 2025 am 06:06 AM

算法是解決問題的指令集,其執行速度和內存佔用各不相同。編程中,許多算法都基於數據搜索和排序。本文將介紹幾種數據檢索和排序算法。線性搜索假設有一個數組[20,500,10,5,100,1,50],需要查找數字50。線性搜索算法會逐個檢查數組中的每個元素,直到找到目標值或遍歷完整個數組。算法流程圖如下:線性搜索的偽代碼如下:檢查每個元素:如果找到目標值:返回true返回falseC語言實現:#include#includeintmain(void){i

debian readdir如何與其他工具集成 debian readdir如何與其他工具集成 Apr 13, 2025 am 09:42 AM

Debian系統中的readdir函數是用於讀取目錄內容的系統調用,常用於C語言編程。本文將介紹如何將readdir與其他工具集成,以增強其功能。方法一:C語言程序與管道結合首先,編寫一個C程序調用readdir函數並輸出結果:#include#include#includeintmain(intargc,char*argv[]){DIR*dir;structdirent*entry;if(argc!=2){

c語言如何輸出倒數 c語言如何輸出倒數 Apr 04, 2025 am 08:54 AM

如何在 C 語言中輸出倒數?回答:使用循環語句。步驟:1. 定義變量 n 存儲要輸出的倒數數字;2. 使用 while 循環持續打印 n 直到 n 小於 1;3. 在循環體內,打印出 n 的值;4. 在循環末尾,將 n 減去 1 以輸出下一個更小的倒數。

C語言多線程編程:新手指南與疑難解答 C語言多線程編程:新手指南與疑難解答 Apr 04, 2025 am 10:15 AM

C語言多線程編程指南:創建線程:使用pthread_create()函數,指定線程ID、屬性和線程函數。線程同步:通過互斥鎖、信號量和條件變量防止數據競爭。實戰案例:使用多線程計算斐波那契數,將任務分配給多個線程並同步結果。疑難解答:解決程序崩潰、線程停止響應和性能瓶頸等問題。

c語言函數的定義調用聲明格式怎麼搞 c語言函數的定義調用聲明格式怎麼搞 Apr 04, 2025 am 06:03 AM

C語言函數包含定義、調用和聲明。函數定義指定函數名、參數和返回類型,函數體實現功能;函數調用執行函數並提供參數;函數聲明告知編譯器函數類型。值傳遞用於參數傳遞,注意返回類型,保持一致的代碼風格,並在函數中處理錯誤。掌握這些知識有助於編寫優雅、健壯的C代碼。

C 中的整數:一點歷史 C 中的整數:一點歷史 Apr 04, 2025 am 06:09 AM

整數是編程中最基礎的數據類型,堪稱編程的基石。程序員的工作就是賦予這些數字意義,無論軟件多麼複雜,最終都歸結於整數運算,因為處理器只理解整數。為了表示負數,我們引入了二進制補碼;為了表示小數,我們創造了科學計數法,於是有了浮點數。但歸根結底,一切仍然離不開0和1。整數的簡史在C語言中,int幾乎是默認類型。儘管編譯器可能會發出警告,但在許多情況下,你仍然可以寫下這樣的代碼:main(void){return0;}從技術角度來看,這與以下代碼等效:intmain(void){return0;}這種