C語言是面向過程的,而C++是面向物件的
C和C++的區別:
C是一個結構化語言,它的重點在於演算法和資料結構。C程式的設計首要考慮的是如何透過一個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制)。
C++,首要考慮的是如何構造一個物件模型,讓這個模型能夠契合與之對應的問題域,這樣就可以透過獲取物件的狀態資訊得到輸出或實現過程(事務)控制。 所以C與C++的最大區別在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”。
C與C++的最大區別:在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”,而就語言本身而言,在C中更多的是演算法的概念。那麼是不是C就不重要了,錯!演算法是程式設計的基礎,好的設計如果沒有好的演算法,一樣不行。而且,“C加上好的設計”也能寫出非常好的東西。
演算法結構
:一、順序結構、選擇結構、迴圈結構;二、迴圈結構又分為while型、until型、for迴圈結構;程式流程圖;
結構化程式設計方法
:(1)自頂向下;(2)逐步細化;(3)模組化設計;(4)結構化編碼。
小編的C/C++遊戲程式設計學習群:666+295+498,邀請碼(凌雲)不管你是小白還是大牛,小編我都歡迎,不定期分享乾貨,包括小編自己整理的一份2018最新的C/C++資料和0基礎入門教程,歡迎初學和進階中的小夥伴。
資料型別:
常量
:常量包括字面常量、直接常量和符號常量;
變數
: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”
字串常量
:雙撇號括起來的一系列字元序列。
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++遊戲程式設計學習群:666+295+498,邀請碼(凌雲)不管你是小白還是大牛,小編我都歡迎,不定期分享乾貨,包括小編自己整理的一份2018最新的C/C++資料和0基礎入門教程,歡迎初學和進階中的小夥伴。
陣列
一維陣列的定義
:型別說明符 陣列名【常量表達式】;先定義後引用;一維陣列初始化時可以只對一部分元素初始化,在對全部陣列元素初始化的時候可以部規定長度;但是若被定義的陣列長度與提供的初始值不一樣時,則陣列長度不能省略。
二維陣列的定義
:型別說明符 陣列名【常量表達式】【常量表達式】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、如果已在所有函式定義之前,在函式的外部已做了函式宣告,則在各個主調函式中不必多所呼叫的函式在做宣告。