




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章順序結(jié)構(gòu)程序設(shè)計(jì)信息工程學(xué)院主講人:XXX內(nèi)容提要41數(shù)據(jù)的表現(xiàn)形式12運(yùn)算符和表達(dá)式423C語句42數(shù)據(jù)的輸入輸出425順序結(jié)構(gòu)程序設(shè)計(jì)舉例24442.1順序程序設(shè)計(jì)舉例【例2.1】輸入三角形的三邊長,求該三角形的面積。解題思路:已知三角形的三邊長a,b,c,則該三角形的面積公式為:area=(s(s-a)(s-b)(s-c))/2其中s=(a+b+c)/2。2.2數(shù)據(jù)的表現(xiàn)形式-
2.2.1常量和變量常量:
在程序運(yùn)行過程中,其值不能被改變的量稱為常量。常量區(qū)分為不同的類型:整型100,125,-100,0實(shí)型3.14,0.125,-3.789字符型‘a(chǎn)’,‘b’,‘2’字符串‘a(chǎn)’,‘a(chǎn)b’,‘1232’2.2.1常量和變量變量:在程序執(zhí)行過程中,其值可以發(fā)生改變的量稱為變量。變量代表內(nèi)存中具有特定屬性的一個(gè)存儲(chǔ)單元,它用來存放數(shù)據(jù),這就是變量的值,在程序運(yùn)行期間,這些值是可以改變的。變量名實(shí)際上是一個(gè)以一個(gè)名字對(duì)應(yīng)代表一個(gè)地址,在對(duì)程序編譯連接時(shí)由編譯系統(tǒng)給每一個(gè)變量名分配對(duì)應(yīng)的內(nèi)存地址。從變量中取值,實(shí)際上是通過變量名找到相應(yīng)的內(nèi)存地址,從該存儲(chǔ)單元中讀取數(shù)據(jù)。2.2.2C語言的數(shù)據(jù)類型在計(jì)算機(jī)中,數(shù)據(jù)是存放在存儲(chǔ)單元中的,它是具體存在的。而且,存儲(chǔ)單元是由有限的字節(jié)構(gòu)成的,每一個(gè)存儲(chǔ)單元中存放數(shù)據(jù)的范圍是有限的。例如用C程序計(jì)算和輸出1/3: printf(“%f”,1.0/3.0);得到的結(jié)果是0.333333,只能得到6位小數(shù),而不是無窮多位的小數(shù)。所謂類型,就是對(duì)數(shù)據(jù)分配存儲(chǔ)單元的安排,包括存儲(chǔ)單元的長度(占多少字節(jié))以及數(shù)據(jù)的存儲(chǔ)形式。不同的類型分配不同的長度和存儲(chǔ)形式。
2.2.3整型數(shù)據(jù)基本整型(int型)不同的C編譯系統(tǒng)自動(dòng)給int型數(shù)據(jù)分配2個(gè)或4個(gè)字節(jié)。整型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)方式是以數(shù)值的補(bǔ)碼形式存放
·正數(shù)的補(bǔ)碼和原碼相同;
·負(fù)數(shù)的補(bǔ)碼:將該數(shù)的絕對(duì)值的二進(jìn)制形式按位取反再加1。如求-10的補(bǔ)碼:10的原碼:取反:再加1,得-10的補(bǔ)碼:2.2.3整型數(shù)據(jù)短整型(shortint)類型名為shortint或short。如用VisualC++6.0,編譯系統(tǒng)分配給int數(shù)據(jù)4個(gè)字節(jié),短整型2個(gè)字節(jié)。存儲(chǔ)方式與int型相同。長整型(longint)類型名為longint或long,編譯系統(tǒng)分配給long數(shù)據(jù)4個(gè)字節(jié)。雙長整型(longlongint)類型名為longlongint或longlong,編譯系統(tǒng)分配給longlong數(shù)據(jù)8個(gè)字節(jié)。這是新增的一個(gè)類型,許多C編譯系統(tǒng)尚未實(shí)現(xiàn)。
2.2.3整型數(shù)據(jù)
整型變量的分類:共六種有符號(hào)基本整型有符號(hào)短整型有符號(hào)長整型無符號(hào)基本整型無符號(hào)短整型無符號(hào)長整型(signed)int(signed)short(int)(signed)long(int)unsignedintunsignedshort(int)unsignedlong(int)
注意:括號(hào)表示其中的內(nèi)容是可選的.2.2.3整型數(shù)據(jù)TurboC整型數(shù)據(jù)常見的存儲(chǔ)空間和值的范圍:2.2.4實(shí)型數(shù)據(jù)實(shí)型常量實(shí)型也稱為浮點(diǎn)型。浮點(diǎn)型常量也稱為實(shí)數(shù)或者浮點(diǎn)數(shù)。在C語言中,浮點(diǎn)數(shù)采用十進(jìn)制。它有二種形式:十進(jìn)制小數(shù)形式、指數(shù)形式。實(shí)型變量實(shí)型變量分為:單精度(float型)、雙精度(double型)和長雙精度(longdouble型)三類。2.2.5字符型數(shù)據(jù)字符常量字符常量是用單引號(hào)括起來的單個(gè)字符。例如:'x'、'y'、'='、'+'、'?'都是合法的字符常量。字符變量字符變量用來存儲(chǔ)字符常量,即存儲(chǔ)單個(gè)字符。字符變量的類型說明符是char。字符變量類型定義的格式和書寫規(guī)則與整型變量相同。例如:chara,b;a=’c’;b=’s’;2.2.6字符串型數(shù)據(jù)字符串常量是由一對(duì)雙引號(hào)括起的字符序列。例如:"CHINA","Cprogram","$12.5"。
字符串常量和字符常量是不同的。兩者有以下區(qū)別:(1)字符常量由單引號(hào)括起來,字符串由雙引號(hào)括起來。(2)字符常量只能是單個(gè)字符,字符串常量則可以含0個(gè)或多個(gè)字符。(3)字符常量占一個(gè)字節(jié)的內(nèi)存空間。字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中字符數(shù)加1。增加的一個(gè)字節(jié)中存放字符'\0'(ASCII碼為0)。這是字符串結(jié)束的標(biāo)志。2.3運(yùn)算符和表達(dá)式C語言中運(yùn)算符數(shù)量非常多,這些豐富的運(yùn)算符組成的表達(dá)式使C語言功能強(qiáng)大。C語言的運(yùn)算符有優(yōu)先級(jí)之分,同時(shí)具有結(jié)合性。而在表達(dá)式中,各個(gè)運(yùn)算量參與運(yùn)算的先后順序既要遵守運(yùn)算符的優(yōu)先級(jí)別,同時(shí)也要遵守運(yùn)算符結(jié)合性的制約,以便確定運(yùn)算的順序。2.3.1C運(yùn)算符C語言的運(yùn)算符總共可以分為以下幾類:(1)算術(shù)運(yùn)算符(+-*/%)(2)關(guān)系運(yùn)算符(><==>=<=?。剑?3)邏輯運(yùn)算符(?。Γ|)(4)位運(yùn)算符(<<>>~|∧&)(5)賦值運(yùn)算符(=及其擴(kuò)展賦值運(yùn)算符)(6)條件運(yùn)算符(?:)(7)逗號(hào)運(yùn)算符(,)(8)指針運(yùn)算符(*和&)(9)求字節(jié)數(shù)運(yùn)算符(sizeof)(10)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符((類型))(11)分量運(yùn)算符(.->)(12)下標(biāo)運(yùn)算符([])2.3.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)運(yùn)算符+(加法運(yùn)算符,或正值運(yùn)算符。如:3+5、+3)-(減法運(yùn)算符,或負(fù)值運(yùn)算符。如:5-2、-3)*(乘法運(yùn)算符。如:3*5)/(除法運(yùn)算符。如:5/3)%(模運(yùn)算符,或稱求余運(yùn)算符,%兩側(cè)均應(yīng)為整型數(shù)據(jù),如:7%4的值為3)。2.3.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合性基本的算術(shù)運(yùn)算符:用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(也稱操作數(shù))連接起來的、符合C語法規(guī)
則的式子,稱為C算術(shù)表達(dá)式。運(yùn)算對(duì)象包括常量、變量、函數(shù)等。
例如:
a*b/c-1.5+′a′
是一個(gè)合法的表達(dá)式2.3.3關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符及其優(yōu)先次序C語言中有以下關(guān)系運(yùn)算符:(1)<(小于);(2)<=(小于等于);(3)>(大于);(4)>=(大于等于);(5)==(等于);(6)!=(不等于)。關(guān)系運(yùn)算符都是雙目運(yùn)算符,其結(jié)合性均為左結(jié)合。2.3.3關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系表達(dá)式
關(guān)系表達(dá)式的一般形式為:
表達(dá)式關(guān)系運(yùn)算符
表達(dá)式例如:a+b>c+d、x>5、a+1<c、-i-5*j==k+1都是合法的關(guān)系表達(dá)式【例2.2】計(jì)算以下關(guān)系表達(dá)式的值。2.3.4邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符及其優(yōu)先次序
C語言中提供了3種邏輯運(yùn)算符:(1)&&,與運(yùn)算;(2)||,或運(yùn)算;(3)!,非運(yùn)算。與運(yùn)算符“&&”和或運(yùn)算符“||”均為雙目運(yùn)算符。具有左結(jié)合性。非運(yùn)算符“!”為單目運(yùn)算符,具有右結(jié)合性。邏輯運(yùn)算符和其他運(yùn)算符優(yōu)先級(jí)的關(guān)系可表示如下:2.3.4邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算的值邏輯運(yùn)算的值也有“真”和“假”兩種,用“1”和“0”來表示。(1)與運(yùn)算(&&):參與運(yùn)算的兩個(gè)量都為“真”時(shí),結(jié)果才為“真”,否則為“假”。
如:5>0&&4>2(2)或運(yùn)算(||):參與運(yùn)算的兩個(gè)量只要有一個(gè)為“真”,結(jié)果就為“真”。兩個(gè)量都為“假”時(shí),結(jié)果為“假”。如:5>0||5>8(3)邏輯非運(yùn)算(!):參與運(yùn)算量為“真”時(shí),結(jié)果為“假”;參與運(yùn)算量為“假”時(shí),結(jié)果為“真”。如:!(5>0)2.3.4邏輯運(yùn)算符和邏輯表達(dá)式邏輯表達(dá)式
邏輯表達(dá)式的一般形式為:表達(dá)式
邏輯運(yùn)算符
表達(dá)式【例2.3】計(jì)算以下邏輯表達(dá)式的值。
2.4C語句C程序源程序文件1源程序文件2預(yù)處理命令數(shù)據(jù)聲明函數(shù)1函數(shù)首部函數(shù)體數(shù)據(jù)聲明執(zhí)行語句函數(shù)n源程序文件n2.4.1C語句的作用及分類一個(gè)c程序可以有若干個(gè)源程序文件組成一個(gè)源文件可以有若干個(gè)函數(shù)和預(yù)處理命令以及全局變量聲明部分組成一個(gè)函數(shù)有函數(shù)首部和函數(shù)體組成函數(shù)體由數(shù)據(jù)聲明和執(zhí)行語句組成C語句分為5類控制語句函數(shù)調(diào)用語句表達(dá)式語句空語句復(fù)合語句2.4.1C語句的作用及分類
控制語句:完成一定的控制功能
1.if~else條件語句6.break間斷語句
2.for()循環(huán)語句7.
switch()開關(guān)語句
3.while()循環(huán)語句8.
goto轉(zhuǎn)向語句
4.do~while()循環(huán)語句9.
return返回語句
5.continue繼續(xù)語句2.4.1C語句的作用及分類函數(shù)調(diào)用語句
有一個(gè)函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成一個(gè)語句
printf(“ThisisaCstatement.”);表達(dá)式語句
有一個(gè)表達(dá)式加一個(gè)分號(hào)構(gòu)成一個(gè)語句空語句只有一個(gè)分號(hào)的語句用來做流程的轉(zhuǎn)向點(diǎn)用來作為循環(huán)語句中的循環(huán)體
復(fù)合語句用一對(duì){}括起來的語句
2.4.2最基本的C語句--賦值語句賦值語句由賦值表達(dá)式加上一個(gè)分號(hào)構(gòu)成其一般形式為:變量=表達(dá)式;
如:a=100賦值表達(dá)式
a=100;賦值語句
2.5數(shù)據(jù)的輸入輸出C程序的數(shù)據(jù)輸入輸出是以計(jì)算機(jī)為主體而言的,從計(jì)算機(jī)向顯示器等設(shè)備傳輸信息稱為輸出,從鍵盤等設(shè)備向計(jì)算機(jī)傳輸信息稱為輸入。由于C語言本身不提供輸入輸出語言,所以數(shù)據(jù)的輸入輸出操作都是由標(biāo)準(zhǔn)函數(shù)庫中的函數(shù)來實(shí)現(xiàn)的。C標(biāo)準(zhǔn)庫提供了一些輸入輸出函數(shù),如常用的格式化輸出printf函數(shù)和輸入scanf函數(shù)等。需要使用C語言庫函數(shù)時(shí),要先用預(yù)編譯命令#include將相關(guān)的“頭文件”包括到源文件中。數(shù)據(jù)的輸入輸出庫函數(shù)所在的頭文件是”stdio.h”,所以我們要用預(yù)編譯指令#include<stdio.h>或者#include“stdio.h”2.5.1printf函數(shù)輸出數(shù)據(jù)printf函數(shù)和scanf函數(shù)是C程序中主要的輸出輸入函數(shù),兩者都是格式輸出輸入函數(shù),用戶在使用這兩個(gè)函數(shù)時(shí)需要指定輸入輸出數(shù)據(jù)的格式,不同類型的數(shù)據(jù)需要指定不同的格式。printf函數(shù)主要用來把若干的任意數(shù)據(jù)輸出到終端顯示器屏幕上,在前面的例題中我們已多次使用過這個(gè)函數(shù)。printf函數(shù)是一個(gè)標(biāo)準(zhǔn)庫函數(shù),它調(diào)用的一般形式為:printf(“格式控制”,輸出表列);例如:printf(“%d,%c”,i,c);其中括號(hào)中包含2個(gè)部分:①
格式控制是用來指定輸出格式的一個(gè)字符串。②
輸出列表是程序需要輸出的一些數(shù)據(jù),可以是常量、變量或表達(dá)式。輸出列表的輸出項(xiàng)與格式控制字符串在數(shù)量和類型上應(yīng)該一一對(duì)應(yīng)。2.5.1printf函數(shù)輸出數(shù)據(jù)【例2.4】2.5.2scanf函數(shù)輸入數(shù)據(jù)scanf函數(shù)是C語言中常用的格式輸入函數(shù),是用來從鍵盤上把數(shù)據(jù)按用戶指定的格式輸入到指定的變量之中。scanf函數(shù)的一般形式為:scanf(“格式控制”,地址表列)其中,格式控制的作用與printf函數(shù)相同。地址表列由若干個(gè)變量的地址或者字符串的首地址組成,變量地址是以地址運(yùn)算符“&”得到。例如: &a,&b分別表示變量a和變量b的地址。
2.5.2scanf函數(shù)輸入數(shù)據(jù)在使用scanf函數(shù)時(shí)應(yīng)注意:(1)scanf函數(shù)的“地址表列”應(yīng)該是變量地址,而不是變量名。如若a和b為整形變量,當(dāng)需要從鍵盤輸入兩者的值時(shí),必須寫成 scanf(“%d%d”,&a,&b)
而不是 scanf(“%d%d”,a,b)(2)如果在“格式控制”字符串中除了格式聲明外還有其他字符,則在輸入數(shù)據(jù)時(shí)需要在對(duì)應(yīng)的位置輸入與這些字符相同的字符,如 scanf(“a=%d,b=%d”,&a,&b);
則在輸入數(shù)據(jù)時(shí),需要輸入以下字符:
a=1,b=2↙
2.5.3字符數(shù)據(jù)的輸入輸出C語言中的字符數(shù)據(jù)同樣可以用printf函數(shù)和scanf函數(shù)輸出和輸入。除此之外,C函數(shù)庫還提供了一些
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 七夕節(jié)營銷策劃方案
- 協(xié)議控制合同范本
- 一年級(jí)下冊(cè)《文具的家》教學(xué)反思
- 公司出售居間合同范本
- 與商家訂食品合同范本
- 出售手扶電梯合同范本
- 《愉快的夢》教案
- 賣合同范本軟件
- 醫(yī)院路燈采購合同范本
- 公路維護(hù)協(xié)議合同范本
- 2024年四川省綿陽市中考語文試卷(附真題答案)
- 心電圖危急值的識(shí)別和處理知到智慧樹章節(jié)測試課后答案2024年秋浙江大學(xué)
- 低代碼應(yīng)用開發(fā) 課件全套 李春平 第1-9章 低代碼應(yīng)用開發(fā) - 低代碼開發(fā)應(yīng)用實(shí)例
- 2024年開學(xué)第一課:人工智能與未來教育
- 蟾蜍毒抗病毒活性位點(diǎn)
- 拇外翻課件完整版本
- 2025年四川省新高考八省適應(yīng)性聯(lián)考模擬演練二歷史試卷(含答案)
- 防性侵安全教育課件
- DB11T 1620-2019 建筑消防設(shè)施維修保養(yǎng)規(guī)程
- 2024年山東省濟(jì)南市中考英語試題卷(含答案)
- 四川省會(huì)計(jì)師事務(wù)所服務(wù)收費(fèi)標(biāo)準(zhǔn)(川發(fā)改價(jià)格〔2013〕901號(hào))
評(píng)論
0/150
提交評(píng)論