筆者花了一個(gè)晚上自學(xué)了C語言,現(xiàn)在將C語言重點(diǎn)總結(jié)如下:

初識C語言
C語言一經(jīng)出現(xiàn)就以其功能豐富、表達(dá)能力強(qiáng)、靈活方便、應(yīng)用面廣等特點(diǎn)迅速在全世界普及和推廣。C語言不但執(zhí)行效率高而且可移植性好,可以用來開發(fā)應(yīng)用軟件、驅(qū)動(dòng)、操作系統(tǒng)等。C語言也是其它眾多高級語言的鼻祖語言,所以說學(xué)習(xí)C語言是進(jìn)入編程世界的必修課。
C的具體程序結(jié)構(gòu)
簡單來說,一個(gè)C程序就是由若干頭文件和函數(shù)組成。下面是對C語言具體例子的分析:

1.在最新的C標(biāo)準(zhǔn)中,
main函數(shù)前的類型為int而不是void。2.一個(gè)C程序中有且僅有一個(gè)主函數(shù),即
main函數(shù)。3.
printf( )是格式化輸出函數(shù);return是函數(shù)的返回值。4.編寫程序時(shí)遵循以下原則:
- 一個(gè)說明或一個(gè)語句占一行。例:包含頭文件,一個(gè)可執(zhí)行語句結(jié)束都需要換行。
- 函數(shù)體內(nèi)的語句要有明顯縮進(jìn),通常以按一下Tab鍵為一個(gè)縮進(jìn)。
- 括號要成對寫,如果需要?jiǎng)h除的話也要成對刪除。
- 當(dāng)一個(gè)可執(zhí)行語句結(jié)束時(shí),末尾需要有分號。
- 代碼中的所有符號都為英文半角符號。
注釋
多行注釋:/ * 注釋內(nèi)容 * /
單行注釋:/ /注釋一行
標(biāo)識符
C語言規(guī)定,標(biāo)識符可以是字母(A ~ Z,a ~ z),數(shù)字(0 ~ 9),下劃線_組成的字符串,并且第一個(gè)字符必須是字母或者下劃線。
注意
1.標(biāo)識符的長度最好 不要超過八位,因?yàn)樵谀承┌姹局?,?guī)定標(biāo)識符前八位有效,當(dāng)兩個(gè)標(biāo)識符的前八位相同時(shí),則被認(rèn)為是同一個(gè)標(biāo)識符。
2.標(biāo)識符是 嚴(yán)格區(qū)分大小寫的。
3.標(biāo)識符最好選用 有意義的英文單詞。
4.標(biāo)識符 不能是C語言的關(guān)鍵字。
變量及賦值
使用變量之前必須先定義變量,要區(qū)分變量名和變量值是兩個(gè)不同的概念。
變量定義的一般形式是:數(shù)據(jù)類型 變量名
多個(gè)類型的相同變量:數(shù)據(jù)類型 變量名,變量名,變量名······
注意:在定義中不允許連續(xù)賦值,如:int a=b=5是不合法的。
變量賦值的兩種格式:
- 先聲明,再賦值。
- 聲明的同時(shí)賦值。
例如:
/ /先聲明,再賦值
int num;
num=100;
/ /聲明的同時(shí)賦值
int x=10;
基本數(shù)據(jù)類型
1.基本類型:
- 整型:
int - 字符型:
char[1] - 實(shí)型(浮點(diǎn)型): 單精度型
float,雙精度型double。
2.構(gòu)造類型:
- 枚舉類型
- 數(shù)組類型
- 結(jié)構(gòu)體類型
- 共用體類型
3.指針類型
4.空類型
整型數(shù)字是指不帶小數(shù)的數(shù)字;例如:人的年齡,班級人數(shù)等等。
浮點(diǎn)數(shù)據(jù)是指帶小數(shù)的數(shù)字;例如:人的體重(kg),商品價(jià)格,圓周率等。
格式化輸出語句
其格式為:printf("輸出格式符",輸出項(xiàng));
C語言中常用的格式輸出化符:

當(dāng)輸出語句中包含普通字符時(shí),可以采用以下格式:
printf("普通字符輸出格式符",輸出項(xiàng));例如:
int a=10;
printf("a=%d",a);
輸出結(jié)果:a=10
如果要輸出多個(gè)變量并指定變量的位置的時(shí)候,格式符還可以連用,變量之間用逗號隔開,如:
int a=10;
float b=7.56;
char x='c';
printf("整數(shù):%d,小數(shù):%f,字符:%c",a,b,x);
輸出結(jié)果:整數(shù):10,小數(shù):7.560000,字符“c
格式符的個(gè)數(shù)與變量 ,常量,或者表達(dá)式的個(gè)數(shù)一一對應(yīng)。
不可改變的常量
在程序執(zhí)行中,值不發(fā)生改變的量稱為常量。C語言中常量可以分為直接常量和符號常量。
直接常量也稱為字面量,是可以直接拿來使用,無需說明的量。
比如:
整型常量:13,0,-13;
實(shí)型常量:13.33,-24.4;
字符常量:'a','M'
字符串常量:"I love you!"
在C語言中,可以用一個(gè)標(biāo)識符來表示一個(gè)常量,稱為符號常量,符號常量使用前必須先定義,其一般形式為:
#define 標(biāo)識符 常量值
符號常量的標(biāo)識符一般習(xí)慣使用大寫字母,變量的標(biāo)識符一般習(xí)慣使用小寫字母,加以區(qū)分:
例:#define PI 3.14 / /定義一個(gè)圓周率常量
注:常量是不可以改變的
例:
#include<stdio.h>
#define POCKETMONEY 10 / /定義常量及常量值
int main()
{
POCKETMONEY = = 12;/ /小明私自零花錢對嗎?
printf("小明今天又得到%d元零花錢\n",POCKETMONEY)
return 0;
}
運(yùn)行結(jié)果:小明今天又得到10元零花錢
自動(dòng)類型轉(zhuǎn)換
比如:
char c='a';
int x;
double d;
x=c;//字符類型可以自動(dòng)轉(zhuǎn)換為整型
d=x;//整型可以自動(dòng)轉(zhuǎn)換為浮點(diǎn)型

字節(jié)小的可以向字節(jié)大的自動(dòng)轉(zhuǎn)換
強(qiáng)制類型轉(zhuǎn)換
強(qiáng)制類型轉(zhuǎn)換是通過定義類型轉(zhuǎn)換運(yùn)算來實(shí)現(xiàn)的,其一般形式為:(數(shù)據(jù)類型)(表達(dá)式)
- 數(shù)據(jù)類型和表達(dá)式都必須加括號
- 轉(zhuǎn)換后不會(huì)改變原數(shù)據(jù)的類型及變量值,只在本次運(yùn)算中臨時(shí)性轉(zhuǎn)換
- 強(qiáng)制轉(zhuǎn)換后的運(yùn)算結(jié)果不遵循四舍五入原則
算術(shù)運(yùn)算符
除法中注意 :如果相除兩個(gè)數(shù)是整數(shù),則結(jié)果也為整數(shù),小數(shù)部分省略,例如:8/3=2;而兩個(gè)數(shù)中有一個(gè)為小數(shù),則結(jié)果也為小數(shù),如:9.0/2=4.500000
取舍運(yùn)算中注意:該運(yùn)算只適用于兩個(gè)整數(shù)進(jìn)行取舍運(yùn)算,如:10%3=1;而10.0%3則是錯(cuò)誤的;運(yùn)算后的符號取決于前一項(xiàng);如:(-10)%3=-1,而10%(-3)=1。
運(yùn)算符
邏輯運(yùn)算符
常用的邏輯運(yùn)算符:

1.與運(yùn)算(&&):
參與運(yùn)算的兩個(gè)變量都為真時(shí),結(jié)果才為真,否則為假。例如:5>=5&&7>5,運(yùn)算結(jié)果為真。
2.或運(yùn)算(||):
參與運(yùn)算的兩個(gè)變量只要有一個(gè)為真時(shí),結(jié)果就為真,兩個(gè)量都為假時(shí),結(jié)果為假,例如:5>=5||5>8,運(yùn)算結(jié)果為真。
3.非運(yùn)算(!):
參與運(yùn)算的變量為真時(shí),結(jié)果為假;參與運(yùn)算的變量為假時(shí),結(jié)果為真。例如:!(5>8),運(yùn)算結(jié)果為真。
三目運(yùn)算符
C語言中的三目運(yùn)算符:“?:”,其格式為:表達(dá)式1?表達(dá)式2:表達(dá)式3;執(zhí)行過程為:先判斷表達(dá)式1的值是否為真,如果要是真的話執(zhí)行表達(dá)式2;如果是假執(zhí)行表達(dá)式3。
循環(huán)結(jié)構(gòu)
for循環(huán)(一)
形式:
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
{
執(zhí)行代碼塊
}
執(zhí)行過程如下:
第一步:執(zhí)行表達(dá)式1,對循環(huán)變量做初始化。
第二步:判斷表達(dá)式2,若其值為真(非0),則執(zhí)行for循環(huán)體中的執(zhí)行代碼塊,然后向下執(zhí)行;若其值為假(0),結(jié)束。
第三步:執(zhí)行表達(dá)式3。
第四步:執(zhí)行for循環(huán)中執(zhí)行代碼塊后執(zhí)行第二步。
第五步:循環(huán)結(jié)束,程序繼續(xù)向下執(zhí)行。
其執(zhí)行過程如下圖所示:

注意:for循環(huán)中的分號一定要寫。
for循環(huán)(二)
表達(dá)式1是一個(gè)或多個(gè)賦值語句,它是用來控制變量初始值。
表達(dá)式2是一個(gè)關(guān)系表達(dá)式,他決定什么時(shí)候退出循環(huán)。
表達(dá)式3是循環(huán)變量的步進(jìn)值,定義控制循環(huán)變量是每循環(huán)一次后按什么方式變化,三部分用分號(:)隔開。
使用for語句應(yīng)注意:
1.for循環(huán)中的“表達(dá)式1,表達(dá)式2,表達(dá)式3”均可省略,但分號不能省略。
2.省略“表達(dá)式1(循環(huán)變量賦初值)”,表示不對循環(huán)變量賦初始值。如:
int i=1;//定義循環(huán)變量并賦值
for( ;i<=10;i++)//省略循環(huán)變量賦初始值
{
printf("第%d遍書寫computer\n",i)
}
3.省略“表達(dá)式2(循環(huán)條件)”,不做其他處理,循環(huán)一直執(zhí)行。(死循環(huán))
4.省略表達(dá)式3(循環(huán)變量增量)”,不做其他處理,循環(huán)一直執(zhí)行。
注意:死循環(huán)可以用break解決。
5.表達(dá)式1和表達(dá)式3可以是一個(gè)簡單表達(dá)式也可以是多個(gè)表達(dá)式,以逗號分割。
6.表達(dá)式2一般是關(guān)系表達(dá)式或邏輯表達(dá)式,但也可以是數(shù)值表達(dá)式或字符表達(dá)
式,只要其值非0,就執(zhí)行循環(huán)體。
7.各表達(dá)式中的變量一定要在for循環(huán)之前定義。
循環(huán)結(jié)構(gòu)之三種循環(huán)比較
while,do-while,和for三種循環(huán)是有區(qū)別的:
1.在知道循環(huán)次數(shù)的情況下,更適合用for循環(huán)。
2.在不知道循環(huán)次數(shù)的情況下適合用while或者do-while循環(huán),如果有可能一次都不循環(huán),在考慮while循環(huán),如果至少循環(huán)一次,應(yīng)考慮使用do-while循環(huán)。
例如:
小明被老師罰抄10次computer這個(gè)單詞,分別用三種語法寫:

break可以中斷循環(huán)
使用break應(yīng)注意:
1.在沒有循環(huán)結(jié)構(gòu)的情況下,break不能用在單獨(dú)的if-else語句中。
2.在多層循環(huán)中,一個(gè)break語句只跳出當(dāng)前循環(huán)。、
未完,待續(xù)······
1.參考文獻(xiàn)(https://www.imooc.com/learn/249)
-
char字符型,用于儲(chǔ)存單個(gè)字符,例如:char sex='m'?