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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

=

20,

numB

=

620

+6

=

2620

-

6

=

1420

*

6

=

12020

/6

=3.33333320

%

6

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

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

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

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

變量運算符=表達式它等價于:

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

表達式1,表達式2,…,表達式n功能:

依次計算表達式1的值,表達式2的值,…,表達式n的值,最后將表達式n的值作為整個表達式的值。例子:2.4.1庫函數(shù)的類別及函數(shù)調(diào)用常用庫函數(shù)的類別(1)標準輸入/輸出函數(shù):包含在頭文件<stdio.h>中。(2)字符類型判斷和轉換:定義了判定字符類型和轉換的函數(shù),包含在頭文件<ctype.h>中。(3)字符串處理函數(shù):定義了對字符數(shù)組進行操作的函數(shù),包含在頭文件<string.h>中。(4)時間與日期函數(shù):定義了操作日期和時間的函數(shù),包含在頭文件<time.h>。(5)數(shù)學函數(shù):定義常用數(shù)學函數(shù),如三角函數(shù)、反三角函數(shù)、指數(shù)、對數(shù)函數(shù)等,包含在頭文件<math.h>中。(6)標準庫函數(shù):定義通用工具函數(shù),如求絕對值、生成隨機數(shù)、內(nèi)存空間的分配和釋放等,包含在頭文件<stdlib>中。2.4常用函數(shù)助編程庫函數(shù)的使用include語句的格式:#include頭文件名功能:將指定頭文件嵌入源文件中,使得編譯程序可以到頭文件中找頭文件中包含的函數(shù)定義。2.4.2數(shù)學函數(shù)的使用常用庫函數(shù)(1)三角函數(shù)格式:sin(參數(shù)),cos(參數(shù)),tan(參數(shù))功能:返回參數(shù)所指定的角的三角函數(shù)值。說明:參數(shù)是雙精度類型、用弧度表示的角。如果給定的是角度值,需要先將其轉換為弧度。例如,計算輸出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));

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

運行結果為:e^3.000000=20.085537

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論