版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)計(jì)算機(jī)程序設(shè)計(jì)任課教師:石曉山任課教師:石曉山E-mail:中國(guó)礦業(yè)大學(xué)銀川學(xué)院中國(guó)礦業(yè)大學(xué)銀川學(xué)院計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)第第3章章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式數(shù)據(jù)類型、運(yùn)算符與表達(dá)式計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.1 計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.1.1 常量常量常量:常量:在程序的運(yùn)行過(guò)程中,其值不能被改變的數(shù)據(jù)。在程序的運(yùn)行過(guò)程中,其值不能被改變的數(shù)據(jù)。直接常量(字面常量)整形常量,實(shí)型常量,直接常量(字面常量)整形常量,實(shí)型常量,字符常量,字符串常量字符常量,字符串常量 如:如:1,-7,3.14,t,”Program”等等符號(hào)常量:符號(hào)
2、常量:用一個(gè)標(biāo)識(shí)符代表一個(gè)常量。用一個(gè)標(biāo)識(shí)符代表一個(gè)常量。 習(xí)慣上,符號(hào)常量名常用大寫字母。習(xí)慣上,符號(hào)常量名常用大寫字母。符號(hào)常量的定義:符號(hào)常量的定義: #define #define 標(biāo)識(shí)符標(biāo)識(shí)符 常量常量 #define PAI 3.14159計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.1.2 變量變量變量的使用要求:變量的使用要求: 先定義,后使用先定義,后使用變量的定義格式:變量的定義格式: 類型名類型名 變量名;變量名; 如如 int a, b ;變量:變量:在程序的運(yùn)行過(guò)程中,其值可以改變的數(shù)據(jù)。在程序的運(yùn)行過(guò)程中,其值可以改變的數(shù)據(jù)。本質(zhì):本質(zhì):在內(nèi)存中占據(jù)一定的存儲(chǔ)單元,存儲(chǔ)單
3、元中存在內(nèi)存中占據(jù)一定的存儲(chǔ)單元,存儲(chǔ)單元中存 放變量的值。放變量的值。3a內(nèi)存單元內(nèi)存單元變量值變量值變量名變量名計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.1.2 變量變量C語(yǔ)言允許在定義變量的同時(shí)使變量初始化。語(yǔ)言允許在定義變量的同時(shí)使變量初始化。如:如: int a = 3 ; /* 定義定義a為整型變量,初值為為整型變量,初值為3 */ float f = 3.12 ; /*定義定義f為實(shí)型變量,初值為為實(shí)型變量,初值為3.12 */ char c = a ; /* 定義定義c為字符型變量,初值為為字符型變量,初值為a */ int a = 3 ; 相當(dāng)于相當(dāng)于 int a ; a =
4、3 ; int a , b = 123 , c , i = 0 , j ; int x = 1 , y = 2 , z = 3 ; 注意注意: 不能寫成不能寫成 int x = y = z = 1 ; 必須一個(gè)一個(gè)賦值。必須一個(gè)一個(gè)賦值。計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.2 C語(yǔ)言的數(shù)據(jù)類型語(yǔ)言的數(shù)據(jù)類型雙精度型雙精度型( double )數(shù)據(jù)類型數(shù)據(jù)類型整型整型( int )基本類型基本類型指針類型指針類型構(gòu)造類型構(gòu)造類型空類型空類型( void )字符型字符型( char )實(shí)型實(shí)型(浮點(diǎn)型浮點(diǎn)型)枚舉類型枚舉類型( enum )數(shù)組類型數(shù)組類型結(jié)構(gòu)體類型結(jié)構(gòu)體類型( struct
5、)共用體類型共用體類型( union )單精度型單精度型( float )計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.2 C語(yǔ)言的數(shù)據(jù)類型語(yǔ)言的數(shù)據(jù)類型計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.2.1 整型數(shù)據(jù)整型數(shù)據(jù)1. 1. 整型常量:整型常量: 十進(jìn)制整數(shù):十進(jìn)制整數(shù):由由0-90-9的數(shù)字組成的數(shù)字組成 如如: 123,-456,0 八進(jìn)制整數(shù):八進(jìn)制整數(shù):由由0 07 7的數(shù)字組成,最高位必須的數(shù)字組成,最高位必須 用用0 0作引導(dǎo)符。作引導(dǎo)符。 如如: 0123,-023 十六進(jìn)制整數(shù):十六進(jìn)制整數(shù):由由0 0 9 9、a a f(A f(A F)F)組組 成成, ,最高位必須用最高位必
6、須用0 x0 x作引導(dǎo)符。作引導(dǎo)符。 如如 : 0 x123,-0 x23計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.2.1 整型數(shù)據(jù)整型數(shù)據(jù)2. 整型變量:整型變量: 整型變量的分類:整型變量的分類:基本整型:基本整型:int 如如: int a ;短整型:短整型:short int 或或 short 如如: short b ;長(zhǎng)整型:長(zhǎng)整型:long int 或或 long 如如: long c ;無(wú)符號(hào)數(shù):無(wú)符號(hào)數(shù):unsigned 如如: unsigned long e;有符號(hào)數(shù):有符號(hào)數(shù):signed 如如: signed int f ;計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.2.1 整
7、型數(shù)據(jù)整型數(shù)據(jù)ANSI標(biāo)準(zhǔn)定義的整數(shù)類型:標(biāo)準(zhǔn)定義的整數(shù)類型:類型類型比特?cái)?shù)比特?cái)?shù)取值范圍取值范圍signed int16-3276832767 即即-215 (215 1)unsigned int16065535 即即0(216 1)signed short int16-3276832767 即即-215 (215 1)unsigned short int16065535 即即0(216 1)signed long int32-21474836482147483647即即-231 (231 1)unsigned long int3204294967295 即即0(232 1)計(jì)算機(jī)語(yǔ)言程序設(shè)
8、計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.2.1 整型數(shù)據(jù)整型數(shù)據(jù)整型變量的定義:整型變量的定義: 類型符類型符 變量名變量名整型數(shù)據(jù)的溢出:整型數(shù)據(jù)的溢出:C語(yǔ)言中,數(shù)據(jù)超出其范圍,語(yǔ)言中,數(shù)據(jù)超出其范圍,即即“溢出溢出”,系統(tǒng)不報(bào)告錯(cuò)誤信息,程序仍然能運(yùn)行,系統(tǒng)不報(bào)告錯(cuò)誤信息,程序仍然能運(yùn)行,但可能出現(xiàn)不正確的結(jié)果。但可能出現(xiàn)不正確的結(jié)果。例例: : #include (P32 例例3.3) void main( ) int a,b; a=32767; b=a+1; printf(a=%d,b=%dn,a,b); 計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)11111111111111103276732767a:b
9、:-32768-327681 0 0 0 0 0 0 0 0 0 0 0 0 00 0整型變量的定義:整型變量的定義: 類型符類型符 變量名變量名整型數(shù)據(jù)的溢出:整型數(shù)據(jù)的溢出:C語(yǔ)言中,數(shù)據(jù)超出其范圍,語(yǔ)言中,數(shù)據(jù)超出其范圍,即即“溢出溢出”,系統(tǒng)不報(bào)告錯(cuò)誤信息,程序仍然能運(yùn)行,系統(tǒng)不報(bào)告錯(cuò)誤信息,程序仍然能運(yùn)行,但可能出現(xiàn)不正確的結(jié)果。但可能出現(xiàn)不正確的結(jié)果。3.2.1 整型數(shù)據(jù)整型數(shù)據(jù)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.2.1 整型數(shù)據(jù)整型數(shù)據(jù) 整型變量的定義:整型變量的定義:類型符類型符 變量名變量名 整型數(shù)據(jù)的溢出:整型數(shù)據(jù)的溢出:C C語(yǔ)言中,數(shù)據(jù)超出其范圍,語(yǔ)言中,數(shù)據(jù)超出其
10、范圍, 即即“溢出溢出”,系統(tǒng)不報(bào)告錯(cuò)誤信息,程仍然能運(yùn)行,系統(tǒng)不報(bào)告錯(cuò)誤信息,程仍然能運(yùn)行,但可能出現(xiàn)不正確的結(jié)果。但可能出現(xiàn)不正確的結(jié)果。 整型常量的類型:整型常量的類型:注:注:1) 將一個(gè)整型常量賦值給一個(gè)整型變量時(shí)應(yīng)注將一個(gè)整型常量賦值給一個(gè)整型變量時(shí)應(yīng)注 意對(duì)應(yīng)的整型變量的取值范圍。意對(duì)應(yīng)的整型變量的取值范圍。 2) 在一個(gè)整型常量后面加一個(gè)字母在一個(gè)整型常量后面加一個(gè)字母 l 或或 L,則表,則表 示示long int型常量。型常量。計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.2.2 實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)1. 實(shí)型常量的表示:實(shí)型常量的表示:2. 小數(shù)形式小數(shù)形式: 如:如: 12.3
11、、- 0.123 、123.0、0.0 指數(shù)形式:指數(shù)形式: 如:如:1.23e1 ( 1.23E1 ) 1.23*101 如:如:123e-3 ( 123E-3 ) 123*10-3注意事項(xiàng)注意事項(xiàng)(P33P33)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.2.2 實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)2. 實(shí)型變量:實(shí)型變量: 實(shí)型數(shù)據(jù)在內(nèi)存中的存放形式:如:實(shí)型數(shù)據(jù)在內(nèi)存中的存放形式:如:101101.011 實(shí)型變量的分類:實(shí)型變量的分類:?jiǎn)尉龋簡(jiǎn)尉龋篺loat 如如 float x, y ;雙精度:雙精度:double 如如 double z ;24b8b0 0000110101 1010 1100 00
12、00 0000 00000數(shù)符數(shù)符小數(shù)部分小數(shù)部分指數(shù)指數(shù)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.2.2 實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)ANSI標(biāo)準(zhǔn)定義的實(shí)型數(shù)據(jù)類型:標(biāo)準(zhǔn)定義的實(shí)型數(shù)據(jù)類型:類型類型比特?cái)?shù)比特?cái)?shù)有效數(shù)字有效數(shù)字取值范圍取值范圍 float326 710-37 1038 double6415 1610-307 10308計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.2.2 實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù) 實(shí)型數(shù)據(jù)的舍入誤差:實(shí)型數(shù)據(jù)的舍入誤差: 由于實(shí)型變量是用有限的存儲(chǔ)單元存儲(chǔ)的,因由于實(shí)型變量是用有限的存儲(chǔ)單元存儲(chǔ)的,因此能提供的有效數(shù)字是有限的,在有效位以外的數(shù)此能提供的有效數(shù)字是有限的,在有效位以外的數(shù)
13、字將舍去,由此可能產(chǎn)生一些誤差。字將舍去,由此可能產(chǎn)生一些誤差。 實(shí)型常量的類型:實(shí)型常量的類型:l實(shí)型常量不分單雙精度,可以賦值給實(shí)型常量不分單雙精度,可以賦值給float也可以賦也可以賦值給值給double,系統(tǒng)都將按照作為,系統(tǒng)都將按照作為雙精度雙精度來(lái)處理。來(lái)處理。l 在一個(gè)實(shí)型常量后面加一個(gè)字母在一個(gè)實(shí)型常量后面加一個(gè)字母 f 或或 F,則表示,則表示此此 常量按常量按單精度單精度來(lái)處理。來(lái)處理。計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.2.3 字符型數(shù)據(jù)(一)字符型數(shù)據(jù)(一)1. 字符常量的表示:字符常量的表示: 用單引號(hào)括起來(lái)的一個(gè)字符。用單引號(hào)括起來(lái)的一個(gè)字符。 如:如:a、D、
14、 5、 % 、 轉(zhuǎn)義字符:用轉(zhuǎn)義字符:用 開頭的字符序列開頭的字符序列 如:如:n、t、b、” 如:如:101、141、x41、x61計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)轉(zhuǎn)義字符轉(zhuǎn)義字符字符形式字符形式含義含義ASCII代碼代碼n換行,將當(dāng)前位置移到下一行開頭換行,將當(dāng)前位置移到下一行開頭10t水平位移(跳到下一個(gè)水平位移(跳到下一個(gè)tab位置)位置)9b退格,將當(dāng)前位置移到前一列退格,將當(dāng)前位置移到前一列8r回車,將當(dāng)前位置移到本行開頭回車,將當(dāng)前位置移到本行開頭13f換頁(yè),將當(dāng)前位置移到下頁(yè)開頭換頁(yè),將當(dāng)前位置移到下頁(yè)開頭12反斜杠字符反斜杠字符“”92單引號(hào)(撇號(hào))字符單引號(hào)(撇號(hào))字符
15、39”雙引號(hào)字符雙引號(hào)字符34ddd1到到3位位8進(jìn)制數(shù)所代表的字符進(jìn)制數(shù)所代表的字符xhh1到到2位位16進(jìn)制數(shù)所代表的字符進(jìn)制數(shù)所代表的字符計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)2.2.字符串常量字符串常量: : 用一對(duì)雙引號(hào)括起來(lái)的字符序列。用一對(duì)雙引號(hào)括起來(lái)的字符序列。 如如: : “HELLOHELLO”, ,”20082008”, ,”a a” 字符串結(jié)束標(biāo)志:字符串結(jié)束標(biāo)志:00 如如: :”HELLOHELLO”在內(nèi)存中為在內(nèi)存中為: :H EL LO 0A A為一個(gè)字符為一個(gè)字符”A A”為兩個(gè)字符為兩個(gè)字符AA 03.2.3 字符型數(shù)據(jù)(一)字符型數(shù)據(jù)(一)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)
16、計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.2.3 字符型數(shù)據(jù)(二)字符型數(shù)據(jù)(二)3. 字符型變量:字符型變量: 用來(lái)存放字符常量(單個(gè)字符),而非字符串用來(lái)存放字符常量(單個(gè)字符),而非字符串如:如:char c1 , c2 ; c1 = a ; c2 = n ;字符型變量的存放:字符型變量的存放:l 存放的是對(duì)應(yīng)字符的存放的是對(duì)應(yīng)字符的ASCII碼值。碼值。l 字符型數(shù)據(jù)和整型數(shù)據(jù)是通用的。字符型數(shù)據(jù)和整型數(shù)據(jù)是通用的。l 字符型數(shù)據(jù)占用內(nèi)存空間的一個(gè)字符,只能存字符型數(shù)據(jù)占用內(nèi)存空間的一個(gè)字符,只能存 放放0255 范圍內(nèi)的整數(shù)。范圍內(nèi)的整數(shù)。計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)例例1:1:字符的存儲(chǔ)與輸出
17、字符的存儲(chǔ)與輸出 # include void main( ) char c1,c2; c1=a;c2=b; printf(%c%c,c1,c2); c197; c298; printf(%c%c,c1,c2); 運(yùn)行結(jié)果為:運(yùn)行結(jié)果為: a ba b a b a b c1c2970110000198011000103.2.3 字符型數(shù)據(jù)(二)字符型數(shù)據(jù)(二)內(nèi)存中內(nèi)存中c1,c2c1,c2的存放形式的存放形式: :計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)例例2:2:字符數(shù)據(jù)的輸出形式字符數(shù)據(jù)的輸出形式 # include void main( ) int i; char c; i=a; c=97
18、; printf(%c%d,c,c); printf(%c%d,i,i); 運(yùn)行結(jié)果為:運(yùn)行結(jié)果為:a 97a 97 a 97 a 97 3.2.3 字符型數(shù)據(jù)(二)字符型數(shù)據(jù)(二)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì) 運(yùn)算原則:運(yùn)算原則: 進(jìn)行運(yùn)算時(shí),不同類型的數(shù)據(jù)先轉(zhuǎn)換為同一類型,進(jìn)行運(yùn)算時(shí),不同類型的數(shù)據(jù)先轉(zhuǎn)換為同一類型, 然后進(jìn)行運(yùn)算。然后進(jìn)行運(yùn)算。如如: 8+a+1.23-3.52*c 轉(zhuǎn)換規(guī)則為:轉(zhuǎn)換規(guī)則為:intshort,charunsignedlongdoublefloat低低高高此種數(shù)據(jù)類型轉(zhuǎn)換是由系統(tǒng)自動(dòng)進(jìn)行的。此種數(shù)據(jù)類型轉(zhuǎn)換是由系統(tǒng)
19、自動(dòng)進(jìn)行的。注:注:箭頭表示當(dāng)箭頭表示當(dāng)運(yùn)算對(duì)象為不同運(yùn)算對(duì)象為不同類型時(shí)數(shù)據(jù)轉(zhuǎn)換類型時(shí)數(shù)據(jù)轉(zhuǎn)換的方向的方向計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.3.2 賦值運(yùn)算時(shí)的類型轉(zhuǎn)換賦值運(yùn)算時(shí)的類型轉(zhuǎn)換 賦值運(yùn)算符:賦值運(yùn)算符:= 說(shuō)明:說(shuō)明:賦值運(yùn)算符左側(cè)必須為變量,右側(cè)為表達(dá)式。賦值運(yùn)算符左側(cè)必須為變量,右側(cè)為表達(dá)式。 將運(yùn)算符右側(cè)的數(shù)據(jù)賦值給運(yùn)算符左側(cè)的變量。將運(yùn)算符右側(cè)的數(shù)據(jù)賦值給運(yùn)算符左側(cè)的變量。 規(guī)則:規(guī)則:在進(jìn)行賦值運(yùn)算時(shí),賦值運(yùn)算符右側(cè)的數(shù)據(jù)類在進(jìn)行賦值運(yùn)算時(shí),賦值運(yùn)算符右側(cè)的數(shù)據(jù)類 型先轉(zhuǎn)換為賦值運(yùn)算符左側(cè)變量的數(shù)據(jù)類型。型先轉(zhuǎn)換為賦值運(yùn)算符左側(cè)變量的數(shù)據(jù)類型。 如:如:int a
20、 ; a = 3.74 ; /* a 的值為的值為 3 */此種數(shù)據(jù)類型轉(zhuǎn)換是截?cái)嘈偷霓D(zhuǎn)換,不會(huì)四舍五入。此種數(shù)據(jù)類型轉(zhuǎn)換是截?cái)嘈偷霓D(zhuǎn)換,不會(huì)四舍五入。計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.3.2 賦值運(yùn)算時(shí)的類型轉(zhuǎn)換賦值運(yùn)算時(shí)的類型轉(zhuǎn)換 賦值運(yùn)算符:賦值運(yùn)算符:變量變量 = 表達(dá)式表達(dá)式變量變量表達(dá)式表達(dá)式轉(zhuǎn)換規(guī)則轉(zhuǎn)換規(guī)則整型整型實(shí)型實(shí)型舍去實(shí)數(shù)的小數(shù)部分舍去實(shí)數(shù)的小數(shù)部分實(shí)型實(shí)型整型整型其值不變,以浮點(diǎn)數(shù)形式存儲(chǔ)其值不變,以浮點(diǎn)數(shù)形式存儲(chǔ)floatdouble截取其前截取其前7位有效數(shù)字存放位有效數(shù)字存放字符型字符型整型整型截取低截取低8位數(shù)據(jù)存放位數(shù)據(jù)存放整型整型字符型字符型將數(shù)據(jù)存放
21、到低將數(shù)據(jù)存放到低8位,高位,高8位補(bǔ)位補(bǔ)1/0intlong截取低截取低16位數(shù)據(jù)存放位數(shù)據(jù)存放longint將數(shù)據(jù)存放到低將數(shù)據(jù)存放到低16位,高位,高16位補(bǔ)位補(bǔ)1/0計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.3.3 強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換 強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換: 將一個(gè)表達(dá)式的類型轉(zhuǎn)換為指定的數(shù)據(jù)類型。將一個(gè)表達(dá)式的類型轉(zhuǎn)換為指定的數(shù)據(jù)類型。 轉(zhuǎn)換形式轉(zhuǎn)換形式:(類型符)(表達(dá)式)(類型符)(表達(dá)式) 如:如:float a = 4.5 ; int b ; b = a * 2; 如:如:float a = 4.5 ; int b ; b = ( int ) a * 2;說(shuō)明:說(shuō)明:
22、 1)類型說(shuō)明和表達(dá)式都需要加括號(hào)(單個(gè)變量可不加)類型說(shuō)明和表達(dá)式都需要加括號(hào)(單個(gè)變量可不加 括號(hào))。括號(hào))。 2)無(wú)論自動(dòng)轉(zhuǎn)換,還是強(qiáng)制轉(zhuǎn)換都是臨時(shí)轉(zhuǎn)換,不改)無(wú)論自動(dòng)轉(zhuǎn)換,還是強(qiáng)制轉(zhuǎn)換都是臨時(shí)轉(zhuǎn)換,不改變數(shù)據(jù)本身的類型和值。變數(shù)據(jù)本身的類型和值。計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.4.2 算術(shù)運(yùn)算符及表達(dá)式算術(shù)運(yùn)算符及表達(dá)式3.4.3 賦值運(yùn)算符及表達(dá)式賦值運(yùn)算符及表達(dá)式3.4.4 關(guān)系運(yùn)算符及表達(dá)式關(guān)系運(yùn)算符及表達(dá)式3.4.5 邏輯運(yùn)算符及表達(dá)式邏輯運(yùn)算符及表達(dá)式3.4.6 逗號(hào)運(yùn)算符及表達(dá)式逗號(hào)運(yùn)算符及表達(dá)式3.4.7 條件運(yùn)算符及表達(dá)式條件運(yùn)算符及表達(dá)式3.4.8 位運(yùn)算位運(yùn)
23、算計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.4.1 C語(yǔ)言運(yùn)算符簡(jiǎn)介語(yǔ)言運(yùn)算符簡(jiǎn)介算術(shù)運(yùn)算符算術(shù)運(yùn)算符+-*/%關(guān)系運(yùn)算符關(guān)系運(yùn)算符=!=邏輯運(yùn)算符邏輯運(yùn)算符! &|位運(yùn)算符位運(yùn)算符|&賦值運(yùn)算符賦值運(yùn)算符 = 及其擴(kuò)展賦值運(yùn)算符及其擴(kuò)展賦值運(yùn)算符條件運(yùn)算符條件運(yùn)算符 ? :逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符,指針運(yùn)算符指針運(yùn)算符*&求字節(jié)數(shù)運(yùn)算符求字節(jié)數(shù)運(yùn)算符 sizeof強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符(類型)(類型)分量運(yùn)算符分量運(yùn)算符.-下標(biāo)運(yùn)算符下標(biāo)運(yùn)算符 計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.4.2 算術(shù)運(yùn)算符及表達(dá)式算術(shù)運(yùn)算符及表達(dá)式 基本算術(shù)運(yùn)算符:基本算術(shù)運(yùn)算符
24、: + 加法或正值運(yùn)算符加法或正值運(yùn)算符 減法或負(fù)值運(yùn)算符減法或負(fù)值運(yùn)算符 * 乘法運(yùn)算符乘法運(yùn)算符 / 除法運(yùn)算符除法運(yùn)算符 % 模運(yùn)算符,或求余運(yùn)算符模運(yùn)算符,或求余運(yùn)算符 如:如:3 + 5 5 9 9 / 4 3.5 * 2 7%4 算術(shù)表達(dá)式:算術(shù)表達(dá)式: 用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(也稱操作數(shù)也稱操作數(shù))連接連接 起來(lái)的、符合起來(lái)的、符合C語(yǔ)法規(guī)則的式子。語(yǔ)法規(guī)則的式子。操作對(duì)象包括:常量、變量、表達(dá)式、函數(shù)等操作對(duì)象包括:常量、變量、表達(dá)式、函數(shù)等 表達(dá)式的類型:表達(dá)式的類型: 算術(shù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合性算術(shù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合性:自左至右:自左至右
25、計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.4.2 算術(shù)運(yùn)算符及表達(dá)式算術(shù)運(yùn)算符及表達(dá)式自增、自減運(yùn)算符:自增、自減運(yùn)算符: + - 作用:作用: + i - - i 在使用在使用 i 之前,使之前,使 i 的值加或減的值加或減1 i + i - - 在使用在使用 i 之后,使之后,使 i 的值加或減的值加或減1 說(shuō)明:說(shuō)明:只能用于變量,不能用于常量或表達(dá)式。只能用于變量,不能用于常量或表達(dá)式。 如:如: int i = 3, j, k ; j = i + ; k = + i ; int i = 3, j ; j = ( i + ) + ( i + ) + ( i + ) ; int i = 3
26、, j ; j = ( + i ) + ( + i ) + ( + i ) ; 結(jié)合方向:結(jié)合方向:“自右至左自右至左” 如:如: - j +i + j- ( j + )( i + ) + j計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.4.3 賦值運(yùn)算符及表達(dá)式賦值運(yùn)算符及表達(dá)式 賦值運(yùn)算符:賦值運(yùn)算符:= 賦值表達(dá)式:賦值表達(dá)式: 由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái) 的式子稱為賦值表達(dá)式的式子稱為賦值表達(dá)式. . 格式:格式: 如:如:int a,b ; float d,e ; char c1, c2 ; a = 0 ; b = a+7 ; d
27、= 3.14 ; e = 2 ; c1 = a ; c2 = 65 ;計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.4.3 賦值運(yùn)算符及表達(dá)式賦值運(yùn)算符及表達(dá)式 復(fù)合的賦值運(yùn)算符:復(fù)合的賦值運(yùn)算符: 賦值運(yùn)算符前可加其他運(yùn)算符,構(gòu)成復(fù)合賦值運(yùn)算符。賦值運(yùn)算符前可加其他運(yùn)算符,構(gòu)成復(fù)合賦值運(yùn)算符。 +=+=(加賦值)(加賦值) |=|=(按位或賦值)(按位或賦值) -=-=(減賦值)(減賦值) =(按位異或賦值)(按位異或賦值) * *= =(乘賦值)(乘賦值) =(右移位賦值)(右移位賦值) %=%=(求余賦值)(求余賦值) &=&=(位與賦值)(位與賦值)如:如:a + = 3 相
28、當(dāng)于相當(dāng)于 a = a + 3 x * = y + 8 相當(dāng)于相當(dāng)于 x = x * ( y + 8 ) x % = 3 相當(dāng)于相當(dāng)于 x = x % 3計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.4.3 賦值運(yùn)算符及表達(dá)式賦值運(yùn)算符及表達(dá)式 賦值運(yùn)算符結(jié)合方向:賦值運(yùn)算符結(jié)合方向:“自右至左自右至左” 如:如:a = 5 a = ( b = 5 ) a = ( b = 4 ) + ( c = 6 ) a + = a - = a * a計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.4.4 關(guān)系運(yùn)算符及表達(dá)式關(guān)系運(yùn)算符及表達(dá)式 關(guān)系運(yùn)算符:關(guān)系運(yùn)算符: = = != = 優(yōu)先級(jí)相同(高)優(yōu)先級(jí)相同(高)
29、= != 優(yōu)先級(jí)相同(低)優(yōu)先級(jí)相同(低)優(yōu)先級(jí)比較優(yōu)先級(jí)比較算術(shù)運(yùn)算符算術(shù)運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算符賦值運(yùn)算符賦值運(yùn)算符高高低低 關(guān)系表達(dá)式:關(guān)系表達(dá)式: 用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來(lái)的式子。用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來(lái)的式子。關(guān)系表達(dá)式的值:關(guān)系表達(dá)式的值:即即“真真”或或“假假”邏輯值邏輯值 C語(yǔ)言中,以語(yǔ)言中,以 1 表示表示“真真”,0 表示表示“假假”如:如: a=3,b=2,c=1 d = a b e = a b c f = a b b & b b ! a & b | | b b ) & ( n = c d )應(yīng)用舉例:應(yīng)用舉例:判斷某年是否閏年判
30、斷某年是否閏年 閏年:閏年:y % 4 = 0 & y % 100 != 0 | | y % 400 = 0 非閏年:非閏年: ! ( y % 4 = 0 & y % 100 != 0 | | y % 400 = 0 ) 或:或: y % 4 != 0 | | y % 100 = 0 & y % 400 != 0計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)3.4.6 逗號(hào)運(yùn)算符及表達(dá)式逗號(hào)運(yùn)算符及表達(dá)式 逗號(hào)運(yùn)算符:又稱順序求值運(yùn)算符逗號(hào)運(yùn)算符:又稱順序求值運(yùn)算符 格式:格式:表達(dá)式表達(dá)式1,表達(dá)式,表達(dá)式2 說(shuō)明:說(shuō)明:依次求解各表達(dá)式,整個(gè)表達(dá)式的值為表達(dá)式依次求解各表達(dá)式,整個(gè)表達(dá)式的值為表達(dá)式 2的值。的值。 如:如:( 3 * 5,2 * 4 ) 的值為的值為8如:如:a = 3 * 5,a * 4 ( a = 3 * 5,a * 4 ),a + 5 逗號(hào)表達(dá)式的擴(kuò)展形式:逗號(hào)表達(dá)式的擴(kuò)展形式:格式:格式:表達(dá)式表達(dá)式1,表達(dá)式,表達(dá)式2, ,表達(dá)式,表達(dá)式n如:如:a = 3 * 5,a * 4,a + 5 逗號(hào)運(yùn)算符的優(yōu)先
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人信用貸款合同擔(dān)保書與信用修復(fù)機(jī)制2篇
- 2025年度木材行業(yè)碳排放交易合同范本4篇
- 2025年度電梯事故責(zé)任鑒定與賠償合同4篇
- 遺體接送服務(wù)與喪葬用品提供2025年度合同3篇
- 2025年度電梯安全操作培訓(xùn)合同4篇
- 裝飾合同樣本物流行業(yè)
- 2025商業(yè)廣告是否構(gòu)成要約?購(gòu)房定金合同范本
- 2025年上海市勞動(dòng)合同經(jīng)典版(三篇)
- 買賣房屋合同協(xié)議書
- 教師勞動(dòng)合同
- 2024-2025學(xué)年山東省濰坊市高一上冊(cè)1月期末考試數(shù)學(xué)檢測(cè)試題(附解析)
- 江蘇省揚(yáng)州市蔣王小學(xué)2023~2024年五年級(jí)上學(xué)期英語(yǔ)期末試卷(含答案無(wú)聽力原文無(wú)音頻)
- 數(shù)學(xué)-湖南省新高考教學(xué)教研聯(lián)盟(長(zhǎng)郡二十校聯(lián)盟)2024-2025學(xué)年2025屆高三上學(xué)期第一次預(yù)熱演練試題和答案
- 決勝中層:中層管理者的九項(xiàng)修煉-記錄
- 幼兒園人民幣啟蒙教育方案
- 單位就業(yè)人員登記表
- 衛(wèi)生監(jiān)督協(xié)管-醫(yī)療機(jī)構(gòu)監(jiān)督
- 記錄片21世紀(jì)禁愛指南
- 腰椎間盤的診斷證明書
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(yíng)(吳洪貴)任務(wù)七 裂變傳播
- 單級(jí)倒立擺系統(tǒng)建模與控制器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論