




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言程序的結(jié)構(gòu)認(rèn)識(shí)用一個(gè)簡(jiǎn)單的C程序例子,介紹c語(yǔ)言的基本構(gòu)成、格式、以及良好的書寫風(fēng)格,使小伙伴對(duì)C語(yǔ)言有個(gè)初步認(rèn)識(shí)。例1 :計(jì)算兩個(gè)整數(shù)之和的c程序:#include main() int a,b,sum; /*定義變量a,b ,sum為整型變量*/ a=20; /*把整數(shù)20賦值給整型變量a7 b=15; /*把 整 數(shù)15賦值給整型變量b*/ sum=a+b; /*把兩個(gè)數(shù)之和賦值給整型變量sum7printf( " a=%d,b=%d,sum=%dnM ,a,b,sum);/* 把計(jì)算結(jié)果輸出到顯示屏上 7重點(diǎn)說(shuō)明:1、任何一個(gè)c語(yǔ)言程序都必須包括以下格式:main()
2、這是c語(yǔ)言的基本結(jié)構(gòu),任何一個(gè)程序都必須包含這個(gè)結(jié)構(gòu)。括號(hào)內(nèi)可以不寫任何內(nèi)容,那么該程序?qū)⒉粓?zhí)行任何結(jié)果。2、main()-在c語(yǔ)言中稱之為“主函數(shù)”,一個(gè)c程序有且僅有一個(gè)main函數(shù),任何一個(gè)c程序總是從 main函數(shù)開(kāi)始執(zhí)行,main函數(shù)后面的一對(duì)圓括號(hào)不能省略。3、被大括號(hào)括起來(lái)的內(nèi)容稱為main函數(shù)的函數(shù)體,這部分內(nèi)容就是計(jì)算機(jī)要執(zhí)行的內(nèi)容。4、在里面每一句話后面都有一個(gè)分號(hào)(;),在c語(yǔ)言中,我們把以一個(gè)分號(hào)結(jié)尾的一句話叫做一個(gè)c語(yǔ)言的語(yǔ)句,分號(hào)是語(yǔ)句結(jié)束的標(biāo)志。5、printf( " a=%d,b=%d,sum=%dn” ,a,b,sum);通過(guò)執(zhí)行這條c語(yǔ)言系統(tǒng)提供給
3、我們直接使用的屏幕輸出 函數(shù),用戶即可看到運(yùn)行結(jié)果,本程序運(yùn)行后,將在顯示器上顯示如下結(jié)果:a=20,b=15,sum=356、#include注意:(1)以#號(hào)開(kāi)頭(2)不以分號(hào)結(jié)尾這一行沒(méi)有分號(hào),所以不是語(yǔ)句,在c語(yǔ)言中稱之為命令行,或者叫做“預(yù)編譯處理 命令”。7、程序中以/*開(kāi)頭并且以上/結(jié)尾的部分表示程序的注釋部分,注釋可以添加在程序的任何位置,為了提高程序的可讀性而添 加,但計(jì)算機(jī)在執(zhí)行主函數(shù)內(nèi)容時(shí)完全忽略注釋部分,換而言之就是計(jì)算機(jī)當(dāng)做注釋部分不存在于主函數(shù)中。C程序的生成過(guò)程C程序是先由源文件經(jīng)編譯生成目標(biāo)文件,然后經(jīng)過(guò)連接生成可執(zhí)行文件。源程序的擴(kuò)展名為.C,目標(biāo)程序的擴(kuò)展名
4、為.obj,可執(zhí)行程序的擴(kuò)展名為.exe。標(biāo)識(shí)符在編寫程序時(shí),必須為函數(shù)、變量等命名,這個(gè)名字稱為標(biāo)識(shí)符。C語(yǔ)言中標(biāo)識(shí)符的命名規(guī)則如下:標(biāo)識(shí)符只能由字母、數(shù)字、下劃線組成; 標(biāo)識(shí)符的第一個(gè)字母必須是字母和下劃線;標(biāo)識(shí)符區(qū)分大小寫字母,如If和if是兩個(gè)完全不同的標(biāo)識(shí)符。合法標(biāo)識(shí)符如下:A6, b_3 , _mn非法的標(biāo)識(shí)符如下:ab#12,8m , tr3:4 , yes no標(biāo)識(shí)符不能與程序中具有特殊意義的關(guān)鍵字相同,不能與用戶編制的函數(shù)名、C語(yǔ)言庫(kù)函數(shù)相同,在程序中各種標(biāo)識(shí)符盡量不 要重復(fù),以便區(qū)分。選擇變量名和其他標(biāo)識(shí)符時(shí),應(yīng)注意做到“見(jiàn)名知義”。標(biāo)識(shí)符分為如下三類:1、關(guān)鍵字關(guān)鍵字是具
5、有特定含義的,專門用來(lái)說(shuō)明c語(yǔ)言特定成分的一類標(biāo)識(shí)符,不能用作用戶的標(biāo)識(shí)符。auto break case char union do double else enum extern goto if int long short signed static sizof struct switch unsigned void for while typedef continue float return typedef default2、預(yù)定義標(biāo)識(shí)符預(yù)定義標(biāo)識(shí)符在c語(yǔ)言中也有特定的含義,但可以用作用戶標(biāo)識(shí)符,預(yù)定義標(biāo)識(shí)符分為兩類:(1)、庫(kù)函數(shù)名字,比如(printf ,scant,sin,is
6、digit 等)(2)、編譯處理命令名,比如(define,include )3、用戶標(biāo)識(shí)符用戶根據(jù)需要自己定義的標(biāo)識(shí)符稱為用戶標(biāo)識(shí)符。無(wú)論如何自定義標(biāo)識(shí)符,都必須符合標(biāo)識(shí)符的三條命名規(guī)則。常量在程序運(yùn)行中,其值不能被改變的量稱為常量。常量有5種類型:整型常量、實(shí)型常量、字符常量、字符串常量和符號(hào)常量。(一)數(shù)值轉(zhuǎn)換數(shù)字的四種表現(xiàn)形式:二進(jìn)制:所有數(shù)字由0,1構(gòu)成,逢二進(jìn)一,二進(jìn)制數(shù)中不會(huì)出現(xiàn)2.o例:八進(jìn)制:以數(shù)字0 (注意不是以字母0,0)開(kāi)頭,所有數(shù)字由0-7構(gòu)成,逢八進(jìn)一,八進(jìn)制數(shù)中不會(huì)出現(xiàn)8。例:0112,0123,077等:十進(jìn)制:所有數(shù)字由。9構(gòu)成,逢十進(jìn)一,十進(jìn)制數(shù)中不會(huì)出現(xiàn)1
7、0。例:0,12,-15等:十六進(jìn)制:以O(shè)x或者0X (數(shù)字0加字母x)開(kāi)頭,所有數(shù)字由09,AF (或者af)構(gòu)成,逢十六進(jìn)一(其中A、B、C、 D、E、F分別代表 10、11、12、13、14、15)例:0x4A、0X14c7等在計(jì)算機(jī)內(nèi)部,數(shù)字均以二進(jìn)制形式表示和存放,用戶輸入的普通十進(jìn)制數(shù)字都要被計(jì)算機(jī)轉(zhuǎn)換成二進(jìn)制才能在計(jì)算機(jī)內(nèi)部存 儲(chǔ),同樣計(jì)算機(jī)的運(yùn)算結(jié)果也為二進(jìn)制,一般要將其轉(zhuǎn)換成十進(jìn)制數(shù)再輸出給用戶閱讀,這種轉(zhuǎn)換通常由計(jì)算機(jī)自動(dòng)實(shí)現(xiàn)。(1)將十進(jìn)制轉(zhuǎn)換二進(jìn)制、八進(jìn)制和十六進(jìn)制 除法:將十進(jìn)制數(shù)除以2,記錄余數(shù),得到的商繼續(xù)除以2,直到商為0,然后將各次相處所得的余數(shù)從后往前逆序排
8、列,所 得余數(shù)數(shù)字序列就是該十進(jìn)制數(shù)對(duì)應(yīng)的二進(jìn)制數(shù)。八進(jìn)制和十六進(jìn)制轉(zhuǎn)換方法同上。例:十進(jìn)制數(shù)13轉(zhuǎn)換成二進(jìn)制數(shù)的值為1101,轉(zhuǎn)換八進(jìn)制為015,轉(zhuǎn)換成十六進(jìn)制為D.(2)將二進(jìn)制、八進(jìn)制和十六進(jìn)制轉(zhuǎn)換成十進(jìn)制乘積求和:將二進(jìn)制的每一位從低位到高位(右邊為低位,左邊為高位)分別乘以20,21,22 o o o o ,然后將這些積求和。例如:=(13) 10 (317) 8= ( 23E) 16=(3)二進(jìn)制與八進(jìn)制、十六進(jìn)制數(shù)之間的相互轉(zhuǎn)換:二進(jìn)制轉(zhuǎn)八進(jìn)制:從右往左每三位一組轉(zhuǎn)換成十進(jìn)制數(shù),將所得數(shù)據(jù)組合就是對(duì)應(yīng)的八進(jìn)制數(shù)(注意:高位不足三位補(bǔ) 零)。例:(010 110 111 ) 2=
9、(267) 8:二進(jìn)制轉(zhuǎn)十六進(jìn)制:從右往左每四位一組轉(zhuǎn)換成十進(jìn)制數(shù),將所得數(shù)據(jù)組合就 是對(duì)應(yīng)的十六進(jìn)制數(shù)(注意:高位不足四位補(bǔ)零)。例:(0101 1011) 2= (5B) 16:八進(jìn)制轉(zhuǎn)化二進(jìn)制:每一位數(shù)字 轉(zhuǎn)換為三位二進(jìn)制數(shù)字例:(13) 8= (001 011) 2=(注意:去掉前面的兩個(gè)00,因?yàn)?。在高位沒(méi)有意義):十六進(jìn)制轉(zhuǎn)化二進(jìn)制:每一位數(shù)字轉(zhuǎn)換為四位二進(jìn)制數(shù)字例:(E3) 16= (1110 0011) 2(二)整型常量整型常量有3種形式:十進(jìn)制整型常量、八進(jìn)制整型常量和十六進(jìn)制整型常量。(注意:c語(yǔ)言中沒(méi)有直接表示二進(jìn)制的整型常量,在c語(yǔ)言源程序中不會(huì)出現(xiàn)二進(jìn)制。)書寫方式如
10、下:十進(jìn)制整型常量:123,0-24,85L (長(zhǎng)整型常量)等八進(jìn)制整型常量:051,-026,0773等十六進(jìn)制整型常量:0x55,0x1101 , Ox , 0x5AC0 , -OxFF o 其中 L 為長(zhǎng)整型。三)實(shí)型常量實(shí)型常量有兩種表示形式:小數(shù)形式和指數(shù)形式。小數(shù)形式:5.4 0.074 -23.0 指數(shù)形式:5.4e0 4.3e-3 -3.3e4(1 )小數(shù)部分為0的實(shí)型常量,可以寫為453.0或453。 ( 2 )用小數(shù)表示時(shí),小數(shù)點(diǎn)的兩邊必須有數(shù),不能寫成” .453 ”和” 453. “,而應(yīng)該寫成“ 0.453 ”和” 453.0 “。 (3)用指數(shù)寫法時(shí),e前必須有數(shù)字
11、,e后面的指數(shù)必須為 整數(shù)(注意:整數(shù)階碼可以是正數(shù),負(fù)數(shù),也可以是八進(jìn)制數(shù)、十六進(jìn)制數(shù),但必須為整數(shù))。(四)字符常量字符常量的標(biāo)志是一對(duì)單引號(hào),c語(yǔ)言中的字符常量有兩類:(1)由一對(duì)單引號(hào)括起來(lái)的一個(gè)字符,如 a' 小。注意:"a 和'A '是兩個(gè)不同的字符常量。(2)由一對(duì)單引號(hào)括起來(lái),以反斜杠開(kāi)頭,后跟若干數(shù)字或者字母,比如n,其中“ “是轉(zhuǎn)義的意思,后面跟不同的字符表示不同的意思,這類字符常量叫轉(zhuǎn)義字符。具體如圖所示。轉(zhuǎn)義字符轉(zhuǎn)義字符的意義ASCII碼n回車換行10 t橫向跳到下一制表位置9 b退格8 r回車13 f走紙換頁(yè)12 反斜線符92 V單引
12、號(hào)符"雙引號(hào)符34 a鳴鈴7ddd 13位八進(jìn)制數(shù)所代表的字符xhh 12位十六進(jìn)制數(shù)所代表的字符(五)字符串常量C語(yǔ)言中,以雙引號(hào)括起來(lái)的,由若干個(gè)字符組成的序列即為字符串常量。例:"ni hao ”“ happy ” 等等。(六)符號(hào)常量符號(hào)常量是由宏定義“ #define "定義的常量,在C程序中可用標(biāo)識(shí)符代表一個(gè)常量。例:計(jì)算圓的面積的c程序。#include #define PI 3. main () float r » s; r=12.5; S=PI *r*r; printf ( "s= %f ” ,s) ;說(shuō)明:#define是宏
13、定義,此程序中所有出現(xiàn)PI的地方都代表3.,同時(shí)PI稱為符號(hào)常量。習(xí)慣上我們用大寫字母來(lái)表示符號(hào)常 量,小寫字母表示變量,這樣比較容易區(qū)別。變量變量就是其值可以改變的量。變量要有變量名,在內(nèi)存中占據(jù)一定的存儲(chǔ)單元,存儲(chǔ)單元里存放的是該變量的值。不同類型 的變量其存儲(chǔ)單元的大小不同,變量在使用前必須定義。(一)整型變量整型變量分為4種:基本型(int)、短整型(short int或short)、長(zhǎng)整型(long int或long)和無(wú)符號(hào)型(unsigned int , unsigned short,unsigned long)。不同的編譯系統(tǒng)對(duì)上述四種整型數(shù)據(jù)所占用的位數(shù)和數(shù)值范圍有不同的規(guī)定
14、。類型說(shuō)明符單詞signed來(lái)說(shuō)明“有符號(hào)”(即有正負(fù)數(shù)之分),不寫signed也隱含說(shuō)明為有符號(hào),unsigned用來(lái)說(shuō)明“無(wú)符號(hào)”(只 表示正數(shù))。(二)實(shí)型變量c語(yǔ)言中,實(shí)型變量分為單精度類型(float)和雙精度類型(double )兩種。如:float a , b ; double m ;在vc中,float型數(shù)據(jù)在內(nèi)存中占4個(gè)字節(jié)(32位),double型數(shù)據(jù)占8個(gè)字節(jié)。單精度實(shí)數(shù)提供7位有效數(shù)字,雙精度 實(shí)數(shù)提供1516位有效數(shù)字。實(shí)型常量不分float型和double型,一個(gè)實(shí)型常量可以賦給一個(gè)float型或double型變 量,但變量根據(jù)其類型截取實(shí)型常量中相應(yīng)的有效數(shù)字。注
15、意:實(shí)型變量只能存放實(shí)型值,不能用整型變量存放實(shí)型值,也不能用實(shí)型變量存放整型值。(三)字符變量字符變量用來(lái)存放字符常量,定義形式:char變量名;其中關(guān)鍵字char定義字符型數(shù)據(jù)類型,占用一個(gè)字節(jié)的存儲(chǔ)單元。例:char cr1,cr2;cr1= * A* , cr2= * B'將一個(gè)字符賦給一個(gè)字符變量時(shí),并不是將該字符本身存儲(chǔ)到內(nèi)存中,而是將該字符對(duì)應(yīng)的ASCII碼存儲(chǔ)到內(nèi)存單元中。例如,字符'A '的ASCII碼為65,在內(nèi)存中的存放形式如下:0由于在內(nèi)存中字符以ASCII碼存放,它的存儲(chǔ)形式和整數(shù)的存儲(chǔ)形式類似,所以C語(yǔ)言中字符型數(shù)據(jù)與整型數(shù)據(jù)之間可以通用,一
16、個(gè)字符能用字符的形式輸出,也能用整數(shù)的形式輸出,字符數(shù)據(jù)也能進(jìn)行算術(shù)運(yùn)算,此時(shí)相當(dāng)于對(duì)它 們的ASCII碼進(jìn)行運(yùn)算。類型的自動(dòng)轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換當(dāng)同一表達(dá)式中各數(shù)據(jù)的類型不同時(shí),編譯程序會(huì)自動(dòng)把它們轉(zhuǎn)變成同一類型后再進(jìn)行計(jì)算。轉(zhuǎn)換 優(yōu)先級(jí)為:char < int < float < double即左邊級(jí)別“低”的類型向右邊轉(zhuǎn)換。具體地說(shuō),若在表達(dá)式中優(yōu)先級(jí)最高的數(shù)據(jù)是double型,則此表達(dá)式中的其他數(shù)據(jù)均 被轉(zhuǎn)換成double型,且計(jì)算結(jié)果也是double型;若在表達(dá)式中優(yōu)先級(jí)最高的數(shù)據(jù)是float型,則此表達(dá)式中的其他數(shù)據(jù)均被 轉(zhuǎn)換成float型,且計(jì)算結(jié)果也是float型。
17、在做賦值運(yùn)算時(shí),若賦值號(hào)左右兩邊的類型不同,則賦值號(hào)右邊的類型向左邊的類型轉(zhuǎn)換;當(dāng)右邊的類型高于左邊的類型時(shí), 則在轉(zhuǎn)換時(shí)對(duì)右邊的數(shù)據(jù)進(jìn)行截取。除自動(dòng)轉(zhuǎn)換外,還有強(qiáng)制轉(zhuǎn)換,表示形式是:(類型)(表達(dá)式);例:(int)(a+b)討論:當(dāng)a值賦值為3.4,6值賦值為2.7,( int)(a+b)和(int)a+b的值分別為多少?C運(yùn)算符認(rèn)識(shí)c語(yǔ)言的運(yùn)算符范圍很廣,可分為以下幾類:、算術(shù)運(yùn)算符:用于各類數(shù)值運(yùn)算。包括加(+)、減、乘(*)、除(/)、求余()、自增(+)、自減(-)共七種。、貝武值運(yùn)算符:用于賦值運(yùn)算,分為簡(jiǎn)單賦值(=)、復(fù)合算術(shù)賦值(+=,-=,*=,/=,%=)和復(fù)合位運(yùn)算賦值
18、(&=,>>=<=)三類共十一種。V="“ span="”>、逗號(hào)運(yùn)算符:用于把若干表達(dá)式組合成一個(gè)表達(dá)式(,)。、關(guān)系運(yùn)算符:用于比較運(yùn)算。包括大于(>)、小于(<)' 等于(=)、大于等于(="">=)、小于等于(v=)和不等于(!=)六種。<="' span=u,>、邏輯運(yùn)算符:用于邏輯運(yùn)算。包括與(&&)、或(|)、非(!)三種。、條件運(yùn)算符:這是一個(gè)三目運(yùn)算符,用于條件求值(?:)。、位操作運(yùn)算符:參與運(yùn)算的量,按二進(jìn)制位進(jìn)行運(yùn)算。包括位與(
19、&)、位或(I)、位非()、位異或(八)、左移(«) '右移(>>)六種。8、指針運(yùn)算符:用于取內(nèi)容(*)和取地址(&)二種運(yùn)算。9、求字節(jié)數(shù)運(yùn)算符:用于計(jì)算數(shù)據(jù)類型所占的字節(jié)數(shù)(sizeof)。10、特殊運(yùn)算符有括號(hào)(),下標(biāo),成員(一,.)等幾種。另外,按參與運(yùn)算的對(duì)象個(gè)數(shù),C語(yǔ)言運(yùn)算符可分為:?jiǎn)文窟\(yùn)算符(如!)、雙目運(yùn)算符(如+,)和三目運(yùn)算符 (如?:)。算術(shù)運(yùn)算符和算術(shù)表達(dá)式一、基本的算術(shù)運(yùn)算符(D + (加法運(yùn)算符或正值運(yùn)算符,如2+5 )。(2) (減法運(yùn)算符或負(fù)值運(yùn)算符,如4-2)。(3) * (乘法運(yùn)算符,如3*8)。(4)/ (
20、除法運(yùn)算符,如11/5)。/的運(yùn)算分為兩種情況:a、“除”的左右兩邊都為整數(shù)時(shí),所得結(jié)果必然是整數(shù)(注意:僅取整數(shù)部分,不是四舍五人)比如:5/2的值為2,不是2.5,1/2的值為0。b、“除”的左右兩邊至少有一個(gè)是實(shí)型數(shù)據(jù)(即小數(shù))時(shí),所得結(jié)果為實(shí)型數(shù)據(jù)。(5) % (模運(yùn)算符或稱求余運(yùn)算符,兩側(cè)均應(yīng)為整型數(shù)據(jù),如9%7的值為2) 需要說(shuō)明的是:當(dāng)運(yùn)算對(duì)象為負(fù)數(shù)時(shí),所得結(jié)果隨編譯器不同而不同,在vc中,結(jié)果的符號(hào)與被除數(shù)相同,比如:13%- 2值為1,而15%2值為-1。二、算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合性算術(shù)表達(dá)式是用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算量(也稱操作數(shù))連接起來(lái)的、符合C語(yǔ)言語(yǔ)法規(guī)則的
21、表達(dá)式。運(yùn)算對(duì)象包括函數(shù)、常量和變量等。在計(jì)算機(jī)語(yǔ)言中,算術(shù)表達(dá)式的求值規(guī)律與數(shù)學(xué)中的四則運(yùn)算的規(guī)律類似,其運(yùn)算規(guī)則和要求如下。(1)在算術(shù)表達(dá)式中,可使用多層圓括號(hào),但括號(hào)必須配對(duì)。運(yùn)算時(shí)從內(nèi)層圓括號(hào)開(kāi)始,由內(nèi)向外依次計(jì)算各表達(dá)式的值。(2)在算術(shù)表達(dá)式中,對(duì)于不同優(yōu)先級(jí)的運(yùn)算符,可按運(yùn)算符的優(yōu)先級(jí)由高到低進(jìn)行運(yùn)算,若表達(dá)式中運(yùn)算符的優(yōu)先級(jí)相同, 則按運(yùn)算符的結(jié)合方向進(jìn)行運(yùn)算。3)如果一個(gè)運(yùn)算符兩側(cè)的操作數(shù)類型不同,則先利用自動(dòng)轉(zhuǎn)換或強(qiáng)制類型轉(zhuǎn)換,使兩者具有相同類型,然后進(jìn)行運(yùn)算。三、自增自減運(yùn)算符作用:使變量的值增1或減1。如:+i , .J (在使用i之前,先使i的值加1、減1)。i+,
22、i(在使用i之后,使i的值加1、減1)。(1)只有變量才能用自增運(yùn)算符(+)和自減運(yùn)算符(-),而常量或表達(dá)式不能用,如10+或(x+y) +都是不合法的。(2) +和一的結(jié)合方向是“自右向左“,如 -i+,i的左邊是負(fù)號(hào)運(yùn)算符,右邊是自增運(yùn)算符,負(fù)號(hào)運(yùn)算和自增運(yùn)算都是“自右向左”結(jié)合的,相當(dāng)于(i+)。在循環(huán)語(yǔ)句中常用到自增(減)運(yùn)算符,在指針中也常用到該運(yùn)算符,考生要弄清楚“i+”和“+i”及牛-”和“-i” 的區(qū)別,特別弄清楚表達(dá)式的值和變量的值。賦值運(yùn)算符與賦值表達(dá)式一、賦值運(yùn)算符與賦值表達(dá)式賦值符號(hào)"=“就是賦值運(yùn)算符,作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量或?qū)⒁粋€(gè)變量的值賦給另一個(gè)
23、變量,由賦值運(yùn)算符組成的表 達(dá)式稱為賺值表達(dá)式。一般形式為:變量名=表達(dá)式在程序中可以多次給一個(gè)變量賦值,每賦一次值,與它相應(yīng)的存儲(chǔ)單元中的數(shù)據(jù)就被更新一次,內(nèi)存中當(dāng)前的數(shù)據(jù)就是最后一 次所賦值的那個(gè)數(shù)據(jù)。例:a=12;此表達(dá)式讀作“將10的值賦值給變量a”a、如果賦值號(hào)兩邊的運(yùn)算對(duì)象類型不一致,系統(tǒng)會(huì)自動(dòng)進(jìn)行類型轉(zhuǎn)換,轉(zhuǎn)換的規(guī)則:將賦值號(hào)右邊表達(dá)式的值的類型轉(zhuǎn)換成賦值號(hào)左邊變量的類型,例:int y=3.5 ;在變量y中最終存儲(chǔ)的是整數(shù)3。b、可以將復(fù)制表達(dá)式的值再賦值給變量,形成連續(xù)賦值。例如:x=y=25是一個(gè)連續(xù)賦值表達(dá)式,x=y=25等價(jià)于x= ( y=25),所以表達(dá)式x=y=25
24、最終的值為25。二、復(fù)合的賦值運(yùn)算符在賦值運(yùn)算符之前加上其他運(yùn)算符可以構(gòu)成復(fù)合時(shí)值運(yùn)算符。其中與算術(shù)運(yùn)算有關(guān)的復(fù)合運(yùn)算符是:+=,*=,/=,%=。兩個(gè)符號(hào)之間不可以有空格,復(fù)合賦值運(yùn)算符的優(yōu)先級(jí)與賦值運(yùn)算符的相同。表達(dá)式n+=1等價(jià)于 n=n+1,作用是取變量n中的值增1再賦給變量n,其他復(fù)合的賦值運(yùn)算符的運(yùn)算規(guī)則依次類推。如求表達(dá)a+=a-=a*a的值,其中a的初值為12。步驟:(1)先進(jìn)行 “ a-=a*a " 運(yùn)算,相當(dāng)于 a=a-a*a=12-144=-132。(2)再進(jìn)行 “a+=-132 "運(yùn)算,相當(dāng)于 a=a+(-132)=- 264。逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式
25、在c語(yǔ)言中,逗號(hào)除了作為分隔符,還可以用作一種運(yùn)算符 逗號(hào)運(yùn)算符,用逗號(hào)運(yùn)算符將幾個(gè)表達(dá)式連接起來(lái),例如a=b+c,a=b*c等稱為逗號(hào)表達(dá)式。一般形式為:表達(dá)式1,表達(dá)式2,表達(dá)式3,表達(dá)式n例:x=2,y=3,z=4逗號(hào)表達(dá)式具有從左至右的結(jié)合性,即先求解表達(dá)式1,然后依次求解表達(dá)式2,直到表達(dá)式n的值。表達(dá)式n的值就是整 個(gè)逗號(hào)表達(dá)式的值。上述的逗號(hào)表達(dá)式的值就是表達(dá)式z=4的值4.需要注意的是,逗號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的。例:有如下程序段:main() int a=2,b=4,c=6,x,y; y=(x=a+b),(b+c); printf("y=%d,x=%d
26、9;,y,x);程序顯示結(jié)果為:y=6,x=6討論:將 y=(x=a+b),(b+c);改為 y=(x=a+b),b+c)的程序結(jié)果?關(guān)系運(yùn)算符和關(guān)系表達(dá)式-、c語(yǔ)言中的邏輯值c語(yǔ)言中的邏輯值只有兩個(gè):真(true)和假(flase)。用非零代表真,用零代表假。因此,對(duì)于任意一個(gè)表達(dá)式,如果它的值 為零,就代表一個(gè)假值,如果它的值為非零,就代表一個(gè)真值。只要值不是零,不管是正數(shù),負(fù)數(shù),整數(shù),實(shí)數(shù),都代表一個(gè) 真值。例如-5的邏輯值為真。二、邏輯表達(dá)式“&&”和“ II ”的運(yùn)算對(duì)象有兩個(gè),故它們都是雙目運(yùn)算符,而!的運(yùn)算對(duì)象只有一個(gè),因此它是單目運(yùn)算符。邏輯運(yùn)算舉例 如下:1)
27、a&&b:當(dāng)&&兩邊都為“真”時(shí),表達(dá)式a&&b的值才是真。值得注意的是:在數(shù)學(xué)中,關(guān)系式0(2) a|b:當(dāng)|兩邊有一個(gè)為“真”時(shí),表達(dá)式a|b的值就是真。(3) !a:表示取反,如果a為真,則!A為假,反之亦然。例如!5的值就為0.在C語(yǔ)言中,由&&或|組成的邏輯表達(dá)式,在某些特定情況下會(huì)產(chǎn)生“短路”現(xiàn)象。(1) x && y && z,只有當(dāng)x為真(非0 )時(shí),才需要判別y的值;只有x和y都為真時(shí),才需要去判別z的值;只要x為 假就不必判別y和z,整個(gè)表達(dá)式的值為0??谠E:“一假必假”。例:(! 5=1) && ( +i=0) ( ! 5=1)表達(dá)式的值為0,所以計(jì)算機(jī)運(yùn)行中就跳過(guò)(+i=0)此表達(dá)式,(! 5=1) && ( +i=0)表達(dá)式的值為0.(2) x|y|z,只要x的值為真(非零),就不必判別y和z的
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 租房子合同續(xù)約協(xié)議書
- 農(nóng)場(chǎng)合同續(xù)簽協(xié)議書
- 2025中外合資合同范本
- 買賣合同協(xié)議書手寫圖片
- 租房用電安全合同協(xié)議書
- oracle運(yùn)維工程師面試題及答案
- 2025瑞豐集合信托產(chǎn)品合同
- 深海知識(shí)測(cè)試題及答案
- java算法面試題及答案思想
- 2025年社工師資格考試試題及答案總結(jié)
- 基于《山海經(jīng)》神祇形象的青少年解壓文具設(shè)計(jì)研究
- 教育與美好人生知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋鄭州師范學(xué)院
- DB15T 3727-2024溫拌再生瀝青混合料超薄磨耗層碳排放核算技術(shù)規(guī)程
- 2025年新高考?xì)v史預(yù)測(cè)模擬試卷黑吉遼蒙卷(含答案解析)
- 傳染病疫情報(bào)告制度及報(bào)告流程
- DBJ50-T -212-2015 機(jī)制排煙氣道系統(tǒng)應(yīng)用技術(shù)規(guī)程
- 世界讀書日主題班會(huì)模板5
- 水庫(kù)建設(shè)投資估算與資金籌措
- 金屬雕花板保溫施工方案
- 涉密計(jì)算機(jī)保密培訓(xùn)
- T-GXAS 767-2024 尿液中汞的測(cè)定 氫化物發(fā)生原子熒光法
評(píng)論
0/150
提交評(píng)論