C語言入門筆記

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

C編程語言


初識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


  1. char字符型,用于儲(chǔ)存單個(gè)字符,例如:char sex='m' ?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,616評論 0 13
  • 一、C語言的結(jié)構(gòu) 1、Hello world 簡單來說,一個(gè)C程序就是由若干頭文件和函數(shù)組成。 #include ...
    大嘴蝸牛閱讀 66,408評論 182 117
  • 打木猴 木猴,木猴,地上飛旋鞭抽。上平下尖圓滑,重心正中少差。差少,差少,轉(zhuǎn)動(dòng)穩(wěn)實(shí)不倒。 秦腔 秦腔,秦腔,高喉嚨...
    鄧文偉閱讀 532評論 0 0

友情鏈接更多精彩內(nèi)容