程序設(shè)計(jì)語(yǔ)言課件c漁第二章_第1頁(yè)
程序設(shè)計(jì)語(yǔ)言課件c漁第二章_第2頁(yè)
程序設(shè)計(jì)語(yǔ)言課件c漁第二章_第3頁(yè)
程序設(shè)計(jì)語(yǔ)言課件c漁第二章_第4頁(yè)
程序設(shè)計(jì)語(yǔ)言課件c漁第二章_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余45頁(yè)可下載查看

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

C語(yǔ)言程序設(shè)計(jì)

第二章主講人:周恒艷合肥信息技術(shù)職業(yè)學(xué)院2.1c語(yǔ)言的詞法記號(hào)關(guān)鍵字標(biāo)識(shí)符常量運(yùn)算符分隔符

#include<stdio.h>main(){inta,b,sum;a=123;b=456;sum=a+b;printf(“sum=%d\n”,sum);}舉例關(guān)鍵字標(biāo)識(shí)符數(shù)字常量分隔符運(yùn)算符一、符號(hào)集二、標(biāo)識(shí)符三、關(guān)鍵字也稱(chēng)為“保留字”它是c語(yǔ)言當(dāng)中具有特定含義、專(zhuān)門(mén)用作語(yǔ)言特定成分的一類(lèi)標(biāo)識(shí)符。

ANSI推薦的C語(yǔ)言的關(guān)鍵字共是32個(gè)注意:所有的關(guān)鍵字都具有固定的意義,不能再用作其他。所有的關(guān)鍵字都必須小寫(xiě)。如:else與ELSE表示不同的含義。

else是關(guān)鍵字,ELSE是用戶(hù)定義的標(biāo)識(shí)符。2.2C語(yǔ)言中允許使用的數(shù)據(jù)類(lèi)型`數(shù)據(jù)類(lèi)型基本類(lèi)型構(gòu)造類(lèi)型指針類(lèi)型空類(lèi)型整型(short、int、long)實(shí)型(float(單精度)、double(雙精度)

字符(char)

枚舉(enum)數(shù)組類(lèi)型結(jié)構(gòu)體類(lèi)型(struct)共用體類(lèi)型(union)文件類(lèi)型(file)數(shù)鋸類(lèi)型2.2.1整型數(shù)據(jù)2.4.1整型變量

1.分類(lèi)

根據(jù)占用內(nèi)存字節(jié)數(shù)的不同,整型變量又分為4類(lèi):(1)基本整型(類(lèi)型關(guān)鍵字為int(16))。(2)短整型(類(lèi)型關(guān)鍵字為short[int](16))。(3)長(zhǎng)整型(類(lèi)型關(guān)鍵字為long[int](32))。(4)無(wú)符號(hào)整型。無(wú)符號(hào)型又分為無(wú)符號(hào)基本整型(unsigned[int])、無(wú)符號(hào)短整型(unsignedshort)和無(wú)符號(hào)長(zhǎng)整型(unsignedlong)三種,只能用來(lái)存儲(chǔ)無(wú)符號(hào)整數(shù)。2.占用內(nèi)存字節(jié)數(shù)與值域

上述各類(lèi)型整型變量占用的內(nèi)存字節(jié)數(shù),隨系統(tǒng)而異。在16位操作系統(tǒng)中,一般用2字節(jié)表示一個(gè)int型變量,且long型(4字節(jié))≥int型(2字節(jié))≥short型(2字節(jié))。顯然,不同類(lèi)型的整型變量,其值域不同。占用內(nèi)存字節(jié)數(shù)為n的(有符號(hào))整型變量,其值域?yàn)椋?2n*8-1~(2n*8-1-1);無(wú)符號(hào)整型變量的值域?yàn)椋?~(2n*8-1)。

例如,PC機(jī)中的一個(gè)int型變量,其值域?yàn)?22*8-1~(22*8-1-1),即-32768~32767;一個(gè)unsigned型變量的值域?yàn)椋?~(22*8-1),即0~65535。2.2.2&2.2.3浮點(diǎn)型2.2.2浮點(diǎn)型用來(lái)表示實(shí)型變量

C語(yǔ)言的實(shí)型變量,分為兩種:

(1)單精度型。類(lèi)型關(guān)鍵字為float,一般占4字節(jié)(32位)、提供7位有效數(shù)字。

(2)雙精度型。類(lèi)型關(guān)鍵字為double,一般占8?jìng)€(gè)字節(jié)、提供15~16位有效數(shù)字。

2.2.3字符型

1.表示形式:用char來(lái)標(biāo)識(shí)。一般用八位來(lái)存放一個(gè)字符,實(shí)際上存放的是ASCII碼值,可以把字符看做一種特殊的整型,那么字符和整型之間可以換用。2.3常量和變量常量:在程序運(yùn)行過(guò)程中不能被改變的量。包括整型常量、浮點(diǎn)型常量、字符型常量、字符串常量、符號(hào)常量。1.整型常量:整型常量即整常數(shù),在C語(yǔ)言中可用三種形式表示:(1)十進(jìn)制。例如10、36。(2)八進(jìn)制(以數(shù)字0開(kāi)頭)。例如012。(3)十六進(jìn)制(以數(shù)字0+字母x開(kāi)頭)。例如0x36在整型常量后面跟有L時(shí),表示是長(zhǎng)整型常量。2.3常量和變量常量:在程序運(yùn)行過(guò)程中不能被改變的量。包括整型常量、浮點(diǎn)型常量、字符型常量、字符串常量、符號(hào)常量。符號(hào)常量:用一個(gè)標(biāo)識(shí)符代表的一個(gè)常量。定義方法:#define標(biāo)識(shí)符常量1.整型常量:整型常量即整常數(shù),在C語(yǔ)言中可用三種形式表示:(1)十進(jìn)制。例如10、36。(2)八進(jìn)制(以數(shù)字0開(kāi)頭)。例如012。(3)十六進(jìn)制(以數(shù)字0+字母x開(kāi)頭)。例如0x36在整型常量后面跟有L時(shí),表示是長(zhǎng)整型常量。2實(shí)型常量

1.表示形式

實(shí)型常量即實(shí)數(shù),在C語(yǔ)言中又稱(chēng)浮點(diǎn)數(shù),其值有兩種表達(dá)形式。(1)十進(jìn)制形式。例如3.14、9.8。(2)指數(shù)形式:<尾數(shù)>E(e)<整型指數(shù)>。例如3.0E+5等。

注意:E前必須有數(shù)字,E后必須為整數(shù)。

2.關(guān)于類(lèi)型

實(shí)型常量不分float型和double型。一個(gè)實(shí)型常量,可以賦給一個(gè)實(shí)型變量(float型或double型)。3字符型數(shù)據(jù)字符常量1.字符常量的定義用一對(duì)單引號(hào)括起來(lái)的單個(gè)字符,稱(chēng)為字符常量。其值就是ASCII碼值。例如,‘A’、‘1’、‘+’等。2.轉(zhuǎn)義字符 C語(yǔ)言還允許使用一種特殊形式的字符常量,就是以反斜杠“\”開(kāi)頭的轉(zhuǎn)義字符。

注意:如果反斜杠或單引號(hào)本身作為字符常量,必須使用轉(zhuǎn)義字符:‘\\’、‘\’‘。[案例2.1]用轉(zhuǎn)義字符輸出可打印字符和不可打印字符。

/*案例代碼文件名:AL2_1.C*/

/*程序功能:用轉(zhuǎn)義字符輸出可打印字符和不可打印字符*/

main()

{printf(“\x4F\x4B\x21\n”); /*等價(jià)于printf(“OK!\n”);*/

printf(“\x15\xAB\n”);

}程序運(yùn)行結(jié)果如下:

OK!

§?4.字符串常量字符串常量1.字符串常量的概念和字符串長(zhǎng)度字符串常量是用一對(duì)雙引號(hào)括起來(lái)的若干字符序列。字符串中字符的個(gè)數(shù)稱(chēng)為字符串長(zhǎng)度。長(zhǎng)度為0的字符串(即一個(gè)字符都沒(méi)有的字符串)稱(chēng)為空串,表示為“

”(一對(duì)緊連的雙引號(hào))。例如,“Howdoyoudo.”、“Goodmorning.”等,都是字符串常量,其長(zhǎng)度分別為14和13(空格也是一個(gè)字符)。

如果反斜杠和雙引號(hào)作為字符串中的有效字符,則必須使用轉(zhuǎn)義字符。例如:(1)C:\msdos\v6.22→"C:\\msdos\\v6.22"

(2)Isay:"Goodbye!"→"Isay:\"Goodbye!\"“2.字符串的存儲(chǔ)C語(yǔ)言規(guī)定:在存儲(chǔ)字符串常量時(shí),由系統(tǒng)在字符串的末尾自動(dòng)加一個(gè)‘\0’作為字符串的結(jié)束標(biāo)志。注意:在源程序中書(shū)寫(xiě)字符串常量時(shí),不必加結(jié)束字符‘\0’,否則畫(huà)蛇添足。

如果有一個(gè)字符串為“CHINA”,則它在內(nèi)存中的實(shí)際存儲(chǔ)如下所示:最后一個(gè)字符'\0'是系統(tǒng)自動(dòng)加上的,它占用6字節(jié)而非5字節(jié)內(nèi)存空間。CHINA\0綜上所述,字符常量'A'與字符串常量"A"是兩回事:(1)定界符不同:字符常量使用單引號(hào),而字符串常量使用雙引號(hào);(2)長(zhǎng)度不同:字符常量的長(zhǎng)度固定為1字節(jié),而字符串常量的長(zhǎng)度,可以是0,也可以是某個(gè)整數(shù);(3)存儲(chǔ)要求不同:字符常量存儲(chǔ)的是字符的ASCII碼值,而字符串常量,除了要存儲(chǔ)有效的字符外,還要存儲(chǔ)一個(gè)結(jié)束標(biāo)志’\0’。2.3.2變量變量:其值可以改變的量。變量由名字來(lái)標(biāo)識(shí),此名字為該變量的標(biāo)識(shí)符(變量名)。變量在內(nèi)存中占據(jù)一定的存儲(chǔ)單元,該存儲(chǔ)單元中存放變量的值。變量名:與內(nèi)存某一存儲(chǔ)單元相聯(lián)系。變量值:存放在該存儲(chǔ)單元中數(shù)據(jù)的值。變量定義法:類(lèi)型標(biāo)識(shí)符變量名(例子:書(shū))

[例]字符變量的字符形式輸出和整數(shù)形式輸出。

/*案例代碼文件名:AL2_2.C*/

/*程序功能:用字符形式和整數(shù)形式輸出字符變量*/

main()

{charch1,ch2;

ch1='a';ch2='b';printf(“ch1=%c,ch2=%c\n”,ch1,ch2);

printf(“ch1=%d,ch2=%d\n”,ch1,ch2);

}

程序運(yùn)行結(jié)果:

ch1=a,ch2=b

ch1=97,ch2=982.4算術(shù)運(yùn)算與算術(shù)表達(dá)式2.4.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式在C語(yǔ)言中,除控制語(yǔ)句和輸入輸出函數(shù)外,其它所有基本操作都作為運(yùn)算符處理。

1.五種基本算術(shù)運(yùn)算符

+、-、*、/、%(求余數(shù))++(增一運(yùn)算符)--(減一運(yùn)算符)(1)關(guān)于除法運(yùn)算/C語(yǔ)言規(guī)定:兩個(gè)整數(shù)相除,其商為整數(shù),小數(shù)部分被舍棄。例如,5/2=2。

注意:若除數(shù)和被除數(shù)有一個(gè)為實(shí)型,則結(jié)果自動(dòng)轉(zhuǎn)換為實(shí)型。如:6/4.0=1.5。(2)關(guān)于求余數(shù)運(yùn)算%要求兩側(cè)的操作數(shù)均為整型數(shù)據(jù),否則出錯(cuò)。如:6%4=2

(3)++i、--i先加/減1再使用

i++、i--先使用再加/減1

2.4.2關(guān)系運(yùn)算符和關(guān)系表達(dá)式>(大于)<(小于)>=(大于等于)<=(小于等于)==(等于)!=(不等于):它的運(yùn)算級(jí)別低于算術(shù)運(yùn)算符若關(guān)系式成立,表達(dá)式值為1

若關(guān)系式不成立,表達(dá)式值為0

運(yùn)算符優(yōu)先級(jí)(p274)

注意

關(guān)系運(yùn)算符是用來(lái)比較兩個(gè)數(shù)據(jù)大小的,運(yùn)算結(jié)果是成立或不成立如果成立,則結(jié)果為邏輯值“真”,用整數(shù)“1”來(lái)表示如果不成立,則結(jié)果為邏輯值“假”,用整數(shù)“0”來(lái)表示。2.4.2關(guān)系運(yùn)算符及關(guān)系表達(dá)式21、由關(guān)系運(yùn)算符連接的表達(dá)式稱(chēng)為—關(guān)系表達(dá)式

2、關(guān)系表達(dá)式的運(yùn)算結(jié)果為一邏輯值(即真或假)3、在C語(yǔ)言中的邏輯值用1

代表真,以0

代表假

大于

名稱(chēng)小于等于大于等于>

運(yùn)算符<==>=a>b例子a<ba==ba>=ba<=b小于等于<=a!=b不等于!=2、10!=9的值是

?

A)trueB)非零值C)0D)13、若有說(shuō)明和語(yǔ)句:inta=5;a++;

則此處表達(dá)式a++

的值是:

A)7B)6C)5D)44、C語(yǔ)言中的基本數(shù)據(jù)類(lèi)型包括有:

A)整型、實(shí)型、邏輯型

B)整型、實(shí)型、字符型

C)整型、字符型、邏輯型

D)整型、實(shí)型、邏輯型、字符型

1、已知a=3,b=4則有c=a>b?舉例(D)

(C值為0)(C)(B)2.4.3邏輯運(yùn)算符及邏輯表達(dá)式3

邏輯運(yùn)算符是對(duì)兩個(gè)關(guān)系式或邏輯式進(jìn)行邏輯運(yùn)算的,其運(yùn)算結(jié)果仍是邏輯值即為邏輯真,用整數(shù)“1”來(lái)表示;邏輯假用整數(shù)“0”來(lái)表示。

1、由邏輯運(yùn)算符連接的表達(dá)式稱(chēng)為—邏輯表達(dá)式

2、邏輯表達(dá)式的運(yùn)算結(jié)果為一邏輯值(即真或假)

3、

!當(dāng)運(yùn)算量為非零值時(shí),則運(yùn)算結(jié)果為0,反之當(dāng)運(yùn)算量為零值時(shí),則運(yùn)算結(jié)果為1

&&

當(dāng)兩個(gè)運(yùn)算量均為非零值時(shí),運(yùn)算結(jié)果為1,否則運(yùn)算結(jié)果值為0

||

當(dāng)兩個(gè)運(yùn)算量中只有一個(gè)為非零值時(shí),運(yùn)算結(jié)果為1。當(dāng)兩個(gè)運(yùn)算量均為零時(shí),則運(yùn)算結(jié)果才為0。邏輯反

名稱(chēng)邏輯與邏輯或!

運(yùn)算符&&||!a例子a&&ba||ba反

邏輯運(yùn)算a與ba或b&&

當(dāng)左右兩個(gè)運(yùn)算量均為真(1)時(shí),運(yùn)算結(jié)果才為真(1),||當(dāng)左右兩個(gè)運(yùn)算量均為假(0)時(shí),則運(yùn)算結(jié)果才為假(0)。

說(shuō)明:1、其中的表達(dá)式可以是:字符表達(dá)式或算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式、條件表達(dá)式、賦值表達(dá)式、逗號(hào)表達(dá)式等。

2、其含義是將賦值號(hào)右端的內(nèi)容賦給左端的變量中去。

2.4.4賦值運(yùn)算符及賦值表達(dá)式4運(yùn)算符=名稱(chēng)賦值號(hào)運(yùn)算規(guī)則變量=表達(dá)式設(shè):a=2,c=‘a(chǎn)’,f=3.0,下列表達(dá)式都是賦值表達(dá)式1、d=0f*=a+2由算術(shù)表達(dá)式構(gòu)成,其值為0、12.02、d=a<=c由關(guān)系表達(dá)式構(gòu)成,其值為1

3、d=!(a==0)由邏輯表達(dá)式構(gòu)成,其值為14、d=(a<0)?2:1由條件表達(dá)式構(gòu)成,其值為25、d=e=f+2.1由賦值表達(dá)式構(gòu)成,其值為5.16、d=(a,c,f,0)由逗號(hào)表達(dá)式構(gòu)成,其值為0舉例e1?e2:e3運(yùn)算規(guī)則條件名稱(chēng)?:運(yùn)算符

說(shuō)明:

設(shè)e1、e2、e3分別為任意表達(dá)式。執(zhí)行順序:

計(jì)算e1的值:1、若為非0(即真值)再計(jì)算e2的值,并把e2的值作為整個(gè)表達(dá)式的值。

2、若為0(即假值),則需計(jì)算e3的值并把e3的值作為整個(gè)表達(dá)式的值2.4.5條件運(yùn)算符及條件表達(dá)式5

1、已知a=4,b=3則有

max=(a>b)?a:b

2、已知a=1,b=2,c=3,d=4

則如下條件表達(dá)式的值為:

a>b?a:c>d?c:d舉例44

3、已知a=3,b=2求下列表達(dá)式i的值。

i=(--a==b++)?--a:++b1

已知a=2,c=‘a(chǎn)’,f=3.0,求下列條件表達(dá)式的值:

1、a>0?a:-a2、f==3.0?a<=c:a>=c3、!(a==0)?!!a:!4、(f>0?((a>0)?2:1):(a>0)?1:0)5、(a>=0)?(a=1):(a=0)6、(c==‘A’)?(0,1):(1,0)

練習(xí)2.5.1變量初始化C語(yǔ)言允許在說(shuō)明變量的同時(shí)對(duì)其初始化。例:intsum=0;

floatpi=3.1416charc=‘w’也可以對(duì)說(shuō)明變量的一部分進(jìn)行初始化

inti,sum=0,j;2.5.2賦值語(yǔ)句語(yǔ)句格式:

變量名=變量、常量、表達(dá)式;語(yǔ)句功能:

將賦值號(hào)右端的“值”賦給左端的變量中

main(){inta,b,c;a=100;b=a;c=a+b;}a100b100c200+第三章簡(jiǎn)單的C程序設(shè)計(jì)2.6輸入與輸出函數(shù)調(diào)用語(yǔ)句

輸出函數(shù)調(diào)用語(yǔ)句1

對(duì)數(shù)據(jù)的一種重要的操作是輸入輸出。在C語(yǔ)言中的輸入和輸出是由函數(shù)來(lái)實(shí)現(xiàn)的,它提供了多種輸入輸出函數(shù)。標(biāo)準(zhǔn)的輸入輸出(I/O)函數(shù)是寫(xiě)在“stdio.h”文件中(頭文件),因此在使用這些函數(shù)時(shí),應(yīng)在程序的開(kāi)頭寫(xiě)如下編譯命令:

#include“stdio.h”語(yǔ)句格式:printf(“格式控制符號(hào)”,輸出表列

語(yǔ)句功能:

按照指定的格式,在標(biāo)準(zhǔn)輸出設(shè)備上輸出數(shù)據(jù)2.6輸入與輸出函數(shù)調(diào)用語(yǔ)句

輸出函數(shù)調(diào)用語(yǔ)句1

main(){inta,b,c;a=100;b=a;c=a+b;printf(“a=%d,b=%d,c=%d\”,a,b,c);}以帶符號(hào)的10進(jìn)制形式輸出整數(shù)a=100,b=100,c=200格式字符說(shuō)明do以帶符號(hào)的八進(jìn)制整數(shù)輸出以帶符號(hào)的十進(jìn)制整數(shù)輸出x以帶符號(hào)的十六進(jìn)制整數(shù)輸出u不帶符號(hào)的十進(jìn)制整數(shù)輸出c以字符形式輸出單個(gè)字符s以字符形式輸出一串字符f以小數(shù)形式輸出e以標(biāo)準(zhǔn)指數(shù)形式輸出printf格式控制符表練習(xí)

下程序的輸出結(jié)果是:以D)109C)910B)99A)1010D)109

main(){intx=10,y=10;printf(“%d%d\n”,x--,--y);}1

main(){inta,b;a=200;b=300;printf(“a=%d,b=%d\n”,a,b);}

main(){charch1,ch2;ch1=‘a(chǎn)’;ch2=‘b’;printf(“%c,%c\n”,ch1,ch2);}a=200,b=300a,b舉例第三章簡(jiǎn)單的C程序設(shè)計(jì)練習(xí)

下程序的輸出結(jié)果是:以D)004C)003B)103A)104D)004

main(){inta=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf(“%d%d%d\n”,k,a,b);}22.7輸入與輸出函數(shù)調(diào)用語(yǔ)句

輸入函數(shù)調(diào)用語(yǔ)句2語(yǔ)句格式:scanf(“格式控制符號(hào)”,地址表列)

是由若干個(gè)地址所組成的表列??梢允亲兞康牡刂?,或字符串的首地址。

地址

:指內(nèi)存儲(chǔ)器中每一個(gè)字節(jié)的編號(hào),一般可采用16進(jìn)制表示。a2000b1094地址符號(hào)

:&scanf(“%d,%d”,&a,&b)

100200#include“stdio.h”

main(){inta,b,c;

scanf(“%d%d%d”,&a,&b,&c);

printf(“a=%d,b=%d,c=%d\”,a,b,c);}

#include“stdio.h”main(){inta,b,c,t;scanf(“%d%d%d\n”,&a,&b,&c);t=a;a=b;b=c;c=t;printf(“a=%d,b=%d,c=%d\n”,a,b,c);}123舉例a=1,b=2,c=3102030a=20,b=30,c=10練習(xí)有如下程序段:

intk=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);

則輸出結(jié)果為:

設(shè)D)k=11,k=13,k=bC)k=11,k=013,k=0xbB)k=11,k=13,k=13A)k=11,k=12,k=11D)練習(xí)下列程序的輸出是:

main()inta=9;a+=a-=a+a;printf(“a=%d\n”,a);

D)-9C)-18B)9A)18cD)(1)a+a=18

(2)a-=18

a=a-18=-9(3)a+=-9a=a+aa=(-9)+(-9)=-18練習(xí)下列程序的輸出是:

ma

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論