C語言程序設(shè)計(jì) 課件 第2章-C語言程序初體驗(yàn)_第1頁
C語言程序設(shè)計(jì) 課件 第2章-C語言程序初體驗(yàn)_第2頁
C語言程序設(shè)計(jì) 課件 第2章-C語言程序初體驗(yàn)_第3頁
C語言程序設(shè)計(jì) 課件 第2章-C語言程序初體驗(yàn)_第4頁
C語言程序設(shè)計(jì) 課件 第2章-C語言程序初體驗(yàn)_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第2章C語言程序初體驗(yàn)C語言的標(biāo)識符、變量、常量;C語言的數(shù)據(jù)類型和數(shù)據(jù)類型轉(zhuǎn)換;C語言的表達(dá)式、賦值運(yùn)算、算術(shù)運(yùn)算、自增自減運(yùn)算;C語言的常用函數(shù);C語言順序結(jié)構(gòu)程序的編寫方法和執(zhí)行過程。本章目標(biāo)2.1.1

計(jì)算梯形面積2.1來個(gè)簡單題——計(jì)算梯形面積2.1.2 標(biāo)識符和關(guān)鍵字標(biāo)識符命名規(guī)范:標(biāo)識符的構(gòu)成:字母(A~Z,a~z)、數(shù)字(0~9)和下劃線(_),第一個(gè)字符必須是字母或下劃線。區(qū)分大小寫。標(biāo)識符的長度:受不同編譯器和操作系統(tǒng)的限制。標(biāo)識符命名建議:見名知意。不能使用關(guān)鍵字作為標(biāo)識符名字。關(guān)鍵字關(guān)鍵字被賦予了特定含義的標(biāo)識符,稱為關(guān)鍵字。例如,float,int。共32個(gè)關(guān)鍵字不合法標(biāo)識符2.1.3基本數(shù)據(jù)類型

4種基本數(shù)據(jù)類型:整型:int,如3,8,5,-210,占用4個(gè)字節(jié),表示數(shù)據(jù)范圍為-32768~32768。單精度浮點(diǎn)型:float,如3.6,8.8,5.2,-1.7,占用4個(gè)字節(jié),有效數(shù)位6~7位,數(shù)值范圍為-3.4e-38~3.4e+38。雙精度浮點(diǎn)型:double,占用8個(gè)字節(jié),有效數(shù)位15~16位,數(shù)值范圍為-1.7e-308~1.7e+308。字符型:char,如’c’、‘A’,占用1個(gè)字節(jié)。ASCII碼字符集請見附錄A。數(shù)據(jù)類型限定符4個(gè)數(shù)據(jù)類型限定符short,long,signed,unsigned。4個(gè)限定符的作用:(1)short、long:限定數(shù)據(jù)的長度。被short修飾后,該類型占用的空間要比原來的基本類型更?。籰ong的作用與short正好相反,它會占用更大的內(nèi)存空間。(2)signed、unsigned:限定數(shù)據(jù)的符號。用unsigned限定的數(shù)稱為無符號數(shù);signed為有符號數(shù),包括了負(fù)整數(shù)。默認(rèn)情況下,int是有符號數(shù)。sizeof運(yùn)算符作用:獲取數(shù)據(jù)長度格式:sizeof(type)返回值:返回type類型所占的存儲字節(jié)個(gè)數(shù)。2.1.4C語言語句C語言語句分為五類:(1)表達(dá)式語句格式:

表達(dá)式;功能:執(zhí)行表達(dá)式所代表的動作,完成相應(yīng)的操作。例如:y=a+3;/*賦值語句:計(jì)算a+3的值并將計(jì)算結(jié)果賦給y*/a+3;/*a+3加法語句,計(jì)算結(jié)果沒有賦值給變量,并無實(shí)際意義*/++j;/*前綴自增語句:j的值增1*/(2)函數(shù)調(diào)用語句格式:

函數(shù)名(實(shí)際參數(shù)表);功能:將程序流程轉(zhuǎn)入到函數(shù)體中執(zhí)行,并進(jìn)行實(shí)際參數(shù)和形式參數(shù)的傳值(地址),執(zhí)行函數(shù)結(jié)束后,將特定的函數(shù)值返回到主調(diào)函數(shù)。例如:printf("你好,中國!");/*調(diào)用基本輸出庫函數(shù)printf(),在屏幕輸出:你好,中國!*/(3)控制語句分為三類:分支語句:if語句、switch語句,第三章詳細(xì)介紹。循環(huán)語句:dowhile語句、while語句和for語句。第四章詳細(xì)介紹。流程控制語句:break語句、goto語句、continue語句和return語句。具體用法將分在本書第三章、第四章、第六章詳細(xì)介紹。(4)復(fù)合語句將彼此相關(guān)的操作放在一起,使用花括號“{}”括起來。例如:{inta,b=2,c;a=b+1;c=a+3;printf(“%d”,c);}變量a,b,c在{}中定義,并使用printf()函數(shù)輸出。(5)空語句只有分號“;”構(gòu)成的語句稱為空語句。空語句是什么也不執(zhí)行的語句。例如:for(i=1;i<100;i++){;}或作為無條件轉(zhuǎn)移的標(biāo)號,例如:gotolabel1;…label1:

;2.1.5變量和賦值基本概念在程序運(yùn)行過程中其值可以改變的量稱為變量。變量聲明(1)單變量聲明數(shù)據(jù)類型

變量名;例如,floattra_area;//聲明變量tra_area,用其表示梯形面積(2)多變量聲明數(shù)據(jù)類型變量名1,變量名2,......,變量名n;例如,inttop,bottom,height;/*一條語句聲明三個(gè)變量*/變量賦值(1)簡單賦值變量名=表達(dá)式;例如,top=3;//給梯形上底長度賦值bottom=8;//給梯形下底長度賦值height=5;//給梯形高賦值(2)連續(xù)賦值變量名1=變量名2=......=變量名n=表達(dá)式;例如,top=bottom=height=5;變量的初始化數(shù)據(jù)類型變量名=表達(dá)式;例如,變量top、bottom和height可以用以下語句進(jìn)行變量初始化:inttop=3,bottom=5,height=8;2.1.6算術(shù)運(yùn)算算術(shù)運(yùn)算符主要包括:加(+)、減(-)、乘(*)、除(/)、求模(%)。算術(shù)運(yùn)算符的優(yōu)先級(1)當(dāng)表達(dá)式中包含多個(gè)運(yùn)算符時(shí),需要區(qū)分運(yùn)算符之間的優(yōu)先級。(2)算術(shù)運(yùn)算符號的優(yōu)先級與一般的算術(shù)運(yùn)算相同,相對優(yōu)先級如下:最高優(yōu)先級:乘(*)、除(/)、求模(%)最低優(yōu)先級:加(+)、減(-)2.1.7格式化輸出函數(shù)格式化輸出函數(shù):printf()默認(rèn)情況下,printf()將程序運(yùn)行結(jié)果輸出到屏幕上。在程序中使用printf()函數(shù),必須要包含頭文件stdio.h。printf()函數(shù)原型為:intprintf(constchar*format,argument1,argument2,...);printf()函數(shù)常見用法:(1)輸出字符串(2)輸出單個(gè)變量printf("變量格式控制符",變量名);(3)輸出多個(gè)變量printf("變量格式控制符1變量格式控制符2,...",變量1,變量2,...);(4)變量與提示信息混合輸出【例2?6】某學(xué)生社團(tuán)定期到對口幫扶的農(nóng)民工子弟小學(xué)進(jìn)行學(xué)習(xí)輔導(dǎo),社團(tuán)負(fù)責(zé)人在輔導(dǎo)小學(xué)生的過程中發(fā)現(xiàn)學(xué)生在進(jìn)行算術(shù)運(yùn)算的時(shí)候經(jīng)常出錯(cuò),因此決定組織社團(tuán)成員編寫一個(gè)驗(yàn)算程序幫助學(xué)生進(jìn)行算術(shù)運(yùn)算結(jié)果驗(yàn)算,為了測試該方法是否可行,先假定兩個(gè)數(shù)分別是20和6,編寫程序計(jì)算這兩個(gè)數(shù)的和、差、積、商、取余的結(jié)果。程序運(yùn)行結(jié)果:numA

=

20,

numB

=

620

+6

=

2620

-

6

=

1420

*

6

=

12020

/6

=3.33333320

%

6

=22.2.1程序解析【例2?7】學(xué)校校園里要鋪設(shè)多個(gè)圓環(huán)形草坪,要求用C語言編程計(jì)算每個(gè)草坪的面積,用鍵盤輸入圓環(huán)的內(nèi)外半徑,要求:結(jié)果保留兩位小數(shù)。2.2加點(diǎn)小難度——計(jì)算圓環(huán)的面積2.2.2常量的使用(1)常量的定義及分類定義:常量即值不可以被程序改變的量。例如:例2-7中用到的圓周率3.1415926。分類:數(shù)值常量、字符常量和字符串常量。常量限定符:const。數(shù)值常量以一個(gè)數(shù)值的形式出現(xiàn),既可以是整數(shù),也可以小數(shù)。例如,語句tra_area=(top+bottom)*height/2中的數(shù)值2,語句annular_area=3.1415926*R*R-3.1415926*r*r;中的3.1415926。整數(shù)常量整數(shù)可以使用十進(jìn)制、八進(jìn)制、十六進(jìn)制來表示。90/*用十進(jìn)制表示數(shù)值90*/0x5a/*用十六進(jìn)制表示十進(jìn)制數(shù)90*/0132/*用八進(jìn)制表示十進(jìn)制數(shù)90*/注意:前綴中的“0”是阿拉伯?dāng)?shù)字0,不是字母o。實(shí)數(shù)常量實(shí)數(shù)有兩種基本表示方法:(1)采用十進(jìn)制數(shù)形式書寫小數(shù)例如,0.24.24//小數(shù)0.24,省略了整數(shù)部分5.245.//小數(shù)5.0,省略了小數(shù)部分的(2)科學(xué)表示法例如,0.24E3//表示0.24×103,即240.00.24E-2//表示0.24×10-2,即0.0024-5.24E4//表示-5.24×104,即-52400.05e2//表示-5.0×102,即500.0(3)字符常量單引號(’)括起來的單個(gè)字符。轉(zhuǎn)義字符是以反斜線“\”開頭,“\”的含義是將其后的字符轉(zhuǎn)換為特定的含義,故稱”轉(zhuǎn)義”字符。常用的轉(zhuǎn)義字符見下表:(4)字符串常量用雙引號(“”)括起來的0個(gè)或多個(gè)字符。例如,“Thankyouverymuch”是由多個(gè)字符構(gòu)成的字符串常量?!啊卑?個(gè)字符,表示一個(gè)空串?!癮”是只包含一個(gè)字符的字符串。(5)常量的符號表示方法使用預(yù)處理指令#define進(jìn)行宏定義。例如,為圓周率定義一個(gè)常量符號PI,宏定義方法如下:#definePI3.1415926當(dāng)對程序進(jìn)行編譯時(shí),預(yù)處理器會將宏替換為其所代表的數(shù)值。例如計(jì)算圓的面積,以下語句:annular_area=PI*R*R-PI*r*r;將變?yōu)椋篴nnular_area=3.1415926*R*R-3.1415926*r*r;【例2?8】將例2-7求圓環(huán)面積中的常量3.1415926用符號常量表示:【例2?9】某糧倉建設(shè)了一批圓錐形的糧倉,已知圓錐形糧倉高和圓口半徑,為了計(jì)算這些糧倉能放多少糧食,需要編程計(jì)算圓錐形糧倉的體積。【例2?10】在屏幕上輸出:熱烈歡迎新同學(xué)!2.2.3數(shù)據(jù)類型轉(zhuǎn)換自動數(shù)據(jù)類型轉(zhuǎn)換(1)賦值運(yùn)算中的自動類型轉(zhuǎn)換

當(dāng)賦值號“=”兩邊的數(shù)據(jù)類型不同時(shí),則在賦值操作前編譯器會把賦值號右邊表達(dá)式的類型轉(zhuǎn)換為左邊變量的類型。例如,(2)混合運(yùn)算中的類型自動轉(zhuǎn)換編譯器將參與運(yùn)算的所有數(shù)據(jù)先轉(zhuǎn)換為同一種類型,然后再進(jìn)行計(jì)算。例如:數(shù)據(jù)類型的自動轉(zhuǎn)換規(guī)則:強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換格式:(數(shù)據(jù)類型名)表達(dá)式例如,(int)a+b;//先將a強(qiáng)制轉(zhuǎn)化為int型,然后再和b相加(int)(a+b);//先執(zhí)行加法,然后將加法結(jié)果轉(zhuǎn)換為int型(float)100;//將數(shù)值100(默認(rèn)為int類型)轉(zhuǎn)換為float類型(float)a;//將變量a轉(zhuǎn)換為float類型【例2?11】某社團(tuán)組織給希望小學(xué)捐款活動,編程計(jì)算平均捐款數(shù)。【例2?12】某社團(tuán)組織給希望小學(xué)捐款活動,編程計(jì)算平均捐款數(shù),并用兩種不同精度輸出捐款總數(shù)。2.2.4格式化輸入函數(shù)格式化輸入函數(shù)scanf():默認(rèn)情況下,scanf()接受從鍵盤輸入的數(shù)據(jù)。必須要包含頭文件stdio.h。scanf()函數(shù)原型:intscanf(char*format[,argument,...]);函數(shù)scanf()用法(1)輸入單個(gè)變量scanf("格式控制符",&變量);

說明:&是地址運(yùn)算符,表示變量的內(nèi)存地址,不能省略?!纠??13】在準(zhǔn)備新生入學(xué)迎新時(shí),需要隨時(shí)更新并輸出已經(jīng)報(bào)到的學(xué)生人數(shù),請編寫程序從鍵盤輸入已經(jīng)報(bào)到的人數(shù),并在屏幕上輸出報(bào)到人數(shù),給出完整代碼。例2-13代碼執(zhí)行流程及內(nèi)存和屏幕變化模擬圖(2)輸入多個(gè)變量scanf(“變量格式控制符1

變量格式控制符2...",&變量1,&變量2,...);說明:格式控制符與變量的位置和個(gè)數(shù)要一一對應(yīng)?!纠??14】某社團(tuán)組織給希望小學(xué)捐款活動,編程計(jì)算平均捐款數(shù),要求:從鍵盤輸入總捐款數(shù)和捐款人數(shù),并用浮點(diǎn)型存儲并輸出捐款總數(shù)。2.3.1自增和自減運(yùn)算符(1)自增、自減運(yùn)算分類自增運(yùn)算:++,變量加1。自增運(yùn)算:--,變量減1。(2)使用形式前綴形式:運(yùn)算符在變量前面。例如:對變量a的前綴自增、自減運(yùn)算分別是++a和--a。后綴形式:運(yùn)算符在變量后面。例如:對變量a的后綴自增、自減運(yùn)算分別是a++和a--。2.3來點(diǎn)與數(shù)學(xué)不一樣的前綴、后綴形式區(qū)別如果獨(dú)立使用自增、自減運(yùn)算時(shí),前綴和后綴的形式效果等價(jià)。例如,語句++a和a++的效果都等價(jià)于語句a=a+1。如果自增、自減運(yùn)算不是獨(dú)立使用,而是作為表達(dá)式的一部分時(shí),區(qū)別在于變量值的自增1或自減1運(yùn)算發(fā)生的時(shí)間不同?!纠??15】獨(dú)立使用自增、自減運(yùn)算的實(shí)例。例:表達(dá)式中的前綴自增、自減運(yùn)算例:表達(dá)式中的后綴自增、自減運(yùn)算先參與表達(dá)式的運(yùn)算,而后再自增、自減運(yùn)算:2.3.2復(fù)合賦值運(yùn)算符使用復(fù)合賦值運(yùn)算符的表達(dá)式稱之為復(fù)合賦值表達(dá)式,其基本格式如下:

變量運(yùn)算符=表達(dá)式它等價(jià)于:

變量=變量運(yùn)算符表達(dá)式【例2?16】加減乘除復(fù)合賦值運(yùn)算符。2.3.3逗號運(yùn)算符與逗號表達(dá)式逗號運(yùn)算符:用逗號把多個(gè)表達(dá)式聯(lián)接起來,構(gòu)成一個(gè)新的表達(dá)式,這里的逗號被稱為逗號運(yùn)算符。逗號表達(dá)式:由逗號運(yùn)算符將兩個(gè)以上的表達(dá)式連接而成的表達(dá)式。格式:

表達(dá)式1,表達(dá)式2,…,表達(dá)式n功能:

依次計(jì)算表達(dá)式1的值,表達(dá)式2的值,…,表達(dá)式n的值,最后將表達(dá)式n的值作為整個(gè)表達(dá)式的值。例子:2.4.1庫函數(shù)的類別及函數(shù)調(diào)用常用庫函數(shù)的類別(1)標(biāo)準(zhǔn)輸入/輸出函數(shù):包含在頭文件<stdio.h>中。(2)字符類型判斷和轉(zhuǎn)換:定義了判定字符類型和轉(zhuǎn)換的函數(shù),包含在頭文件<ctype.h>中。(3)字符串處理函數(shù):定義了對字符數(shù)組進(jìn)行操作的函數(shù),包含在頭文件<string.h>中。(4)時(shí)間與日期函數(shù):定義了操作日期和時(shí)間的函數(shù),包含在頭文件<time.h>。(5)數(shù)學(xué)函數(shù):定義常用數(shù)學(xué)函數(shù),如三角函數(shù)、反三角函數(shù)、指數(shù)、對數(shù)函數(shù)等,包含在頭文件<math.h>中。(6)標(biāo)準(zhǔn)庫函數(shù):定義通用工具函數(shù),如求絕對值、生成隨機(jī)數(shù)、內(nèi)存空間的分配和釋放等,包含在頭文件<stdlib>中。2.4常用函數(shù)助編程庫函數(shù)的使用include語句的格式:#include頭文件名功能:將指定頭文件嵌入源文件中,使得編譯程序可以到頭文件中找頭文件中包含的函數(shù)定義。2.4.2數(shù)學(xué)函數(shù)的使用常用庫函數(shù)(1)三角函數(shù)格式:sin(參數(shù)),cos(參數(shù)),tan(參數(shù))功能:返回參數(shù)所指定的角的三角函數(shù)值。說明:參數(shù)是雙精度類型、用弧度表示的角。如果給定的是角度值,需要先將其轉(zhuǎn)換為弧度。例如,計(jì)算輸出70°角的正弦函數(shù)值。用格式輸出函數(shù)調(diào)用語句:printf("70°角的正弦函數(shù)值為:%lE",sin(70*3.14159265/180));也可以用下面的一組語句:intangle=70;doubleradian;radian=angle*3.1415926/180;printf("%d°角的正弦函數(shù)值為:%lE",angle,sin(radian));

運(yùn)行結(jié)果為:70°角的正弦函數(shù)值為:9.396926E-01(2)指數(shù)函數(shù)格式:exp(參數(shù))功能:返回以自然常數(shù)e為底,以參數(shù)值為冪的指數(shù)函數(shù)值。說明:參數(shù)和返回值均為double類型。例:下面的代碼計(jì)算并輸出e3。doublex=3;doubleexpX;expX=exp(x);printf("e^%lf=%lf",x,expX);

運(yùn)行結(jié)果為:e^3.000000=20.085537

(5)浮點(diǎn)數(shù)的絕對值函數(shù)格式:fabs(參數(shù))功能:返回參數(shù)的絕對值。說明:參數(shù)和返回值均為浮點(diǎn)型,不可為整數(shù)。例:下面的代碼計(jì)算并輸出-5.8的絕對值。floatx=-5.8;floatfabsX;fabsX=fabs(x);printf("Absolutevalueof%f=%f",x,fabsX);輸出結(jié)果為:Absolutevalueof-5.800000=5.800000(6)冪函數(shù)格式:pow(參數(shù)1,參數(shù)2)功能:返回參數(shù)1的參數(shù)2次冪。說明:兩個(gè)參數(shù)以及返回值均為浮點(diǎn)型。例:下面的代碼計(jì)算并輸出xy。2.4.3標(biāo)準(zhǔn)函數(shù)的使用(1)整型數(shù)的絕對值函數(shù)格式:函數(shù)名(參數(shù))功能:返回參數(shù)的絕對值。說明:1)函數(shù)名為abs時(shí),計(jì)算int類型整數(shù)的絕對值;函數(shù)名為labs時(shí),計(jì)算longint類型整數(shù)的絕對值。2)參數(shù)和返回值均為整型數(shù),不可

溫馨提示

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

評論

0/150

提交評論