C語言的語法基礎(chǔ) - 沒有標(biāo)題_第1頁
C語言的語法基礎(chǔ) - 沒有標(biāo)題_第2頁
C語言的語法基礎(chǔ) - 沒有標(biāo)題_第3頁
C語言的語法基礎(chǔ) - 沒有標(biāo)題_第4頁
C語言的語法基礎(chǔ) - 沒有標(biāo)題_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2.1 C語言的語法基礎(chǔ)2.2 C語言的基本數(shù)據(jù)類型2.3 常量和變量2.4 運算符與表達(dá)式2.5 數(shù)據(jù)類型轉(zhuǎn)換第二章 C語言的基本數(shù)據(jù)類型與表達(dá)式 第二章 目錄2.1 語言的語法基礎(chǔ) (4)特殊符號:通常由12個符號組成,主要用 來表示運算符。、C語言字符集C語言的基本符號可分4個類,歸納如下:(1)英文字母:大小寫各26個,共計52個;(2)阿拉伯?dāng)?shù):0、1、2、3、4、5、6、7、8、9 共10個數(shù)字;(3)下劃線:_;第二章 2.1 C語言數(shù)據(jù)類型 例如:算術(shù)運算符:+ - * / % + -關(guān)系運算符: = 條件運算符: ?: 和賦值運算符:= 其他分隔符: ( ) . , ;第二章

2、 2.2 C語言簡介2.1.2 標(biāo)識符(*)概念:就是用來標(biāo)識變量名、符號常量名、函數(shù)名、類型名、文件名等的有效字符序列。(1)標(biāo)識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必須為字母或下劃線。 定義規(guī)則:第二章 2.2 C語言簡介如:_1 year month student_name sum0 M.D.Jones $123 #a 3b ?c a=b(2)在C語言中,大小寫字母不等效。因此,a和A,I和i,Sum和sum,分別是兩個不同的標(biāo)識符。(3)用戶自定義的標(biāo)識符不能與保留字(關(guān)鍵字)同名。保留字第二章 2.2 C語言簡介2.1.3 關(guān)鍵字概念:就是具有特定含義的標(biāo)識符,用戶

3、不能用來作自定義標(biāo)識符。C語言中的關(guān)鍵字較少,由ANSI標(biāo)準(zhǔn)推薦的關(guān)鍵字有32個。常用的有:(1)與數(shù)據(jù)類型有關(guān)的(14):char int float double signed unsigned short long void struct union typedef enum sizeof第二章 2.2 C語言簡介(3) 與程序控制結(jié)構(gòu)有關(guān)的(12): do while for if else switch case default goto continue break return(2)與存儲類別有關(guān)的: auto extern register static第二章 2.2 C語言簡

4、介 2.2 基本數(shù)據(jù)類型 第二章 2.1 基本數(shù)據(jù)類型5整型數(shù)據(jù)值為5算術(shù)運算實型數(shù)據(jù)算術(shù)運算原始數(shù)據(jù)相同的特性同一數(shù)據(jù)類型數(shù)據(jù)分類、處理 字符型(char) 整型(short,int,long,unsigned) 基本類型 數(shù)值類型 單精度型(float) 實型 雙精度型(double) 枚舉類型(enum) 數(shù)據(jù)類型 數(shù)組類型( ) 構(gòu)造類型 結(jié)構(gòu)體類型(struct) 共用體類型(union) 指針類型(*) 空類型(void)C語言的數(shù)據(jù)類型: 第二章 2.1 基本數(shù)據(jù)類型2.3 常量和變量一、常量概念:在程序運行中,其數(shù)值不能被改變的量。分類:直接常量和符號常量1.直接常量:是在程序

5、中直接引用的數(shù)據(jù)。分為:整型、實型、字符型、字符串以數(shù)據(jù)的原形出現(xiàn)!第二章 2.2 常量和變量(1)整型三種表現(xiàn)形式:十進(jìn)制形式:與數(shù)學(xué)上的整數(shù)表示相同。 例如: 12, -100, 0八進(jìn)制形式:在數(shù)碼前加數(shù)字0 。例如: 012=1*81+2*80=10(十進(jìn)制)十六進(jìn)制形式:在數(shù)碼前加0X(數(shù)字0和字母X,大小寫均可)。 例如: 0 x12=1*161+2*160=18(十進(jìn)制)第二章 2.2 常量和變量 十六進(jìn)制的數(shù)碼除了數(shù)字0-9外, 還使用英文字母a-f (或A-F)表示10-15。 如:0 x1e、0Xabcdef、0 x1000 但:0X2defg、0 x100L都是錯誤的。注

6、意事項: 八進(jìn)制的數(shù)碼范圍為0-7; 則:018、091、0A2 都是錯誤的數(shù)據(jù)表示方法。第二章 2.2 常量和變量(1)實型二種表現(xiàn)形式:十進(jìn)制形式:由數(shù)字和小數(shù)點組成;指數(shù)形式:由“十進(jìn)制小數(shù)” + “ e(或E)” + “十進(jìn)制數(shù)整數(shù)” 三部分組成。 第二章 2.2 常量和變量例如: 3.4 4. .3 例如: 12.5e-6 表示12.510-6十進(jìn)制小數(shù)e(或E)十進(jìn)制數(shù)整數(shù)注意事項: 小數(shù)點不能單獨出現(xiàn); e或E的兩邊必須有數(shù),且其后面必須為整數(shù); 如:0. = .0 = 0 = 0.0 . 如: 6E0.2 e5 6E 第二章 2.2 常量和變量(3)字符型二種表現(xiàn)形式:用單引號

7、括起來的一個字符;用單引號括起來的由反斜杠()引導(dǎo)的轉(zhuǎn)義字符。如:A、 1、? 等。如: n 101 x41在統(tǒng)計字符個數(shù)時,只能記為一個字符第二章 2.2 常量和變量只能是英文的單引號轉(zhuǎn)義字符表字符形式功能 n換行t 、V橫向跳格、b 、r堅向跳格退格、f回車、8進(jìn)制數(shù)表示的ASCII碼對應(yīng)的字符反斜杠、單引號、雙引號第二章 2.2 常量和變量ddd換頁 xhh16進(jìn)制數(shù)表示的ASCII碼對應(yīng)的字符第二章 2.2 常量和變量一個字符的多種表示方法:65D(十進(jìn)制)=41H(十六進(jìn)制)=101Q(八進(jìn)制)字符A可以表示為A、x41、101、65、0 x41、0101。要避免的錯誤:表示單引號:

8、 表示雙引號:表示斜線: 第二章 2.2 常量和變量字符的值域:即字符的取值范圍。0-127或0-255ASCII字符表中的所有字符,每個字符型數(shù)據(jù)在內(nèi)存中占一個字節(jié),包括可顯示字符和非顯示字符。例2-1:main( )printf(”abc tde rf tg n);printf(h ti b bjk);/* 注代表空格*/設(shè)一個輸出區(qū)占8列,試分析輸出結(jié)果。第二章 2.2 常量和變量abcdefabcgdehjihjk1234567812345678第二章 2.2 常量和變量2.符號常量: 特點:在程序中不能給它賦值。 概念:是用標(biāo)識符來表示一個數(shù)據(jù)。 定義形式:#define 標(biāo)識符 常

9、量數(shù)據(jù)例如在程序預(yù)處理時,凡是出現(xiàn)標(biāo)識符PI的地方都將用數(shù)據(jù)來替換。如:2*2.3*PI 就等價于 。第二章 2.2 常量和變量二、變量變量是指在程序運行中, 其值可以被改變的量。基本概念:變量代表計算機內(nèi)存中的某一存儲空間,該存儲空間中存 放的數(shù)據(jù)就是變量的值。在同一程序塊中,每個變量都有唯一的名字,不能被重復(fù)定義。使用變量時必須“先定義,后使用”。 int a,b,c ; float x,y; char c1,c2; 或 int c1,c2; 自己設(shè)定,滿足標(biāo)識符的規(guī)定。如:int,float,char;不可省第二章 2.2 常量和變量1.定義形式:類型標(biāo)識符 變量名1 ,變量名2,變量名

10、3,.;例如:第二章 2.2 常量和變量2.整型變量(1)整型變量的分類基本型,以int表示。短整型,以short int表示,或以short表示。長整型,以long int表示,或以long表示。無符號型,其中無符號型又分為無符號整型,無符號短整型和無符號長整型,分別以unsigned int unsigned shortunsigned long表示。int x;long y;2000200120022005xy內(nèi)存內(nèi)存地址20032004第二章 2.2 常量和變量(2)整型常量的類型 在將一個整型常量賦給一個整型變量時如何進(jìn)行類型匹配?其值在-32768 - +32767范圍內(nèi),認(rèn)為它是

11、 int型,它可以賦值給 int 型和 long int 型變量。其值在-2147483648 - +2147483647范圍內(nèi),則認(rèn)為它是long int型,可以將它賦值給一個long int 型變量。第二章 2.2 常量和變量.短整型常量:.長整型常量:第二章 2.2 常量和變量.如果某一計算機系統(tǒng)的C版本確定的short int 與 int型數(shù)據(jù)在內(nèi)存中占據(jù)的長度相同,.常量中無unsigned 型.則它的表示范圍與int 型相同。因此一個int 型的常量也同時是一個short int型常量,可以賦值給int 型或 short int 型變量。但一個非負(fù)值的整常量可以賦值給 unsign

12、ed 型整常量,只要它的范圍不超過變量的表示范圍即可。第二章 2.2 常量和變量數(shù)據(jù)后加一個字母1 或 L,則認(rèn)為是long int型常量. .長整型常量的表示:例如:1231 , 432L, 0L等等。 這往往用于函數(shù)調(diào)用中,如果函數(shù)的形參為long int型,則要求實參也為 long int 型,此時用123作實參不行,而要用123L作實參。main()int x; x =10*9*8*7*6*5*4*3*2*1; printf(%d,x);例2-2,看看下面程序的輸出是什么?運行結(jié)果:-3036long int x;%Ld第二章 2.2 常量和變量第二章 2.2 常量和變量3、實型變量的

13、分類(1)整型變量的分類單精度(float)型雙精度(double)型 占內(nèi)存 有效數(shù)字位數(shù) 范圍float 4個字節(jié) 7 10-38-1038double 8個字節(jié) 14-15 10-308-10308(2)實例float x;double y;2000200320042011xy內(nèi)存內(nèi)存地址第二章 2.2 常量和變量例如: char c; c= a; c= 034; c= n; c= x65; c=65;c=0101;c=0 x41; 第二章 2.2 常量和變量4.字符變量字符變量用來存放字符常量,注意一個字符變量只能存放一個字符。一般以一個字節(jié)來存放一個字符,或者說一個字符變量在內(nèi)存中占

14、一個字節(jié)。第二章 2.2 常量和變量5.變量初始化 在說明變量的同時給變量一個初始值。變量定義分配存儲空間變量初始化分配存儲空間的同時存入數(shù)據(jù)int a,b; ab?int a=1,b=2; ab12不確定例2-3:看一看,下列的定義哪些是正確的?int a=5, b=3;int a=b=c=3; int a,b,c; a=b=c=3;第二章 2.2 常量和變量例2-4: main( ) float s, r; scanf(%f, &r); /* 輸入數(shù)據(jù)給變量r(半徑) */ s = r * r * PI; /* 計算第一個圓的面積,存入變量s */ printf(s=%6.2fn, s);

15、 /* 輸出變量s 的值(面積) */ scanf(%f,&r); /* 輸入第二數(shù)據(jù)給變量r(半徑) */ s = r * r * PI; /* 計算第二個圓的面積,存入變量s */ printf(, s); /* 輸出變量s 的值(面積) */ 1 s=3.14 (共輸出6個字符且有2位小數(shù)) 2 s=12.5664 (共輸出8個字符且有4位小數(shù))運行結(jié)果第二章 2.2 常量和變量課堂練習(xí)課后練習(xí)第二章 2.2 常量和變量小 結(jié)1、數(shù)據(jù)類型的引入及意義2、符號常量的定義形式和引入符號常量的意義3、變量的定義、賦值、初始化2.4 運算符與表達(dá)式運算符的分類 分類依據(jù):運算符的功能分類:算術(shù)運

16、算符關(guān)系運算符邏輯運算符賦值運算符按位運算符其它運算符參見附錄2(3 3 9 頁):運算符的優(yōu)先級和結(jié)合方向一覽表表達(dá)式:是由操作數(shù)和運算符組成的序列。第二章 2.3 運算符和表達(dá)式一、算術(shù)運算符和算術(shù)表達(dá)式1、算術(shù)運算符+:加法-:減法*:乘法/:除法%:取余或模3+51+1+33-51-1-33*5ab3/5=03/53%5=3a%b=a-n*b a、b必須為整數(shù)5%(-3)=5-(-1)*(-3)=2(-12)%(-5)=(-12)-2*(-5)=-2第二章 2.3 運算符和表達(dá)式2、算術(shù)表達(dá)式用算術(shù)運算符和括符將操作數(shù)連接起來的式子。優(yōu)先級:( )* / %+ -結(jié)合性自左向右,與數(shù)學(xué)

17、上一致。表達(dá)式的值:數(shù)值型:int、long、unsigned、double結(jié)合性是指同級運算時運算符的結(jié)合方向。如a#b#c (#代表某一運算符)若先運算a#b,再將其結(jié)果與c運算,稱為左結(jié)合性;從左至右運算規(guī)則若先運算b#c,再將a與其結(jié)果運算,則稱右結(jié)合性。從右至左運算規(guī)則第二章 2.3 運算符和表達(dá)式例2-5:已知: float a=2.0; int b =6,c =3;求解: a*b/c-1.5+ A +abs(-5)=?/3+65(int)5第二章 2.3 運算符和表達(dá)式3.自增與自減運算符 (重點和難點)第二章 2.3 運算符和表達(dá)式+i,-i先增(減)1,再使用ii+,i-先使

18、用i,再增(減)1(1) 單獨使用時+i;等 價i+;等 價i=i+1;(2) j=+i;(3) j=i+;若i的初始值為3i=4;j=4;i=4;j=3;第二章 2.3 運算符和表達(dá)式結(jié)合性:自右向左例:i = 2; j = -i+;分析:(1)+、-、+(正號)、-(取負(fù))是同級運算符,結(jié)合方向:自右向左。(2) -i+等價于-(i+)(3) 對于括號內(nèi)的自增運算,又要先使用i,再使i增加1。運算結(jié)果: i的值為3,j的值為-2。第二章 2.3 運算符和表達(dá)式二、關(guān)系運算符和關(guān)系表達(dá)式關(guān)系運算:比較運算,比較兩個操作數(shù),看是否滿足給定的關(guān)系。1、關(guān)系運算符:小于 ,53, 35=:小于等于

19、,5=3,3:大于,53,35=:大于等于,5 =3,3 =5 ,與數(shù)學(xué)上()不同=:等于,5=3 ,與數(shù)學(xué)上(=)不同!=:不等于,5!=3 ,與數(shù)學(xué)上()不同2、關(guān)系表達(dá)式用關(guān)系運算符將表達(dá)式連接起來的式子優(yōu)先級 =高 低= !=結(jié)合方向自左向右表達(dá)式的值關(guān)系成立,即為真,結(jié)果為1;關(guān)系不成立,即為假,結(jié)果為0;算術(shù)運算符高 低C語言中,真:非0值,假:0值 第二章 2.3 運算符和表達(dá)式三、邏輯運算符和邏輯表達(dá)式1、邏輯運算符!:邏輯非,一元運算符運算規(guī)則:取反,真假,假真&:邏輯與 。又稱邏輯乘。運算規(guī)則:兩個操作數(shù)均為真,結(jié)果為真。|:邏輯或 。又稱邏輯加。運算規(guī)則:只要兩個操作數(shù)有

20、一個為真,結(jié)果為真。第二章 2.3 運算符和表達(dá)式2、邏輯量或邏輯表達(dá)式的值非0 值:真0值:假整型實型字符型指針類型00NULL第二章 2.3 運算符和表達(dá)式3、邏輯表達(dá)式用邏輯運算符將表達(dá)式連接起來的式子。優(yōu)先級關(guān)系運算符高 低&邏輯與算術(shù)運算符高 低!邏輯非高 低高 低|邏輯或結(jié)合性!:自右向左&、|:自左向右第二章 2.3 運算符和表達(dá)式第二章 2.3 運算符和表達(dá)式例2-6:int a=5; float b=3.5;!a0!b0a&b1a|b1 !a&!b 04、注意在邏輯表達(dá)式的求解中,并不是所有的邏輯運算符都被執(zhí)行,只是在必須執(zhí)行下一個邏輯運算符才能求出表達(dá)式的解時,才執(zhí)行該運算

21、符。第二章 2.3 運算符和表達(dá)式第二章 2.3 運算符和表達(dá)式例2-7:a=0; b=1; c=2; d=a+&b+&- -c;d=(a+)&(b+)&(- -c);運算結(jié)果: d=0,a=1,b=1,c=2(1)a & b & c求解方法:只有a為真(非0),才需要判斷b的值,只有a和b都為真,才需要判斷c的值。只要a為假,就不必判斷b和c,運算立即中止。(2)a | b | c求解方法:只要a為真(非0),就不必判斷b和c;只有a 為假,才判斷b;a和b都為假,才判斷c。例2-8:a=0; b=1; c=2; d=a+|b+|- -c; d=(a+)|(b+)|(- -c); 運算結(jié)果:

22、 d=1,a=1,b=2,c=2 第二章 2.3 運算符和表達(dá)式四、賦值運算符和賦值表達(dá)式1、賦值運算符= (數(shù)學(xué)上的等號)功能:將一個表達(dá)式的值賦給一個變量。2、賦值表達(dá)式用賦值運算符將變量和表達(dá)式連接起來的式子形式: =求值規(guī)則: 將“=”右邊表達(dá)式的值賦給左邊的變量。結(jié)合性:自右至左 第二章 2.3 運算符和表達(dá)式例2-9:(1) x=(y=12)/4y值為12,x值為3,表達(dá)式的值為3(2) x=y=12/4y值為3,x值為3,表達(dá)式的值為3 (3) x=(y=12/4)(y值為3,x值為3,表達(dá)式的值為3 (4) (x=y)=12/4該賦值運算符左邊不是變量,而是一個表達(dá)式第二章 2

23、.3 運算符和表達(dá)式3、復(fù)合賦值運算符*=、/=、%=、+=、-=、=、&=、=、=共10個由賦值運算符與算術(shù)、位移、位邏輯運算符組成。復(fù)合運算符是一個運算符,但功能上,是兩個運算符功能的組合。例2-10:a+=b 相當(dāng)于 a=a+ba*=b+c 相當(dāng)于 a=a*(b+c)a=2; a+=a*=a;第二章 2.3 運算符和表達(dá)式五、其它運算符1、條件運算符有兩個符號:?、:,它與三個操作數(shù)組成三元運算。一般形式: ? :求值規(guī)則和表達(dá)式的值:求解表達(dá)式1真(非0)求解表達(dá)式2假(0)求解表達(dá)式3表達(dá)式的值第二章 2.3 運算符和表達(dá)式優(yōu)先級:邏輯 條件 賦值結(jié)合性: 自右至左例2-11: in

24、t max,a=5,b=3; max=ab?a:b-a=b+ ? a+ : b+ y = x10 ? x/10 : x0 ? x: -x;第二章 2.3 運算符和表達(dá)式2、逗號運算符形式:逗號表達(dá)式1,逗號表達(dá)式2,逗號表達(dá)式n 求值規(guī)則:從左至右依次計算各表達(dá)式的值優(yōu)先級最低 結(jié)合性:自左至右 表達(dá)式的值最后一個表達(dá)式的值。第二章 2.3 運算符和表達(dá)式例2-12: a b y 逗號表達(dá)式 y=a=4,b=5,a+b; 4 5 4 9 y=(a=4,b=5,a+b); 4 5 9 9 y=(a=4,b=5),a+b; 4 5 5 9 y=a=(4,b=5),a+b; 5 5 5 10注意:C

25、語言常用逗號作為分隔符, 例如: int a=3,b=4,c=5; printf(%d,%d,%d,(a,b,c); printf(%d,%d,%d,a,(a,b,c),c); 第二章 2.3 運算符和表達(dá)式3、求字節(jié)運算符形式:sizeof 變量名sizeof (類型名)功能:求得變量或某種數(shù)據(jù)類型所需的字節(jié)數(shù)。運算結(jié)果:整型數(shù)例2-13:int a;float x;sizeof a,sizeof x,sizeof(int),sizeof(float) 第二章 2.3 運算符和表達(dá)式2.5 數(shù)據(jù)類型轉(zhuǎn)換C語言允許整型、實型、字符型數(shù)據(jù)進(jìn)行混合運算。有3種轉(zhuǎn)換方式:第二章 2.4 數(shù)據(jù)類型轉(zhuǎn)換自動轉(zhuǎn)換賦值轉(zhuǎn)換強制轉(zhuǎn)換 intun

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論