項(xiàng)目三C51語言基礎(chǔ)ppt課件_第1頁
項(xiàng)目三C51語言基礎(chǔ)ppt課件_第2頁
項(xiàng)目三C51語言基礎(chǔ)ppt課件_第3頁
項(xiàng)目三C51語言基礎(chǔ)ppt課件_第4頁
項(xiàng)目三C51語言基礎(chǔ)ppt課件_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C言語編程根底主講:謝祥強(qiáng)問題:C言語作為一種流行的程序設(shè)計(jì)言語,它是如何用來編寫程序的? 即將揭開他的廬山真面目,等待中C言語 編寫程序的方法寫出來的程序是什么樣子?C程序在什么樣的環(huán)境下運(yùn)轉(zhuǎn)? 這些問題都是作為初學(xué)者心中的疑問,將在本章的講解中得到處理。引子第1章 C言語概述 本章難點(diǎn) C言語的特點(diǎn) C言語程序的根本構(gòu)造 算法及其描畫方法 構(gòu)造化程序設(shè)計(jì)的方法本章要點(diǎn)算法及其描畫方法1.11.21.31.4C言語的開展及特點(diǎn)C言語程序的根本構(gòu)造算法及其描畫程序設(shè)計(jì)方法第1章 C言語概述 程序設(shè)計(jì)言語的開展機(jī)器言語匯編言語高級(jí)言語面向過程面向?qū)ο驝PU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成如

2、:10000000 加 10010000 減用助記符號(hào)描畫的指令系統(tǒng)如 ADD A, B面向機(jī)器的言語程序設(shè)計(jì)是數(shù)據(jù)被加工的過程客觀世界可以分類,對(duì)象是類的實(shí)例對(duì)象是數(shù)據(jù)和方法的封裝;對(duì)象間通過發(fā)送和接受音訊發(fā)生聯(lián)絡(luò)程序設(shè)計(jì)關(guān)鍵是定義類,并由類派生對(duì)象1.1 C言語的開展及特點(diǎn)C言語開展過程產(chǎn)生背景產(chǎn)生過程時(shí)間:19721973地點(diǎn):美國貝爾實(shí)驗(yàn)室目的:UNIX操作系統(tǒng)設(shè)計(jì)人: Ken.Thompson和Dennis.M.RitchieC規(guī)范規(guī)范C: K&R合著ANSI C: 1983年87 ANSI C: 1987年1990年國際規(guī)范的ANSI CC言語特點(diǎn)言語簡(jiǎn)約、緊湊、靈敏運(yùn)算符和數(shù)據(jù)類

3、型豐富程序設(shè)計(jì)構(gòu)造化、模塊化生成目的代碼質(zhì)量高可移植性好中級(jí)言語1.11.21.31.4C言語的開展及特點(diǎn)C言語程序的根本構(gòu)造算法及其描畫程序設(shè)計(jì)方法第1章 C言語概述1.2 C51程序的根本構(gòu)造#include /頭文件包含,定義特殊功能存放器#define uchar unsigned char /定義用uchar表示unsigned char #define uint unsigned int /定義用uint表示unsigned int sbit LED=P10; /定義用LED=P10P1.0)/下面是定義延時(shí)函數(shù)void DelayMS(uint x) /括號(hào)內(nèi)的uint x為方式

4、參數(shù)uchar i; /定義i為無符號(hào)uchar變量8位二進(jìn)數(shù)while(x-) /while 循環(huán)語句for(i=0;i120;i+);P1.0控制LED閃爍程序/下面是主 函數(shù)程序void main() /主函數(shù)開頭 while(1) /while循環(huán)語句 LED=LED; /P1.0取反,0變1,1變0 DelayMS(150); /調(diào)用延時(shí)函數(shù) 格式特點(diǎn)關(guān)鍵字必需用小寫字母,大小寫敏感不運(yùn)用行號(hào)可運(yùn)用空行和空格常用鋸齒形書寫格式main( ) . . . . . . .main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;jb

5、 _above $123M.D.John3days#33char$123ab2.2 變量27編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元.地址int a=1, b=-3,c;abc2字節(jié)2字節(jié)2字節(jié)地址地址.內(nèi)存1-3隨機(jī)數(shù)變量概念:其值可以改動(dòng)的量變量名與變量值變量定義的普通格式: 數(shù)據(jù)類型 變量1,變量2,變量n;變量初始化:定義時(shí)賦初值 例: int a,b,c; float data;決議分配字節(jié)數(shù)和數(shù)的表示范圍合法標(biāo)識(shí)符例: int a=2,b,c=4; float data=3.67; char ch=A; int x=1,y=1,z=1; int x=y=z=1;變量的運(yùn)用:先

6、定義,后運(yùn)用例1 int student; stadent=19; /Undefined symbol statent in function main 例2 float a,b,c; c=a%b; /Illegal use of floating point in function main 變量定義位置:普通放在函數(shù)開頭main() int a,b=2; float data; a=1; data=(a+b)*1.2; printf(“data=%fn,data);變量定義可執(zhí)行語句2.12.22.32.42.5C言語的數(shù)據(jù)類型常量與變量整型數(shù)據(jù)實(shí)型數(shù)據(jù)字符型數(shù)據(jù)本章主要內(nèi)容29三種方式:

7、十進(jìn)制整數(shù):由數(shù)字0 9和正負(fù)號(hào)表示.如 123,-456,0八進(jìn)制整數(shù):由數(shù)字0開頭,后跟數(shù)字07表示.如0123,011十六進(jìn)制整數(shù):由0 x或0X開頭,后跟09,af,AF表示. 如0 x123,0Xff例 12 與 12L例 30000 為int型 65536 為long int 型整型常量的類型根據(jù)其值所在范圍確定其數(shù)據(jù)類型在整常量后加字母l或L,以為它是long int 型常量問題:0123 = ( )100 x123 = ( )100Xff = ( )1083291255問題:0123 = ( )100 x123 = ( )100Xff = ( )10 2.3 整型數(shù)據(jù)(int)

8、整型常量整常數(shù),雙字節(jié)16位二進(jìn)制數(shù)30占字節(jié)數(shù)隨機(jī)器不同而不同,普通占一個(gè)機(jī)器字shortintlong 2.3 整型數(shù)據(jù)(int)整型變量2.12.22.32.42.5C言語的數(shù)據(jù)類型常量與變量整型數(shù)據(jù)實(shí)型數(shù)據(jù)字符型數(shù)據(jù)本章主要內(nèi)容32表示方式:十進(jìn)制數(shù)方式:必需有小數(shù)點(diǎn) 如0.123, .123, 123.0, 0.0, 123.指數(shù)方式:e或E之前必需有數(shù)字;指數(shù)必需為整數(shù)如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5 實(shí)型常量的類型默許double型在實(shí)型常量后加字母f或F,以為它是float 型 2.4 實(shí)型數(shù)據(jù)(float)實(shí)型常量實(shí)數(shù)或浮點(diǎn)數(shù),占

9、4字節(jié)33float:占32位,提供7位有效數(shù)字double:占64位,提供16位有效數(shù)字long double:占64位,提供16位有效數(shù)字例 float a;a=111111.111; /* a=111111.1*/double b;b=111111.111; /* b=111111.111*/ 2.4 實(shí)型數(shù)據(jù)實(shí)型變量2.12.22.32.42.5C言語的數(shù)據(jù)類型常量與變量整型數(shù)據(jù)實(shí)型數(shù)據(jù)字符型數(shù)據(jù)本章主要內(nèi)容35 2.5 字符型數(shù)據(jù)(char)字符型數(shù)據(jù):8位二進(jìn)制數(shù)表示分為unsigned char 與signed charUnsigned char 是無符號(hào)數(shù):表達(dá)的數(shù)據(jù)范圍是02

10、55signed char 是有符號(hào)數(shù):最高為符號(hào)位,0表示正數(shù),1表示負(fù)數(shù),負(fù)數(shù)是用補(bǔ)碼表示的。所以表示的范圍是:-128+1272.62.72.8算術(shù)運(yùn)算符與算術(shù)表達(dá)式賦值運(yùn)算符與賦值表達(dá)式位運(yùn)算符本章主要內(nèi)容37學(xué)習(xí)運(yùn)算符應(yīng)留意:運(yùn)算符功能與運(yùn)算量關(guān)系要求運(yùn)算量個(gè)數(shù)要求運(yùn)算量類型運(yùn)算符優(yōu)先級(jí)別結(jié)合方向結(jié)果的類型 2.6 算術(shù)運(yùn)算符和算術(shù)表達(dá)式38算術(shù)運(yùn)算符和表達(dá)式根本算術(shù)運(yùn)算符: + - * / %闡明:兩整數(shù)相除,結(jié)果為整數(shù)%是求余運(yùn)算,要求兩側(cè)均為整型數(shù)據(jù)例 5/2 = -5/2.0 =例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2例 5/2 = 2 -5/2.0

11、 = -2.5例 5%2 = 1 -5%2 = -1 1%10 = 1 5%1 = 0 5.5%2 ()39自增、自減運(yùn)算符 + -作用:使變量值加1或減1種類:前置 +i, -i (先執(zhí)行i+1或i-1,再運(yùn)用i值后置 i+,i- (先運(yùn)用i值,再執(zhí)行i+1或i-1例 j=3; k=+j; j=3; k=j+; j=3; printf(“%d,+j); j=3; printf(“%d,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b; /k=4,j=4/k=3,j=4/4/3/c=20,a=4/c=15,a=440自增、自減運(yùn)算符+ -作用:使變量值加1或減1種

12、類:前置 +i, -i (先執(zhí)行i+1或i-1,再運(yùn)用i值后置 i+,i- (先運(yùn)用i值,再執(zhí)行i+1或i-1闡明:+ - 不能用于常量和表達(dá)式,如5+,(a+b)+例 -i+ -(i+) i=3; printf(“%d,-i+); /-3 例 j+k; (j+)+k;例 -i+ i=3; printf(“%d,-i+); 2.62.72.8算術(shù)運(yùn)算符與算術(shù)表達(dá)式賦值運(yùn)算符與賦值表達(dá)式位運(yùn)算符本章主要內(nèi)容42簡(jiǎn)單賦值運(yùn)算符符號(hào): =格式: 變量標(biāo)識(shí)符=表達(dá)式作用:將一個(gè)數(shù)據(jù)常量或表達(dá)式賦給一個(gè)變量復(fù)合賦值運(yùn)算符種類:+= -= *= /= %= = &= = |=a+=3a=a+3x*=y+8

13、x=x*(y+8)x%=3x=x%3例 a=3; d=func(); c=d+2; 2.7 賦值運(yùn)算符和賦值表達(dá)式2.62.72.8算術(shù)運(yùn)算符與算術(shù)表達(dá)式賦值運(yùn)算符與賦值表達(dá)式位運(yùn)算符本章主要內(nèi)容44位運(yùn)算符種類: & |位運(yùn)算:對(duì)運(yùn)算對(duì)象按二進(jìn)制位進(jìn)展操作。位運(yùn)算對(duì)象:只能是整型或字符型數(shù)據(jù),不能是其他類型的數(shù)據(jù),其運(yùn)算結(jié)果仍是整型或字符型數(shù)據(jù) 9的二進(jìn)制表示:0000000000001001 按位求反后為:1111111111110110即:-10:運(yùn)算對(duì)象在運(yùn)算符的右邊功能:對(duì)運(yùn)算對(duì)象的各二進(jìn)位按位求反,即使每一位上的0變1;變1為0。例 9:運(yùn)算結(jié)果為-10移 :右移例如:a2功能:把

14、a的各二進(jìn)位向右挪動(dòng)2位假設(shè)a= 0000000000001111(十進(jìn)制15),右移2位后為0000000000000011(十進(jìn)制3)。 “&:按位與例如: 9&(-5) 00000000 00001001 (9的二進(jìn)制補(bǔ)碼) &11111111 11111011 (-5的二進(jìn)制補(bǔ)碼) =00000000 00001001 (9的二進(jìn)制補(bǔ)碼)可見9&(-5)=9。 “:按位異或例如: 9(5) 00001001 (9的二進(jìn)制補(bǔ)碼) 00000101 (5的二進(jìn)制補(bǔ)碼) = 00001100 (十進(jìn)制為12) “|:按位或例如: 9 |(5) 00001001 (9的二進(jìn)制補(bǔ)碼) | 000

15、00101 (5的二進(jìn)制補(bǔ)碼) = 00001101 (十進(jìn)制為13) 2.8 位運(yùn)算符和表達(dá)式:左移例如:a4功能:把a(bǔ)的各二進(jìn)位向左挪動(dòng)4位假設(shè)a=00010011(十進(jìn)制19),左移4位后為00110000(十進(jìn)制48),其中左端移出的0001四位丟棄,低位補(bǔ)0000。關(guān)鍵字auto :聲明自動(dòng)變量 short :聲明短整型變量或函數(shù) int: 聲明整型變量或函數(shù) long :聲明長整型變量或函數(shù) float:聲明浮點(diǎn)型變量或函數(shù) double :聲明雙精度變量或函數(shù) char :聲明字符型變量或函數(shù) struct:聲明構(gòu)造體變量或函數(shù) union:聲明共用數(shù)據(jù)類型 enum :聲明枚舉類型 typedef:用以給數(shù)據(jù)類型取別名 關(guān)鍵字const :聲明只讀變量 unsigned:聲明無符號(hào)類型變量或函數(shù) signed:聲明有符號(hào)類型變量或函數(shù) extern:聲明變量是在其他文件中聲明 register:聲明存放器變量 static :聲明靜態(tài)變量 volatile:闡明變量在程序執(zhí)行中可被隱含地改動(dòng) voi

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論