




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)要求要求:(1) C程序的組成程序的組成(2) C語(yǔ)言的標(biāo)識(shí)符是如何定義的。語(yǔ)言的標(biāo)識(shí)符是如何定義的。(3) C語(yǔ)言有哪些基本數(shù)據(jù)類(lèi)型?各種基本數(shù)語(yǔ)言有哪些基本數(shù)據(jù)類(lèi)型?各種基本數(shù)據(jù)類(lèi)型的常量和變量是如何定義的?據(jù)類(lèi)型的常量和變量是如何定義的?(4) C語(yǔ)言有幾種類(lèi)型的表達(dá)式?各種類(lèi)型表語(yǔ)言有幾種類(lèi)型的表達(dá)式?各種類(lèi)型表達(dá)式是如何求值的?達(dá)式是如何求值的?(5) 在在C語(yǔ)言混合運(yùn)算的表達(dá)式中,各種運(yùn)算語(yǔ)言混合運(yùn)算的表
2、達(dá)式中,各種運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。符的優(yōu)先級(jí)和結(jié)合性。浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)一、一、C程序的組成程序的組成C程程序序函數(shù)組成函數(shù)組成由若干函數(shù)說(shuō)明部分函數(shù)說(shuō)明部分函數(shù)體函數(shù)體函數(shù)類(lèi)型說(shuō)明函數(shù)類(lèi)型說(shuō)明函數(shù)名函數(shù)名函數(shù)形參函數(shù)形參形參類(lèi)型說(shuō)明形參類(lèi)型說(shuō)明變量定義部分變量定義部分執(zhí)行部分執(zhí)行部分 int sum( x, y ) int x, y; int z; z=x+y; retrun z; int sum(int x, int y) int z; z=x+y; re
3、trun z; 例如:例如:等價(jià)等價(jià)(函數(shù)首部)浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ) 1 C程序中程序中必有且僅有必有且僅有一個(gè)一個(gè)main( )函數(shù),程序函數(shù),程序從從main( )開(kāi)始執(zhí)行開(kāi)始執(zhí)行,并且,并且在在main( )中結(jié)束中結(jié)束。 2 每一個(gè)說(shuō)明,每一個(gè)語(yǔ)句都必須以每一個(gè)說(shuō)明,每一個(gè)語(yǔ)句都必須以分號(hào)分號(hào)“;”結(jié)尾結(jié)尾。但。但預(yù)處理命令,函數(shù)頭和花括號(hào)預(yù)處理命令,函數(shù)頭和花括號(hào)“”之后不能加分號(hào)。之后不能加分號(hào)。 3 C 語(yǔ)言的注釋符是以語(yǔ)言的注釋符是以“/*”開(kāi)頭并
4、以開(kāi)頭并以“*/”結(jié)尾的串。結(jié)尾的串。在在“/*”和和“*/”之間的即為注釋。之間的即為注釋。 在在TC+中,中,注釋符以注釋符以“/” 開(kāi)始,到本行結(jié)束。開(kāi)始,到本行結(jié)束。例如:例如: int a ,b; / 定義定義2個(gè)整型變量個(gè)整型變量浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ) 1. 數(shù)據(jù)的描述(數(shù)據(jù)結(jié)構(gòu))數(shù)據(jù)的描述(數(shù)據(jù)結(jié)構(gòu))一個(gè)程序應(yīng)包括兩個(gè)方面的內(nèi)容一個(gè)程序應(yīng)包括兩個(gè)方面的內(nèi)容: 2. 操作的描述(即操作步驟、算法)操作的描述(即操作步驟、算法) 數(shù)據(jù)是操作的對(duì)象,操作的結(jié)
5、果又會(huì)改變數(shù)據(jù)的狀況。數(shù)據(jù)是操作的對(duì)象,操作的結(jié)果又會(huì)改變數(shù)據(jù)的狀況。 數(shù)據(jù)結(jié)構(gòu)與算數(shù)據(jù)結(jié)構(gòu)與算法的結(jié)合才成為一個(gè)程序。法的結(jié)合才成為一個(gè)程序。 C語(yǔ)言提供的數(shù)據(jù)結(jié)構(gòu)是以語(yǔ)言提供的數(shù)據(jù)結(jié)構(gòu)是以數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型形式出現(xiàn)的,形式出現(xiàn)的,C的數(shù)據(jù)類(lèi)型有的數(shù)據(jù)類(lèi)型有:C 的數(shù)據(jù)類(lèi)型的數(shù)據(jù)類(lèi)型 基本型基本型 (int)(int) 整型整型 短整型短整型 (short int)(short int) 長(zhǎng)整型長(zhǎng)整型 (long int)(long int) 無(wú)符號(hào)型無(wú)符號(hào)型 (unsigned int)(unsigned int) 基本類(lèi)型基本類(lèi)型 實(shí)型實(shí)型(浮點(diǎn)型浮點(diǎn)型) 單精度單精度 (float)(f
6、loat) 雙精度雙精度 (double)(double) 字符型字符型 (char) (char) 枚舉型枚舉型 (enum)(enum) 數(shù)組類(lèi)型數(shù)組類(lèi)型 (type ) (type ) 構(gòu)造類(lèi)型構(gòu)造類(lèi)型 結(jié)構(gòu)體類(lèi)型結(jié)構(gòu)體類(lèi)型 (struct) (struct) 共用體類(lèi)型共用體類(lèi)型 (union) (union) 指針類(lèi)型指針類(lèi)型 (type (type * *) ) 空類(lèi)型空類(lèi)型 (void) (void) 浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)C語(yǔ)言的基本符號(hào)語(yǔ)言的基本符
7、號(hào)1. 基本符號(hào)基本符號(hào): 26個(gè)英文字母?jìng)€(gè)英文字母 包括包括大寫(xiě)和小寫(xiě),大寫(xiě)和小寫(xiě),C 中大小寫(xiě)字母被認(rèn)為是兩個(gè)不同的字符。中大小寫(xiě)字母被認(rèn)為是兩個(gè)不同的字符。 數(shù)字?jǐn)?shù)字 09。 特殊符號(hào):如特殊符號(hào):如 初等量表達(dá)式操作符:初等量表達(dá)式操作符:( ),), ,. ,; 一元操作符:一元操作符:*,&,-,!,!,+ +,- -,sizeof( ); 二元操作符:二元操作符: , *,%,=,=, 1*24 +1*23 +0*22 +0*21 +1*20 = 16 + 8 + 0 + 0 + 1 = (25)10浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)
8、站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)1. 整型數(shù)椐在內(nèi)存中存放形式整型數(shù)椐在內(nèi)存中存放形式 數(shù)椐在內(nèi)存中是以數(shù)椐在內(nèi)存中是以二進(jìn)制二進(jìn)制形式存放的,每一個(gè)形式存放的,每一個(gè)整型變量整型變量在內(nèi)存中占兩個(gè)字節(jié)在內(nèi)存中占兩個(gè)字節(jié)。 如如 定義一個(gè)整型變量定義一個(gè)整型變量 i : int i=10; 10 的二進(jìn)制表示為的二進(jìn)制表示為1010, 內(nèi)存中的存儲(chǔ)形式為:內(nèi)存中的存儲(chǔ)形式為: 00000000 00001010實(shí)際上,在計(jì)算機(jī)中數(shù)值是以實(shí)際上,在計(jì)算機(jī)中數(shù)值是以補(bǔ)碼補(bǔ)碼表示的。一個(gè)表示的。一個(gè)正數(shù)正數(shù)的補(bǔ)碼的補(bǔ)碼和其原碼相同,和其原碼相同,負(fù)數(shù)的
9、補(bǔ)碼負(fù)數(shù)的補(bǔ)碼為其絕對(duì)值的二進(jìn)制形式為其絕對(duì)值的二進(jìn)制形式按位取反再加按位取反再加1。 例如,若例如,若 i=-10; 二進(jìn)制表示為:二進(jìn)制表示為:00000000 00001010 10的原碼的原碼 11111111 11110101 10的反碼的反碼 11111111 11110110 -10的補(bǔ)碼的補(bǔ)碼浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)補(bǔ)充補(bǔ)充 原碼、反碼、補(bǔ)碼的概念原碼、反碼、補(bǔ)碼的概念 原碼原碼 存儲(chǔ)單元的最高位為符號(hào)位存儲(chǔ)單元的最高位為符號(hào)位, ,其其0 0為正為正
10、,1,1為負(fù)為負(fù), ,值為二進(jìn)制值為二進(jìn)制補(bǔ)碼補(bǔ)碼 補(bǔ)碼補(bǔ)碼= =反碼反碼+1反碼反碼 代碼的代碼的0 0變?yōu)樽優(yōu)?, 11, 1變?yōu)樽優(yōu)? 0注意注意 正數(shù)的原碼、反碼、補(bǔ)碼是一樣的正數(shù)的原碼、反碼、補(bǔ)碼是一樣的例例 (-10)10 1000 0000 0000 1010 - 原碼原碼 求反求反 1111 1111 1111 0101 - 反碼反碼 +1 1 - 1111 1111 1111 0110 - 補(bǔ)碼補(bǔ)碼 浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)2. 整型變量的分類(lèi)整型變
11、量的分類(lèi) 可以根據(jù)數(shù)值的范圍將整型變量定義為基本整型、短整型或長(zhǎng)整型??梢愿鶕?jù)數(shù)值的范圍將整型變量定義為基本整型、短整型或長(zhǎng)整型。 基本型基本型: 以以 int 表示,變量的值范圍為表示,變量的值范圍為 -3276832767。 短整型短整型: 以以 short int 或或 short 表示表示 長(zhǎng)整型長(zhǎng)整型: 以以 long int 或或 long 表示表示 為了充分利用變量的表數(shù)范圍,可以不設(shè)符號(hào)位,而用全部二進(jìn)為了充分利用變量的表數(shù)范圍,可以不設(shè)符號(hào)位,而用全部二進(jìn)位存放數(shù)據(jù),只存放不帶符號(hào)的整數(shù),即定義位存放數(shù)據(jù),只存放不帶符號(hào)的整數(shù),即定義無(wú)符號(hào)型無(wú)符號(hào)型。可以有無(wú)符。可以有無(wú)符號(hào)
12、整型號(hào)整型( unsigned int )、無(wú)符號(hào)短整型、無(wú)符號(hào)短整型( unsigned short )、無(wú)符號(hào)長(zhǎng)整、無(wú)符號(hào)長(zhǎng)整型型 ( unsigned long )。歸納起來(lái),可以使用以下歸納起來(lái),可以使用以下6 類(lèi)整型變量:類(lèi)整型變量: int unsigned int short int unsigned short int long int unsigned long intC 標(biāo)準(zhǔn)并沒(méi)有具體規(guī)定以上各類(lèi)數(shù)據(jù)所占內(nèi)存字節(jié)數(shù),只要求標(biāo)準(zhǔn)并沒(méi)有具體規(guī)定以上各類(lèi)數(shù)據(jù)所占內(nèi)存字節(jié)數(shù),只要求long型數(shù)據(jù)長(zhǎng)度不短于型數(shù)據(jù)長(zhǎng)度不短于int 型,型,short 型不長(zhǎng)于型不長(zhǎng)于int 型。型。浙
13、江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)例例1 整型變量的定義和使用整型變量的定義和使用 main( ) int a,b,c,d; /* 定義整型變量定義整型變量 */ unsigned int u; /* 定義無(wú)符號(hào)整型變量定義無(wú)符號(hào)整型變量 */ a=12; b=-24; u=10; c=a+u; d=b+u; printf(a+u=%d , b+u=%dn,c,d ); 運(yùn)行運(yùn)行結(jié)果結(jié)果:a+u=22, b+u=-14可以看到:不同種類(lèi)的整可以看到:不同種類(lèi)的整型數(shù)據(jù)可以進(jìn)行算術(shù)
14、運(yùn)算型數(shù)據(jù)可以進(jìn)行算術(shù)運(yùn)算.3. 整型變量的定義整型變量的定義(強(qiáng)制類(lèi)型定義強(qiáng)制類(lèi)型定義): int a, b; - a,b定義為整型定義為整型 unsigned short c, d; - c,d定義為無(wú)符號(hào)短整型定義為無(wú)符號(hào)短整型 long e, f; - e,f定義為長(zhǎng)整型定義為長(zhǎng)整型 變量定義一般放在函數(shù)的開(kāi)頭部分的變量定義一般放在函數(shù)的開(kāi)頭部分的聲明部分聲明部分。 浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ) 4. 整型數(shù)據(jù)的溢出整型數(shù)據(jù)的溢出 例例 2 整型數(shù)據(jù)的溢出整型數(shù)據(jù)
15、的溢出 main( ) int a,b; a=32767; b=a+1; printf(%d , %d , a,b ); a: 0111111111111111 32767b: 1000000000000000 -32768運(yùn)行運(yùn)行結(jié)果:結(jié)果: 32767 , -32768一個(gè)一個(gè) 整型變量只能容整型變量只能容納納 -3276832767 (-215 215-1 ) 范圍范圍內(nèi)的數(shù),無(wú)法表示大內(nèi)的數(shù),無(wú)法表示大于于32767 的數(shù),遇此情的數(shù),遇此情況就發(fā)生況就發(fā)生“溢出溢出”。(教材教材P43表表)浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitw
16、ww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)v 實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)實(shí)型常量的表示法實(shí)型常量的表示法 C語(yǔ)言中的實(shí)數(shù)又稱語(yǔ)言中的實(shí)數(shù)又稱浮點(diǎn)數(shù)浮點(diǎn)數(shù),有兩種表示形式,有兩種表示形式:1. 十進(jìn)制數(shù)形式:十進(jìn)制數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成(必須有小數(shù)點(diǎn))。由數(shù)字和小數(shù)點(diǎn)組成(必須有小數(shù)點(diǎn))。 如如 0.123 .123 123. 0.0 2. 指數(shù)形式指數(shù)形式:由數(shù)字、字母:由數(shù)字、字母E (或或 e ) 和小數(shù)點(diǎn)組成,且和小數(shù)點(diǎn)組成,且E 后面必須是后面必須是整數(shù),整數(shù),E 前面必須要有數(shù)字前面必須要有數(shù)字 。 如如 123e3 1.23e6 123.4E2 規(guī)范化的指數(shù)形式規(guī)范化的指
17、數(shù)形式:在字母:在字母e 或或E 之前的小數(shù)部分中,小數(shù)點(diǎn)左邊之前的小數(shù)部分中,小數(shù)點(diǎn)左邊有且只有一位非零數(shù)字。有且只有一位非零數(shù)字。如如 1.23e 選擇題選擇題:以下選項(xiàng)中,均是不合法的實(shí)型常量的選項(xiàng)是以下選項(xiàng)中,均是不合法的實(shí)型常量的選項(xiàng)是 ( )。A) 160. B) 123 C) -.18 D) -e3 0.12 2e4.2 123e4 .234 e3 . e5 0.0 1e3浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)實(shí)型變量實(shí)型變量1. 實(shí)型數(shù)據(jù)在內(nèi)存中的存放形式實(shí)型數(shù)據(jù)在
18、內(nèi)存中的存放形式 一個(gè)實(shí)型數(shù)據(jù)一般在內(nèi)存中占用四個(gè)字節(jié)(一個(gè)實(shí)型數(shù)據(jù)一般在內(nèi)存中占用四個(gè)字節(jié)(32位)位),按照指數(shù)形式,按照指數(shù)形式存儲(chǔ)。存儲(chǔ)。 例如,例如,3.14159 按照按照 “ +0.314159e1” 形式存儲(chǔ)。形式存儲(chǔ)。在在4個(gè)字節(jié)中,究竟用多少位來(lái)表示小數(shù)部分、多少位來(lái)表示指數(shù)個(gè)字節(jié)中,究竟用多少位來(lái)表示小數(shù)部分、多少位來(lái)表示指數(shù)部分,標(biāo)準(zhǔn)部分,標(biāo)準(zhǔn)C 并無(wú)具體規(guī)定,完全由各編譯系統(tǒng)自定。小數(shù)部分占的位數(shù)并無(wú)具體規(guī)定,完全由各編譯系統(tǒng)自定。小數(shù)部分占的位數(shù)越多,數(shù)的有效數(shù)字越多,精度越高。指數(shù)部分占的位數(shù)越多,則能表示越多,數(shù)的有效數(shù)字越多,精度越高。指數(shù)部分占的位數(shù)越多,則
19、能表示的數(shù)值范圍越大。的數(shù)值范圍越大。 單精度單精度f(wàn)loat型(型(32 bit,67位有效數(shù)字)位有效數(shù)字) 2. 實(shí)型變量的分類(lèi)實(shí)型變量的分類(lèi) 雙精度雙精度double型(型(64 bit,1516位有效數(shù)字)位有效數(shù)字) 3. 實(shí)型變量的定義實(shí)型變量的定義: 每個(gè)實(shí)型變量也必須在使用之前定義每個(gè)實(shí)型變量也必須在使用之前定義 例如例如 float x,y; -定義定義 x 和和 y 為單精度型變量為單精度型變量 double z; -定義定義 z 為雙精度型變量為雙精度型變量 單精度與雙精度只是數(shù)據(jù)的有效位數(shù)不同單精度與雙精度只是數(shù)據(jù)的有效位數(shù)不同.。浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站
20、:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)4. 實(shí)型數(shù)據(jù)的舍入誤差實(shí)型數(shù)據(jù)的舍入誤差 由于實(shí)型變量是由有限的存儲(chǔ)單元組成的,因此能提供的有效數(shù)由于實(shí)型變量是由有限的存儲(chǔ)單元組成的,因此能提供的有效數(shù)字總是有限的,在有效位以外的數(shù)字將被舍去,由此可能會(huì)產(chǎn)生誤差字總是有限的,在有效位以外的數(shù)字將被舍去,由此可能會(huì)產(chǎn)生誤差(四舍五入)。(四舍五入)。 例例3 main( ) float a,b; a=123456.789e5; b=a+20; printf( %f ,b); 運(yùn)行結(jié)果:運(yùn)行結(jié)果: 12345678848. 00
21、0000這是因?yàn)橐粋€(gè)實(shí)型變量只能保證這是因?yàn)橐粋€(gè)實(shí)型變量只能保證7位數(shù)字有效位數(shù)字有效。 注意:應(yīng)避免將一個(gè)很大的數(shù)和一個(gè)很小的數(shù)相加或相減。注意:應(yīng)避免將一個(gè)很大的數(shù)和一個(gè)很小的數(shù)相加或相減。 a:12345678900b:12345678920 ?浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)一、一、 字符常量字符常量 C的字符常量是指用的字符常量是指用單引號(hào)括起來(lái)的一個(gè)單引號(hào)括起來(lái)的一個(gè)字符字符, 如如 a, A, $ 等,等, 除上述字符常量之外,除上述字符常量之外,C中還允許一種
22、特殊字符常量,即以中還允許一種特殊字符常量,即以 開(kāi)頭的字符開(kāi)頭的字符序列,序列, 稱為稱為轉(zhuǎn)義字符轉(zhuǎn)義字符,意思是將,意思是將 “ ” 后面的字符轉(zhuǎn)變成另外的意義。后面的字符轉(zhuǎn)變成另外的意義。 n 換行換行 t 水平制表水平制表(跳到下一個(gè)跳到下一個(gè)tab位位) (一個(gè)一個(gè)tab位占位占8列列) v 豎向跳格豎向跳格(相當(dāng)于換行相當(dāng)于換行) b 退格,將當(dāng)前位置移到前一列退格,將當(dāng)前位置移到前一列 r 回車(chē)回車(chē)(到行首到行首,不換行不換行) f 走紙換頁(yè),將當(dāng)前位置移到下頁(yè)開(kāi)頭走紙換頁(yè),將當(dāng)前位置移到下頁(yè)開(kāi)頭 字符字符 “ ” 字符字符 “ ” ddd 13位八進(jìn)制數(shù)所代表的字符位八進(jìn)制數(shù)所
23、代表的字符 如如 074 xhh 12位十六進(jìn)制數(shù)所代表的字符位十六進(jìn)制數(shù)所代表的字符 如如 x74v 字符型數(shù)據(jù)字符型數(shù)據(jù)單引號(hào)單引號(hào)例例 A (65)10 = (101)8 101=A P374 換行符換行符 (10)10 = (12)8 012=n浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ) 選擇題選擇題:以下選項(xiàng)中,均是不合法的轉(zhuǎn)義字符的選項(xiàng)是以下選項(xiàng)中,均是不合法的轉(zhuǎn)義字符的選項(xiàng)是 ( )。A) B) 1011 C) 011 D) abc f 101 xf a x1f 選擇題選
24、擇題:以下選項(xiàng)中,正確的字符常量是以下選項(xiàng)中,正確的字符常量是 ( )。A) c B) C) 085 D) W 浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)三、三、 字符數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式及其使用方法字符數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式及其使用方法將一個(gè)字符常量存到一個(gè)字符變量中去,并不是把該字符本身放入內(nèi)將一個(gè)字符常量存到一個(gè)字符變量中去,并不是把該字符本身放入內(nèi)存單元之中,而是將該存單元之中,而是將該字符的相應(yīng)的字符的相應(yīng)的ASCII碼碼American national Standard
25、 Code for Information Interchange(美國(guó)國(guó)家信息交換標(biāo)準(zhǔn)代碼)。(美國(guó)國(guó)家信息交換標(biāo)準(zhǔn)代碼)。存放到存放到存儲(chǔ)單元之中。存儲(chǔ)單元之中。 例如例如: char c1, c2; c1=a; c2=b; 二、二、 字符變量字符變量 字符變量用來(lái)存放字符常量(字符變量用來(lái)存放字符常量(只能放一個(gè)字符只能放一個(gè)字符,而不是字符串)。,而不是字符串)。 字符變量的定義字符變量的定義: char c1, c2; 定義定義c1,c2為字符變量為字符變量?jī)?nèi)存中存放的不是內(nèi)存中存放的不是a 和和 b,而,而是是 a 和和 b 的的ASCII碼碼 97 和和 98 由于字符數(shù)據(jù)以由于
26、字符數(shù)據(jù)以ASCII碼存儲(chǔ),因此與整數(shù)有相同的形式,因此碼存儲(chǔ),因此與整數(shù)有相同的形式,因此C 語(yǔ)語(yǔ)言中的言中的字符型數(shù)據(jù)和整型數(shù)據(jù)字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以之間可以通用。通用。 浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)例例. char c1, c2;c1=a; 與與 c2=b; 對(duì)對(duì)c1、c2分別賦值,結(jié)果相同。分別賦值,結(jié)果相同。 至于是輸出字符還是至于是輸出字符還是整數(shù)取決于整數(shù)取決于格式控制符格式控制符。%d:十進(jìn)制整型:十進(jìn)制整型%c:字符型:字符型char c1, c2
27、;c1=97; c2=98;大小寫(xiě)字母轉(zhuǎn)換。大小寫(xiě)字母轉(zhuǎn)換。 main( ) char c1 , c2 ; c1=a ; c2=b ; c1=c1-32 ; c2=c2-32 ; printf(%c %c , c1 , c2) ; 從從ASCII碼表中可以看到,碼表中可以看到,每一個(gè)小寫(xiě)字母比它相應(yīng)的大寫(xiě)每一個(gè)小寫(xiě)字母比它相應(yīng)的大寫(xiě)字母的字母的ASCII大大32。因此有:。因此有:小寫(xiě)字母小寫(xiě)字母32 大寫(xiě)字母大寫(xiě)字母運(yùn)行運(yùn)行結(jié)果:結(jié)果: A B浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基
28、礎(chǔ)四、四、 字符串常量字符串常量 v 字符串常量字符串常量:是一對(duì)是一對(duì)雙引號(hào)雙引號(hào) 括起來(lái)的括起來(lái)的字符序列字符序列。如如: How do you do. $123.45v字符串常量與字符常量字符串常量與字符常量: 字符常量是字符常量是一個(gè)字符一個(gè)字符,字符串常量是一對(duì)雙引號(hào),字符串常量是一對(duì)雙引號(hào) 括起來(lái)的括起來(lái)的字符序列。字符序列。C 規(guī)定:在每一個(gè)字符串的結(jié)尾加一個(gè)規(guī)定:在每一個(gè)字符串的結(jié)尾加一個(gè)“字符串結(jié)束標(biāo)志字符串結(jié)束標(biāo)志”,以便系統(tǒng)椐,以便系統(tǒng)椐此判斷字符串是否結(jié)束。此判斷字符串是否結(jié)束。C 規(guī)定以字符規(guī)定以字符 0 作為字符串結(jié)束標(biāo)志。作為字符串結(jié)束標(biāo)志。 0 是是系統(tǒng)自動(dòng)加上
29、的,在寫(xiě)字符串時(shí)不必加系統(tǒng)自動(dòng)加上的,在寫(xiě)字符串時(shí)不必加 0 。a 與與 a 的區(qū)別的區(qū)別:字符串:字符串a(chǎn)實(shí)際上包含實(shí)際上包含2個(gè)字符:個(gè)字符:a 和和 0,占占2個(gè)字節(jié);個(gè)字節(jié);a占占1個(gè)字節(jié)。個(gè)字節(jié)。注意:注意:不要混淆字符常量與字符串常量不要混淆字符常量與字符串常量!字符串常量不能賦給一個(gè)字符變量。字符串常量不能賦給一個(gè)字符變量。如如: c=a; 是非法的,而應(yīng)該是是非法的,而應(yīng)該是 c=a;v C語(yǔ)言中的語(yǔ)言中的字符串用字符型數(shù)組來(lái)存放。字符串用字符型數(shù)組來(lái)存放。浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Ne
30、t第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ) 選擇題選擇題:以下選項(xiàng)中,均是正確的數(shù)值常量或字符常量的是以下選項(xiàng)中,均是正確的數(shù)值常量或字符常量的是 ( )。A) 0.0B) a C) 3 D) +001 0f 3.9E-205 011 0 xabcd 8.9e 1e1 0 xFF00 2e2 & 0a 50. 選擇題選擇題:下面不正確的字符串常量是下面不正確的字符串常量是 ( )。A) abcB) 1212 C) 0 D) 練習(xí)題練習(xí)題浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)v變量賦初值
31、變量賦初值程序中常常需要對(duì)一些變量預(yù)先設(shè)定初始值,程序中常常需要對(duì)一些變量預(yù)先設(shè)定初始值,C語(yǔ)言中規(guī)定,可以語(yǔ)言中規(guī)定,可以在在定義變量的同時(shí)使變量初始化定義變量的同時(shí)使變量初始化。如如 int i=3;float x=2.5;變量賦初值相當(dāng)于變量定義與變量賦值兩部分。變量賦初值相當(dāng)于變量定義與變量賦值兩部分。 如如: int i=3; 相當(dāng)于相當(dāng)于 int i; i=3;也可以使被定義的變量的一部分賦初值。也可以使被定義的變量的一部分賦初值。 如如: int a, b, c=5; (只對(duì)只對(duì)c 賦初值賦初值5) 如果對(duì)幾個(gè)變量賦以同一個(gè)值,不能寫(xiě)成如果對(duì)幾個(gè)變量賦以同一個(gè)值,不能寫(xiě)成int
32、a=b=c=3 ; 而應(yīng)寫(xiě)成而應(yīng)寫(xiě)成 int a=3,b=3,c=3 ; 變量初始化一般是在程序運(yùn)行、執(zhí)行本函數(shù)時(shí)賦予初值的。變量初始化一般是在程序運(yùn)行、執(zhí)行本函數(shù)時(shí)賦予初值的。而定義是在編譯時(shí)執(zhí)行的而定義是在編譯時(shí)執(zhí)行的浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)v各數(shù)據(jù)類(lèi)型之間的混合運(yùn)算各數(shù)據(jù)類(lèi)型之間的混合運(yùn)算高高 double -float 即即float必須先轉(zhuǎn)換成必須先轉(zhuǎn)換成double 以提高精度以提高精度(即使兩個(gè)數(shù)同為即使兩個(gè)數(shù)同為float long 型也必須轉(zhuǎn)換為型也
33、必須轉(zhuǎn)換為double后進(jìn)行運(yùn)算后進(jìn)行運(yùn)算) unsigned 低低 int - intint 實(shí)型賦給整型實(shí)型賦給整型, , 舍去小數(shù)舍去小數(shù) i=3.56 - i=3i=3.56 - i=3不不“四舍五入四舍五入”B. int - floatB. int - float 數(shù)值不變數(shù)值不變, , 以浮點(diǎn)數(shù)形式儲(chǔ)存以浮點(diǎn)數(shù)形式儲(chǔ)存, , 補(bǔ)足補(bǔ)足0 0 f=23 - f=23.00000 f=23 - f=23.00000 ( (有效數(shù)字有效數(shù)字7 7位位) )浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講
34、C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)#include void main () int y; double d=3.4, x; x=(y=d/2.0)/2; printf(%0.2f,%d),x,y); getch();程序運(yùn)行結(jié)果程序運(yùn)行結(jié)果:A. (0.00,1) B.(0.85,1.7) C.(0.50,1) D. 以上都不對(duì)以上都不對(duì)例題例題v賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值表達(dá)式浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)例:例: *=: a*=3 ; a=a*3 ; /=:x/=y+3
35、; x=x/(y+3);%=:a%=3 ; a=a%3 ;3. 復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符 在賦值運(yùn)算符之前加上其它運(yùn)算符可以構(gòu)成復(fù)合運(yùn)算符在賦值運(yùn)算符之前加上其它運(yùn)算符可以構(gòu)成復(fù)合運(yùn)算符。 如如: 在在 = 之前加上之前加上 +, 則構(gòu)成則構(gòu)成 +=。 a+=3 相當(dāng)于相當(dāng)于 a=a+3 含義是含義是: a+=表達(dá)式表達(dá)式 相當(dāng)于相當(dāng)于 a=a+表達(dá)式表達(dá)式 如果表達(dá)式是由多項(xiàng)構(gòu)成,則相當(dāng)于有括號(hào),即如果表達(dá)式是由多項(xiàng)構(gòu)成,則相當(dāng)于有括號(hào),即 a=a+(表達(dá)式表達(dá)式) 凡是二元(二目)運(yùn)算符都可以與凡是二元(二目)運(yùn)算符都可以與 “ = ” 一起組成賦值運(yùn)算。一起組成賦值運(yùn)算。 C 語(yǔ)
36、言中規(guī)定可以用語(yǔ)言中規(guī)定可以用10 種復(fù)合賦值運(yùn)算符種復(fù)合賦值運(yùn)算符:+= -= *= /= %= = &= = |=浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)4. 賦值表達(dá)式賦值表達(dá)式v什么是什么是 賦值表達(dá)式賦值表達(dá)式 ?由(單一或復(fù)合)賦值運(yùn)算符將一個(gè)變量和一個(gè)表由(單一或復(fù)合)賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子。達(dá)式連接起來(lái)的式子。v一般形式一般形式: v 賦值表達(dá)式的求解過(guò)程是賦值表達(dá)式的求解過(guò)程是:先對(duì)運(yùn)算符右側(cè)的表達(dá)式求值,再將該值賦給運(yùn)算符左邊的變量
37、。先對(duì)運(yùn)算符右側(cè)的表達(dá)式求值,再將該值賦給運(yùn)算符左邊的變量。v賦值表達(dá)式的值:賦值表達(dá)式的值:就是被賦值的變量的值。就是被賦值的變量的值。 如如: a=5 的值是的值是5。v這里這里既可以是一個(gè)普通的表達(dá)式,也可以是一個(gè)賦值表達(dá)式。既可以是一個(gè)普通的表達(dá)式,也可以是一個(gè)賦值表達(dá)式。 如如: a=(b=5) 即表示即表示 b=5 和和 a=5由于賦值運(yùn)算符是由于賦值運(yùn)算符是自右至左結(jié)合自右至左結(jié)合,因此,因此 a=(b=5) 等價(jià)于等價(jià)于 a=b=5 例:例: a=(b=4)+(c=6)c=6 , b=4 , a=10a=(b=10)/ (c=2)c=2 , b=10 , a=5例:例: 有表達(dá)
38、式有表達(dá)式 a+=a-=a*a ,設(shè),設(shè) a=12,求,求 運(yùn)行結(jié)果。運(yùn)行結(jié)果。 (1) a-=a*a ,即,即a=a-a*a=-132 (2) a+=a ,即,即a=a+a=-264注意注意:如果在賦值表達(dá)式后面加上如果在賦值表達(dá)式后面加上 “ ; ” ,則成為賦值語(yǔ)句。,則成為賦值語(yǔ)句。浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)v逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式用用 “ , ” 將兩個(gè)表達(dá)式連接起來(lái)所構(gòu)成的表達(dá)式稱為逗號(hào)表達(dá)式將兩個(gè)表達(dá)式連接起來(lái)所構(gòu)成的表達(dá)式稱為逗號(hào)表
39、達(dá)式。 如如: 3+5 , 6+8 逗號(hào)表達(dá)式的一般形式逗號(hào)表達(dá)式的一般形式: 表達(dá)式表達(dá)式1 , 表達(dá)式表達(dá)式2求解過(guò)程求解過(guò)程: 先求表達(dá)式先求表達(dá)式1的值,再求表達(dá)式的值,再求表達(dá)式2的值,的值,整個(gè)表達(dá)式的值是表整個(gè)表達(dá)式的值是表達(dá)式達(dá)式2 的值。的值。 如上式,結(jié)果是如上式,結(jié)果是14 又如:又如: a=3*5,a*4 結(jié)果是結(jié)果是a= 15, 表達(dá)式值是表達(dá)式值是60。一個(gè)逗號(hào)表達(dá)式可以與另一個(gè)逗號(hào)表達(dá)式組成新的逗號(hào)表達(dá)式。一個(gè)逗號(hào)表達(dá)式可以與另一個(gè)逗號(hào)表達(dá)式組成新的逗號(hào)表達(dá)式。 如:如: (a=3*5,a* 4) , a+5 即:即:(1) a=15 (2) ( 15 , 60)
40、 = 值為值為 60 (3) 60 ,20 = 整個(gè)表達(dá)式的值為整個(gè)表達(dá)式的值為 20 例:例: (1) x=(a=3,6*a) (2) x=a=3,6*a賦值表達(dá)式:賦值表達(dá)式:a為為 3 ,x 為為18 ;逗號(hào)表達(dá)式:逗號(hào)表達(dá)式:x為為 3,a為為 3。浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ) 逗號(hào)表達(dá)式可以推廣到多個(gè)表達(dá)式的情況逗號(hào)表達(dá)式可以推廣到多個(gè)表達(dá)式的情況 表達(dá)式表達(dá)式1 , 表達(dá)式表達(dá)式2, . , 表達(dá)式表達(dá)式n 它的值是它的值是 表達(dá)式表達(dá)式n 的值。的值。 由于
41、由于逗號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的逗號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的,因此書(shū)寫(xiě)表,因此書(shū)寫(xiě)表達(dá)式時(shí)要注意求解的次序。達(dá)式時(shí)要注意求解的次序。 注意:并非所有的注意:并非所有的 , 都是運(yùn)算符都是運(yùn)算符 如如: printf(%d,%d,%d,a,b,c); -這里的這里的, 都只是分隔符都只是分隔符 而而 printf(%d,%d,%d, (a,b,c), b, c); -這里這里(a,b,c)中的中的,是運(yùn)算符是運(yùn)算符v逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第
42、第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)選擇題選擇題:下面符合下面符合C 語(yǔ)言語(yǔ)法的賦值表達(dá)式是語(yǔ)言語(yǔ)法的賦值表達(dá)式是 ( )。 A) d=9+e+f=d+9 B) d=9+e, f=d+9 C) d=(9+e, e+, d+9) D) d=9+e+=d+7 浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)v關(guān)系運(yùn)算符和表達(dá)式關(guān)系運(yùn)算符和表達(dá)式一、關(guān)系運(yùn)算符及優(yōu)先級(jí)別一、關(guān)系運(yùn)算符及優(yōu)先級(jí)別 比較兩個(gè)量的運(yùn)算符稱為關(guān)系運(yùn)算符。比較兩個(gè)量的運(yùn)算符稱為關(guān)系運(yùn)算符。 在語(yǔ)言中有以下在語(yǔ)言中有以下關(guān)系運(yùn)算符:關(guān)系
43、運(yùn)算符: 小于,小于, = 大于大于 = 大于或等于大于或等于 = 等于等于 !=!= 不等于不等于 關(guān)系運(yùn)算符的優(yōu)先級(jí):關(guān)系運(yùn)算符的優(yōu)先級(jí):(1) (1) 、=、 、=c-d x3/2 a+1(bc), a!=(c=d) 等也都是合法的關(guān)系表達(dá)式。等也都是合法的關(guān)系表達(dá)式。二、關(guān)系表達(dá)式二、關(guān)系表達(dá)式v關(guān)系運(yùn)算符和表達(dá)式關(guān)系運(yùn)算符和表達(dá)式浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)條件運(yùn)算符為條件運(yùn)算符為 ? : 它是一個(gè)三目運(yùn)算符,即有三個(gè)參與運(yùn)算它是一個(gè)三目運(yùn)算符,即有三個(gè)參與運(yùn)算
44、的量。由條件運(yùn)算符組成的量。由條件運(yùn)算符組成條件表達(dá)式的一般形式為條件表達(dá)式的一般形式為: 表達(dá)式表達(dá)式1? 表達(dá)式表達(dá)式2 :表達(dá)式表達(dá)式3 其求值規(guī)則如右圖:其求值規(guī)則如右圖:例如條件語(yǔ)句:例如條件語(yǔ)句: if(ab) max=a; else max=b; 可用條件表達(dá)式寫(xiě)為可用條件表達(dá)式寫(xiě)為 : max=(ab)?a:b; v條件運(yùn)算符和條件表達(dá)式條件運(yùn)算符和條件表達(dá)式浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)使用條件表達(dá)式時(shí),還應(yīng)注意以下幾點(diǎn):使用條件表達(dá)式時(shí),還應(yīng)注意以下幾點(diǎn)
45、: 1. 條件運(yùn)算符的運(yùn)算優(yōu)先級(jí)條件運(yùn)算符的運(yùn)算優(yōu)先級(jí) 低 于 關(guān) 系 運(yùn) 算 符 和 算 術(shù) 運(yùn) 算 符 , 高 于 賦 值 符 。低 于 關(guān) 系 運(yùn) 算 符 和 算 術(shù) 運(yùn) 算 符 , 高 于 賦 值 符 。 因 此因 此 max=(ab)?a:b可以去掉括號(hào)而寫(xiě)為可以去掉括號(hào)而寫(xiě)為 max=ab?a:b2. 條件運(yùn)算符條件運(yùn)算符? :是一對(duì)運(yùn)算符,不能分開(kāi)單獨(dú)使用。:是一對(duì)運(yùn)算符,不能分開(kāi)單獨(dú)使用。3. 條件運(yùn)算符的條件運(yùn)算符的結(jié)合方向是自右至左。結(jié)合方向是自右至左。例如:例如: ab?a:cd?c:d 應(yīng)理解為應(yīng)理解為 ab?a:(cd?c:d) 這也就是條件表達(dá)式嵌套的情形,即其中這
46、也就是條件表達(dá)式嵌套的情形,即其中的表達(dá)式的表達(dá)式3又是一個(gè)條又是一個(gè)條件表達(dá)式。件表達(dá)式。 v條件運(yùn)算符和條件表達(dá)式條件運(yùn)算符和條件表達(dá)式浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)例例main()char ch; scanf(%c,&ch); ch=(ch=A & ch=A & chb & cd等價(jià)于等價(jià)于(ab) & (cd) !b=c|da等價(jià)于等價(jià)于(!b)=c)|(dc & x+yc) & (x+y)0 & 42
47、,由于由于50為真,為真,42也為真,其結(jié)果也也為真,其結(jié)果也為為“真真”,表達(dá)式的值為,表達(dá)式的值為1。(2)或運(yùn)算)或運(yùn)算| 參與運(yùn)算的兩個(gè)量只要有一個(gè)為真(非參與運(yùn)算的兩個(gè)量只要有一個(gè)為真(非0),結(jié)果就為真),結(jié)果就為真(值為(值為1)。)。 兩個(gè)量都為假(值為兩個(gè)量都為假(值為0)時(shí),結(jié)果為假(值為)時(shí),結(jié)果為假(值為0)。)。例如:例如:50 | 58, 結(jié)果也就為真(值為結(jié)果也就為真(值為1)。)。v邏輯運(yùn)算符和表達(dá)式邏輯運(yùn)算符和表達(dá)式浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)
48、言基礎(chǔ)(3)非運(yùn)算)非運(yùn)算! 參與運(yùn)算量為真(非參與運(yùn)算量為真(非0)時(shí),結(jié)果為假(值為)時(shí),結(jié)果為假(值為0);參與運(yùn));參與運(yùn)算量為假(值為算量為假(值為0)時(shí),結(jié)果為真(值為)時(shí),結(jié)果為真(值為1)。)。 例如:例如:!(50)的結(jié)果為假(值為的結(jié)果為假(值為0)。)。 注意:注意:語(yǔ)言在邏輯運(yùn)算值時(shí),以語(yǔ)言在邏輯運(yùn)算值時(shí),以“1”代表代表“真真”,“0 ”代表代表“假假”。 在判斷一個(gè)量是為在判斷一個(gè)量是為“真真”還是為還是為“假假”時(shí),以時(shí),以“0”代表代表“假假”,以非,以非“0”的數(shù)值作為的數(shù)值作為“真真”。 例如:例如:5&3 的值為的值為“真真”,即為,即為1。 又如
49、:又如:5|0的值為的值為“真真”,即為,即為1。 v邏輯運(yùn)算符和表達(dá)式邏輯運(yùn)算符和表達(dá)式浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)二、邏輯表達(dá)式二、邏輯表達(dá)式 邏輯表達(dá)式的一般形式為:邏輯表達(dá)式的一般形式為: 表達(dá)式表達(dá)式 &或或 | 表達(dá)式表達(dá)式 !表達(dá)式!表達(dá)式 邏輯表達(dá)式的值:各種邏輯運(yùn)算的最后值,邏輯表達(dá)式的值:各種邏輯運(yùn)算的最后值, 以以“1”和和“0”分別代表分別代表“真真”和和“假假”。 例如:例如: char c=k; int i=1,j=2,k=3; pri
50、ntf(%d n, i=5&c&(j=8); printf(%d n, x+y|i+j+k); v邏輯運(yùn)算符和表達(dá)式邏輯運(yùn)算符和表達(dá)式浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)說(shuō)明說(shuō)明: 在邏輯表達(dá)式的求解中,并不是所有的邏輯運(yùn)算符都執(zhí)在邏輯表達(dá)式的求解中,并不是所有的邏輯運(yùn)算符都執(zhí)行,只有在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的值行,只有在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的值時(shí),才執(zhí)行下一個(gè)運(yùn)算符。時(shí),才執(zhí)行下一個(gè)運(yùn)算符。 (1) 表達(dá)式表達(dá)式1 &
51、表達(dá)式表達(dá)式2 a+b0 & b+ 如果:表達(dá)式如果:表達(dá)式1的值是的值是0,無(wú)論表達(dá)式,無(wú)論表達(dá)式2的值是什么,整個(gè)的值是什么,整個(gè)表達(dá)式的值都為表達(dá)式的值都為0,因此表達(dá)式,因此表達(dá)式2就不計(jì)算了。就不計(jì)算了。 (2)表達(dá)式表達(dá)式1 | 表達(dá)式表達(dá)式2 a+b0 | b+ 如果:表達(dá)式如果:表達(dá)式1的值是的值是1,無(wú)論表達(dá)式,無(wú)論表達(dá)式2的值是什么,整個(gè)的值是什么,整個(gè)表達(dá)式的值都為表達(dá)式的值都為1,因此表達(dá)式,因此表達(dá)式2就不計(jì)算了。就不計(jì)算了。v邏輯運(yùn)算符和表達(dá)式邏輯運(yùn)算符和表達(dá)式浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww
52、.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)判斷題:判斷題: 表達(dá)式表達(dá)式 !x 等價(jià)于等價(jià)于 x!=1 表達(dá)式表達(dá)式 (z=0,(x=2)|(z=1),z) 的值是的值是 1 填空題:填空題: 執(zhí)行表達(dá)式執(zhí)行表達(dá)式 (z=0,(x=2)|(z=1),z)后變量后變量z 的值是的值是 v邏輯運(yùn)算符和表達(dá)式邏輯運(yùn)算符和表達(dá)式0浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ) 選擇題選擇題1:設(shè)設(shè)x, t 均為均為int 型變量,則執(zhí)行以下語(yǔ)句后,型變量,則執(zhí)行以下語(yǔ)句后,t 的值是的
53、值是 ( ).x=10; t=x&x10;A) 不定值不定值B) 10 C) 1 D) 0 選擇題選擇題2:設(shè)設(shè)x, y, z, t 均為均為int 型變量,則執(zhí)行以下語(yǔ)句后,型變量,則執(zhí)行以下語(yǔ)句后,t 的值是的值是 ( ).x=y=z=1; t=+x|+y&+z;A) 不定值不定值B) 2 C) 1 D) 0 v邏輯運(yùn)算符和表達(dá)式邏輯運(yùn)算符和表達(dá)式 選擇題選擇題3:設(shè)有整型變量設(shè)有整型變量 a,b,c, 其中其中 a,b 的值分別為的值分別為 10 與與 20, 計(jì)算表達(dá)式計(jì)算表達(dá)式 “ “c=(a%2=0)?a:b”后后 ,c 的值為的值為_(kāi)A、 0 B、 5 C、10
54、D、20 浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)位運(yùn)算位運(yùn)算 進(jìn)行進(jìn)行二進(jìn)制位的運(yùn)算二進(jìn)制位的運(yùn)算 。 運(yùn)運(yùn) 算算 符符 含含 義義& 按位與按位與| 按位或按位或 按位異或按位異或(一目運(yùn)算符)(一目運(yùn)算符) 按位取反按位取反 右移運(yùn)算符右移運(yùn)算符v位運(yùn)算符和位運(yùn)算位運(yùn)算符和位運(yùn)算說(shuō)明:說(shuō)明: 位運(yùn)算符中除了位運(yùn)算符中除了 以外,均為二目(元)運(yùn)算符,即要以外,均為二目(元)運(yùn)算符,即要求兩側(cè)各有一個(gè)運(yùn)算量。求兩側(cè)各有一個(gè)運(yùn)算量。 高于關(guān)系運(yùn)算高于關(guān)系運(yùn)算“ ,=”,底于
55、算術(shù)運(yùn)算符,底于算術(shù)運(yùn)算符“+,-” &底于關(guān)系運(yùn)算底于關(guān)系運(yùn)算“=, !=”,高于邏輯運(yùn)算符,高于邏輯運(yùn)算符“&” 運(yùn)算量運(yùn)算量只能是整型或字符型數(shù)據(jù),不能為實(shí)型數(shù)據(jù)只能是整型或字符型數(shù)據(jù),不能為實(shí)型數(shù)據(jù) 。高高底底浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)一一 、 “按位與按位與”運(yùn)算符運(yùn)算符 (&)參與運(yùn)算的兩個(gè)數(shù)據(jù),按二進(jìn)制參與運(yùn)算的兩個(gè)數(shù)據(jù),按二進(jìn)制位位進(jìn)行進(jìn)行“與與” 運(yùn)算。運(yùn)算。 運(yùn)算規(guī)則運(yùn)算規(guī)則 : 相應(yīng)位都為相應(yīng)位都為1 時(shí),該位相與的結(jié)果為時(shí)
56、,該位相與的結(jié)果為1,否則為,否則為0,即,即 0 & 0 = 0 1 & 0 = 0 0 & 1 = 0 1 & 1 = 1 例如:例如:3 & 5 3 = 0 0 0 0 0 0 1 1 & 5 = 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 值為值為1 例如:例如: (-3) & ( -5) 先用補(bǔ)碼表示,然后運(yùn)算。先用補(bǔ)碼表示,然后運(yùn)算。(-3)= 1 1 1 1 1 1 0 1 & (-5)= 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 1v位運(yùn)算符和位運(yùn)算位運(yùn)算符和位運(yùn)算浙江科技學(xué)院
57、教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ) 用途用途 : 清零:用清零:用 0 去去“與與”某一位,使某一位,使該位清零該位清零。 如想將一個(gè)單元清零,即如想將一個(gè)單元清零,即使其全部二進(jìn)制位為使其全部二進(jìn)制位為0,只要找一個(gè)二進(jìn)制數(shù),其中各個(gè)位符合以下條件,只要找一個(gè)二進(jìn)制數(shù),其中各個(gè)位符合以下條件:原來(lái)數(shù)中為:原來(lái)數(shù)中為1 的位,新數(shù)中相應(yīng)位為的位,新數(shù)中相應(yīng)位為0,然后使二者進(jìn)行,然后使二者進(jìn)行& 運(yùn)算運(yùn)算 即可。即可。例如:使低例如:使低4 位為位為01 1 0 1 1 0 0 1
58、 & 1 1 1 1 0 0 0 01 1 0 1 0 0 0 0 低低4位為位為0 保留一個(gè)數(shù)中的某些位。用保留一個(gè)數(shù)中的某些位。用 1 去去“與與”某一位,某一位,保留該位保留該位。如:保留低如:保留低4位位1 0 1 0 1 1 0 0 & 0 0 0 0 1 1 1 10 0 0 0 1 1 0 0 保留低保留低4位位 v位運(yùn)算符和位運(yùn)算位運(yùn)算符和位運(yùn)算浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ) 保留其中某些位,將它與這些位為保留其中某些位,將它與這些位為1 的
59、數(shù)作的數(shù)作“與與”運(yùn)算。運(yùn)算。 例如:有一數(shù)例如:有一數(shù)01010100,想保留其左起的第,想保留其左起的第 3、4、5、7、8 位,位,0 1 0 1 0 1 0 0 & 0 0 1 1 1 0 1 10 0 0 1 0 0 0 0計(jì)算機(jī)中的控制字各個(gè)位表示某些設(shè)備的狀態(tài),狀態(tài)發(fā)生變計(jì)算機(jī)中的控制字各個(gè)位表示某些設(shè)備的狀態(tài),狀態(tài)發(fā)生變化,各個(gè)位通過(guò)化,各個(gè)位通過(guò)位運(yùn)算位運(yùn)算改變數(shù)值。改變數(shù)值。v位運(yùn)算符和位運(yùn)算位運(yùn)算符和位運(yùn)算浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goit.Net.Net第第1講講C語(yǔ)言基礎(chǔ)語(yǔ)言基礎(chǔ)二、二、
60、 按位或運(yùn)算符(按位或運(yùn)算符(| ) 兩個(gè)數(shù)的相應(yīng)位兩個(gè)數(shù)的相應(yīng)位按位或按位或(1) 運(yùn)算規(guī)則:運(yùn)算規(guī)則: 相應(yīng)位只要有一個(gè)為相應(yīng)位只要有一個(gè)為1 ,該位相或的結(jié)果就為,該位相或的結(jié)果就為1,否則為,否則為0 , 即即 0 | 0 = 0 1 | 0 = 1 0 | 1 = 1 1 | 1 = 1例如:例如:1 1 0 1 1 0 0 1 |0 0 0 0 1 1 1 11 1 0 1 1 1 1 1(2) 用途:用途:用用 1去與某些位去與某些位“或或”,使某些位為使某些位為 1。例如:。例如:1 1 0 1 1 0 0 1 |0 0 0 0 1 1 1 11 1 0 1 1 1 1 1 低低 4 位為位為 1 用用 0去與某些位去與某些位“或或”,保留原位保留原位。例如:上例中例如:上例中 前前4 位保留原位位保留原位v位運(yùn)算符和位運(yùn)算位運(yùn)算符和位運(yùn)算浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:浙江科技學(xué)院教信系計(jì)算機(jī)基礎(chǔ)教學(xué)網(wǎng)站:www.Goitwww.Goi
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)二級(jí)MySQL觸發(fā)器應(yīng)用案例試題及答案
- 計(jì)算機(jī)網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評(píng)估試題及答案
- 如何進(jìn)行嵌入式技術(shù)創(chuàng)新試題及答案
- 前沿嵌入式技術(shù)試題及答案
- 華能電廠缺陷管理制度
- 醫(yī)院智慧門(mén)診管理制度
- 單位合并人員管理制度
- 化工園區(qū)蒸汽管理制度
- 了解公路工程招投標(biāo)中的法律風(fēng)險(xiǎn)試題及答案
- 公司醫(yī)療器械管理制度
- 2024建筑工程施工承包人工費(fèi)合同書(shū)
- 社工招聘筆試考試試題及答案
- 四川省成都市2024年七年級(jí)下學(xué)期期末數(shù)學(xué)試題附答案
- 思辨與創(chuàng)新智慧樹(shù)知到期末考試答案章節(jié)答案2024年復(fù)旦大學(xué)
- MOOC 算法設(shè)計(jì)與分析-武漢理工大學(xué) 中國(guó)大學(xué)慕課答案
- 2023重癥血液凈化血管通路的建立與應(yīng)用中國(guó)專家共識(shí)
- 2024年廣東省網(wǎng)格員招聘理論考試復(fù)習(xí)題庫(kù)(含答案)
- 植物的植物生物技術(shù)
- 人口社會(huì)學(xué)(楊菊華 第二版) 課件 第8-14章 婚姻家庭-人口特征與民生發(fā)展
- 急性腎衰竭血液透析護(hù)理查房
- 會(huì)變色的蘋(píng)果實(shí)驗(yàn)報(bào)告
評(píng)論
0/150
提交評(píng)論