筆者花了一個(gè)晚上自學(xué)了C語(yǔ)言薛耻,現(xiàn)在將C語(yǔ)言重點(diǎn)總結(jié)如下:
初識(shí)C語(yǔ)言
C語(yǔ)言一經(jīng)出現(xiàn)就以其功能豐富、表達(dá)能力強(qiáng)、靈活方便奋蔚、應(yīng)用面廣等特點(diǎn)迅速在全世界普及和推廣。C語(yǔ)言不但執(zhí)行效率高而且可移植性好烈钞,可以用來(lái)開發(fā)應(yīng)用軟件泊碑、驅(qū)動(dòng)、操作系統(tǒng)等毯欣。C語(yǔ)言也是其它眾多高級(jí)語(yǔ)言的鼻祖語(yǔ)言馒过,所以說(shuō)學(xué)習(xí)C語(yǔ)言是進(jìn)入編程世界的必修課。
C的具體程序結(jié)構(gòu)
簡(jiǎn)單來(lái)說(shuō)酗钞,一個(gè)C程序就是由若干頭文件和函數(shù)組成腹忽。下面是對(duì)C語(yǔ)言具體例子的分析:
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è)說(shuō)明或一個(gè)語(yǔ)句占一行。例:包含頭文件米同,一個(gè)可執(zhí)行語(yǔ)句結(jié)束都需要換行骇扇。
- 函數(shù)體內(nèi)的語(yǔ)句要有明顯縮進(jìn)摔竿,通常以按一下Tab鍵為一個(gè)縮進(jìn)。
- 括號(hào)要成對(duì)寫匠题,如果需要?jiǎng)h除的話也要成對(duì)刪除拯坟。
- 當(dāng)一個(gè)可執(zhí)行語(yǔ)句結(jié)束時(shí),末尾需要有分號(hào)韭山。
- 代碼中的所有符號(hào)都為英文半角符號(hào)郁季。
注釋
多行注釋:/ * 注釋內(nèi)容 * /
單行注釋:/ /注釋一行
標(biāo)識(shí)符
C語(yǔ)言規(guī)定,標(biāo)識(shí)符可以是字母(A ~ Z,a ~ z),數(shù)字(0 ~ 9)钱磅,下劃線_組成的字符串梦裂,并且第一個(gè)字符必須是字母或者下劃線。
注意
1.標(biāo)識(shí)符的長(zhǎng)度最好 不要超過(guò)八位盖淡,因?yàn)樵谀承┌姹局心昴?guī)定標(biāo)識(shí)符前八位有效,當(dāng)兩個(gè)標(biāo)識(shí)符的前八位相同時(shí)褪迟,則被認(rèn)為是同一個(gè)標(biāo)識(shí)符冗恨。
2.標(biāo)識(shí)符是 嚴(yán)格區(qū)分大小寫的。
3.標(biāo)識(shí)符最好選用 有意義的英文單詞味赃。
4.標(biāo)識(shí)符 不能是C語(yǔ)言的關(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ù)字;例如:人的年齡王污,班級(jí)人數(shù)等等罢吃。
浮點(diǎn)數(shù)據(jù)是指帶小數(shù)的數(shù)字;例如:人的體重(kg)昭齐,商品價(jià)格尿招,圓周率等。
格式化輸出語(yǔ)句
其格式為:printf("輸出格式符",輸出項(xiàng));
C語(yǔ)言中常用的格式輸出化符:
當(dāng)輸出語(yǔ)句中包含普通字符時(shí),可以采用以下格式:
printf("普通字符輸出格式符",輸出項(xiàng));
例如:
int a=10;
printf("a=%d",a);
輸出結(jié)果:a=10
如果要輸出多個(gè)變量并指定變量的位置的時(shí)候就谜,格式符還可以連用怪蔑,變量之間用逗號(hào)隔開,如:
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ù)一一對(duì)應(yīng)弓坞。
不可改變的常量
在程序執(zhí)行中,值不發(fā)生改變的量稱為常量车荔。C語(yǔ)言中常量可以分為直接常量和符號(hào)常量渡冻。
直接常量也稱為字面量,是可以直接拿來(lái)使用忧便,無(wú)需說(shuō)明的量族吻。
比如:
整型常量:13,0,-13;
實(shí)型常量:13.33珠增,-24.4超歌;
字符常量:'a','M'
字符串常量:"I love you!"
在C語(yǔ)言中,可以用一個(gè)標(biāo)識(shí)符來(lái)表示一個(gè)常量蒂教,稱為符號(hào)常量巍举,符號(hào)常量使用前必須先定義,其一般形式為:
#define 標(biāo)識(shí)符 常量值
符號(hào)常量的標(biāo)識(shí)符一般習(xí)慣使用大寫字母悴品,變量的標(biāo)識(shí)符一般習(xí)慣使用小寫字母禀综,加以區(qū)分:
例:#define PI 3.14 / /定義一個(gè)圓周率常量
注:常量是不可以改變的
例:
#include<stdio.h>
#define POCKETMONEY 10 / /定義常量及常量值
int main()
{
POCKETMONEY = = 12;/ /小明私自零花錢對(duì)嗎简烘?
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)換是通過(guò)定義類型轉(zhuǎn)換運(yùn)算來(lái)實(shí)現(xiàn)的苔严,其一般形式為:(數(shù)據(jù)類型)(表達(dá)式)
- 數(shù)據(jù)類型和表達(dá)式都必須加括號(hào)
- 轉(zhuǎn)換后不會(huì)改變?cè)瓟?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)算后的符號(hào)取決于前一項(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)算(n醣):
參與運(yùn)算的變量為真時(shí),結(jié)果為假虽界;參與運(yùn)算的變量為假時(shí)汽烦,結(jié)果為真。例如:莉御!(5>8),運(yùn)算結(jié)果為真撇吞。
三目運(yùn)算符
C語(yǔ)言中的三目運(yùn)算符:“?:”颈将,其格式為:表達(dá)式1?表達(dá)式2:表達(dá)式3梢夯;
執(zhí)行過(guò)程為:先判斷表達(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í)行過(guò)程如下:
第一步:執(zhí)行表達(dá)式1
人乓,對(duì)循環(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í)行過(guò)程如下圖所示:
注意:for
循環(huán)中的分號(hào)一定要寫铺董。
for循環(huán)(二)
表達(dá)式1
是一個(gè)或多個(gè)賦值語(yǔ)句,它是用來(lái)控制變量初始值。
表達(dá)式2
是一個(gè)關(guān)系表達(dá)式,他決定什么時(shí)候退出循環(huán)禀晓。
表達(dá)式3
是循環(huán)變量的步進(jìn)值,定義控制循環(huán)變量是每循環(huán)一次后按什么方式變化精续,三部分用分號(hào)(:)隔開。
使用for
語(yǔ)句應(yīng)注意:
1.for
循環(huán)中的“表達(dá)式1粹懒,表達(dá)式2重付,表達(dá)式3”
均可省略,但分號(hào)不能省略凫乖。
2.省略“表達(dá)式1(循環(huán)變量賦初值)”
确垫,表示不對(duì)循環(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è)簡(jiǎn)單表達(dá)式也可以是多個(gè)表達(dá)式付呕,以逗號(hào)分割计福。
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è)單詞思恐,分別用三種語(yǔ)法寫:
break
可以中斷循環(huán)
使用break
應(yīng)注意:
1.在沒(méi)有循環(huán)結(jié)構(gòu)的情況下沾谜,break
不能用在單獨(dú)的if-else
語(yǔ)句中。
2.在多層循環(huán)中胀莹,一個(gè)break
語(yǔ)句只跳出當(dāng)前循環(huán)基跑。、
未完嗜逻,待續(xù)······
1.參考文獻(xiàn)(https://www.imooc.com/learn/249)
-
char
字符型涩僻,用于儲(chǔ)存單個(gè)字符缭召,例如:char sex='m'
?