手把手開發(fā)講解教程4c語言基礎(chǔ)知識_第1頁
手把手開發(fā)講解教程4c語言基礎(chǔ)知識_第2頁
手把手開發(fā)講解教程4c語言基礎(chǔ)知識_第3頁
手把手開發(fā)講解教程4c語言基礎(chǔ)知識_第4頁
手把手開發(fā)講解教程4c語言基礎(chǔ)知識_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

C語言基礎(chǔ)知識本講主要內(nèi)容1.數(shù)據(jù)類型2.C語句3.函數(shù)4.預(yù)處理命令1.數(shù)據(jù)類型1.1C51中常用的基本數(shù)據(jù)類型1.2C51中數(shù)據(jù)類型擴(kuò)展sfr:特殊功能寄存器聲明

sfr變量名=地址值;例如:sfrSCON=0X98;特殊功能寄存器在reg51.H這個頭文件里面都幫我們定義好了,所以平時我們就不要自己去定義寄存器的名字。sbit:特殊功能位聲明,在給某個引腳取名的時候經(jīng)常會用到。

sbit變量名=地址值;

例如:sbitled=P2^0;bit:位變量聲明,用來定義位數(shù)據(jù)變量。1.3C語言運算符2.C語句2.1if-else語句if(表達(dá)式){ 語句1;}else{ 語句2;}語義是:如果表達(dá)式的值為真(非0),則執(zhí)行語句1,否則執(zhí)行語句2。

例如:

inta=10,b=8,c;

if(a>b){ c=0;}else{ c=1;}2.2for循環(huán)語句

for(表達(dá)式1;表達(dá)式2;表達(dá)式3){語句}它的執(zhí)行過程如下:

1)先求解表達(dá)式1值。

2)再求解表達(dá)式2值,若其值為真(非0),則執(zhí)行for語句中指定的內(nèi)嵌語句,然后執(zhí)行下面第3)步;若其值為假(0),則結(jié)束循環(huán),轉(zhuǎn)到第5)步。

3)求解表達(dá)式3值。

4)轉(zhuǎn)回上面第2)步繼續(xù)執(zhí)行。

5)循環(huán)結(jié)束,執(zhí)行for語句下面的一個語句。

例如:inta,b=0;

for(a=0;a<3;a++)//a++相當(dāng)于a=a+1;{ b++;}2.3while循環(huán)語句while語句的一般形式為:

while(表達(dá)式){語句}

其中表達(dá)式是循環(huán)條件,語句為循環(huán)體。

執(zhí)行過程如下:

計算表達(dá)式的值,當(dāng)值為真(非0)時,執(zhí)行循環(huán)體語句,返回去重新計算表達(dá)式值,若為假(0)退出while循環(huán)。

例如:

inti=0;while(i<3){ i=i+1;}2.4do-while循環(huán)語句do{ 語句;}while(表達(dá)式);這個循環(huán)與while循環(huán)的不同在于:它先執(zhí)行循環(huán)中的語句,然后再判斷表達(dá)式是否為真,如果為真則繼續(xù)循環(huán);如果為假,則終止循環(huán)。因此,do-while循環(huán)至少要執(zhí)行一次循環(huán)語句。

例如:inta=0;

do{ a=a+1;}while(a<3);2.5switch語句switch(表達(dá)式){

case常量表達(dá)式1:語句1;

case常量表達(dá)式2:語句2;

case常量表達(dá)式n:語句n;

default:語句n+1;

}語義是:計算表達(dá)式的值,并逐個與其后的常量表達(dá)式值相比較,當(dāng)表達(dá)式的值與某個常量表達(dá)式的值相等時,即執(zhí)行其后的語句,然后不再進(jìn)行判斷,繼續(xù)執(zhí)行后面所有case后的語句。如表達(dá)式的值與所有case后的常量表達(dá)式均不相同時,則執(zhí)行default后的語句。注意各常量表達(dá)式值不能相同,否則報錯。

例如:inta=0,b;switch(a){ case0:b=0;break; case1:b=1;break; default:b=3;}break語句的含義是跳出這個switch語句,如果沒有這條語句那么則會從滿足條件的地方(即與switch(表達(dá)式)括號中表達(dá)式匹配的case)開始執(zhí)行,直到switch結(jié)構(gòu)結(jié)束。當(dāng)break語句用于do-while、for、while循環(huán)語句中時,可使程序終止循環(huán)。3.函數(shù)3.1函數(shù)的定義返回變量類型函數(shù)名(輸入變量類型){ 函數(shù)體;}如:unsignedcharIIC_ReadByte(unsignedcharaddr){ unsignedchardat;//定義一個變量存放返回值 (doanythingyouwant);//函數(shù)中的程序。 returndat;//返回函數(shù)的返回值}3.2函數(shù)的調(diào)用在函數(shù)調(diào)用之前要在主函數(shù)前面加入上該函數(shù)的聲明。(或者你可以放在頭文件里面,包含該頭文件時,就可以聲明了。)3.3一個簡單的C51程序#include<reg51.h>voidmain(){ while(1) { }}4.預(yù)處理命令C51中常用的一些預(yù)處理命令如下:(1)#define

#defineAP0(注意后面不用加分號)(2)#typedef typedefunsignedcharuint;(后面要加分號)重新定義一些常用的關(guān)鍵詞,可以增強(qiáng)程序的可移植

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論