




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第三章:最簡單的C語言程序設(shè)計,寫一個C語言程序必須滿足的條件:有一個正確的解決問題的想法,那就是它會涉及到算法;掌握C語言的語法,用C語言正確表達(dá)算法,用結(jié)構(gòu)化編程方法編寫結(jié)構(gòu)化程序。第3章,最簡單的C編程,3.1順序編程的例子,3.2數(shù)據(jù)的形式和運算,3.3 C語句,3.4數(shù)據(jù)的輸入和輸出,3.1順序編程的例子,3.1例子:有人用溫度計測量了以華氏溫度表示的溫度(如f),現(xiàn)在需要把它轉(zhuǎn)換成以攝氏溫度表示的溫度(如C)。解決方案:找出兩者之間的轉(zhuǎn)換公式,F(xiàn)代表華氏溫度,C代表攝氏溫度,3.1順序編程示例,算法:示例3.1有人用溫度計測量了以華氏溫度表示的溫度(例如,F(xiàn),現(xiàn)在需要將其轉(zhuǎn)換為以攝
2、氏溫度表示的溫度)。N-S圖,3.1順序編程示例,#包括int main () float f,c;f=64.0c=(5.0/9)*(f-32);printf(f=%fnc=%fn,f,c);返回0;將f和c定義為單精度浮點變量,指定f的值,計算c的值,輸出f和c的值,3.1順序編程示例,3.2計算存款利息示例。我有1000元,想存一年。有三種方法可供選擇:(1)當(dāng)期,年利率為R1;(2)一年定期;(3)兩次半年定期,年利率為r3。請計算一年后通過三種方法獲得的本金和利息的總和。3.1順序程序設(shè)計示例,解決問題的思路:確定計算本金和利息之和的公式。根據(jù)數(shù)學(xué)知識,如果存款額為p0,一年后活期存款
3、的本息之和為:p1=p0(1 r1)一年定期存款,p2=p0(1 r2)一年后兩次半年定期存款,以及:3.1序列編程示例,算法:3.1序列編程示例,#include int main () float p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,P3;P1=P0 *(1 R1);p2=P0 *(1 R2);P3=P0 *(1 R3/2)*(1 R3/2);printf(%fn%fn%fn ,p1,p2,P3);返回0;定義了同時給變量賦予初始值,3.2數(shù)據(jù)表達(dá)式和運算,3.2.1常量和變量3.2.2數(shù)據(jù)類型3.2.3整數(shù)數(shù)據(jù)3.2.4字符數(shù)據(jù)3.2.
4、5浮點數(shù)據(jù)3.2.6如何確定常量的類型3.2.7運算符和表達(dá)式,3.2.2數(shù)值不可更改的整數(shù)常量數(shù)量:如1000,12345,0,-345十進(jìn)制實數(shù)常量十進(jìn)制形式:如0.34-550用單個撇號括起來的字符轉(zhuǎn)義符:例如,n,以字符串常量開頭的字符序列:例如,“boy”,用撇號符號常量括起來的幾個字符:使用#define指令指定一個符號名來表示一個常量,例如:#define PI 3.1416、3.2.1常量和變量,2。變量:變量值可以改變。必須先定義變量,然后在定義變量時指定變量的名稱和類型。變量名和變量值是兩個不同的概念。事實上,變量名是由名稱表示的存儲器地址,并且相應(yīng)的存儲器地址實際上是通過
5、變量名找到的,并且從存儲器單元讀取數(shù)據(jù)。,3.2.1常量和變量,3。常量變量:常量int a=3;4.標(biāo)識符:用于命名變量、符號常數(shù)、函數(shù)、數(shù)組、類型等的有效字符序列。統(tǒng)稱為標(biāo)識符。簡而言之,對象的名稱語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線組成,并且第一個字符必須是帶有合法字母或下劃線的標(biāo)識符:如sum、average、_total、Class、day、BASIC、Li_ling非法標(biāo)識符:M.D.John、 123,33,3d64、ab、大寫和小寫字母是不同的字符。3.2.2數(shù)據(jù)類型,C語言要求所有變量都應(yīng)該用變量類型來定義,常量也應(yīng)該相互區(qū)分。所謂類型是指數(shù)據(jù)分配存儲單元的排列,包括存儲單
6、元的長度(它們占用多少字節(jié))和不同類型的數(shù)據(jù)存儲形式,它們被分配不同的長度和存儲形式。3.2.2數(shù)據(jù)類型、C語言允許的數(shù)據(jù)類型:基本類型、整數(shù)類型、基本整數(shù)、短整數(shù)、長整數(shù)、雙整數(shù)字符類型、浮點類型單精度浮點類型雙精度浮點類型復(fù)雜浮點類型、3.2.2數(shù)據(jù)類型、C語言允許的數(shù)據(jù)類型:基本類型枚舉類型空類型派生類型指針類型數(shù)組類型結(jié)構(gòu)類型公共體類型函數(shù)類型、算術(shù)類型、標(biāo)量類型、3.2.3整數(shù)數(shù)據(jù)、1。整數(shù)數(shù)據(jù)分類基本整數(shù)類型(整型):在VC 6.0中占2個短整型:2字節(jié)長整型;VC 6.0中4字節(jié)長的int:C99中新增,一般分配8字節(jié)。3.2.3整數(shù)數(shù)據(jù),1。整數(shù)數(shù)據(jù)的分類。整數(shù)變量的符號屬性整
7、數(shù)變量的取值范圍包括負(fù)數(shù)到正數(shù)。該變量可以定義為“無符號”類型。擴(kuò)展整形類型有8種,在類型符號前添加了無符號修飾符,表示變量被指定為“無符號整數(shù)”類型。變量的值范圍為零,并以%u格式輸出。3.2.3整數(shù)數(shù)據(jù),擴(kuò)展整數(shù)類型:帶符號基本整數(shù)帶符號整數(shù);無符號基本整數(shù)的無符號整數(shù);短整數(shù)的帶符號短整數(shù);無符號短整型的無符號短整型;有符號長整數(shù)的有符號長整數(shù);無符號長整型無符號雙長整型有符號長整型;無符號雙長整型、3.2.4字符數(shù)據(jù),字符根據(jù)其代碼(整數(shù))形式存儲。C99將字符數(shù)據(jù)作為整數(shù)類型,在使用中有其自身的特點。3.2.4字符數(shù)據(jù),1。字符和字符代碼大多數(shù)系統(tǒng)都采用ASCII字符集,基本字符集包
8、括127個字符,見附錄b。的ASCII碼63被分配給變量cprintf (%d% cn ,c,c);輸出是:63?輸出字符,3.2.5浮點數(shù)據(jù),浮點數(shù)據(jù)用于表示帶小數(shù)點的實數(shù),由于小數(shù)點可以浮動,實數(shù)的指數(shù)形式變成了浮點數(shù)。標(biāo)準(zhǔn)化指數(shù)形式:在指數(shù)形式的各種表示方法中,小數(shù)點前的數(shù)字是0,小數(shù)點后的第一位數(shù)字不是0。浮點型(單精度浮點型)編譯系統(tǒng)將4字節(jié)值分配給浮點型變量,并以標(biāo)準(zhǔn)化二進(jìn)制數(shù)索引的形式存儲它們。參見圖3.11、3.2.5教學(xué)資料中的浮點數(shù)據(jù)。浮點數(shù)據(jù)用于表示帶小數(shù)點的實浮點型(單精度浮點型)和雙精度浮點型(雙精度浮點型)。編譯系統(tǒng)分配8字節(jié)的15位有效數(shù)字長的雙型變量、3.2.5
9、浮點數(shù)據(jù),例如:2.025675轉(zhuǎn)換為二進(jìn)制表示的浮點整數(shù)部分,二進(jìn)制為10;小數(shù)部分為0.025675,二進(jìn)制數(shù)為0.0000,0110,1001,0010,1010,01。整數(shù)部分與小數(shù)部分相連,24位數(shù)字取自第一位數(shù)字(后跟0): 10.000011001001001,這是一個有效數(shù)字。將小數(shù)點前后兩部分連接起來,取掉頭前的1,即尾數(shù):0,0000,0110,1001,0010,01。將小數(shù)點移動到第一個1的前面,并向左移動2位數(shù),加上偏移量127: 127 2=128,二進(jìn)制數(shù)為10,000,000,這是訂單代碼。2.025675是正數(shù),因此符號位為0。連接符號位、順序碼和尾數(shù):0,1
10、000000,0,0000,0110,1001,0010,1010,01。將這32位按8位排序,得到:0100000 000001 100101001是十六進(jìn)制整數(shù)常量:沒有小數(shù)點的數(shù)字系統(tǒng)根據(jù)數(shù)值的大小決定整型或長型;浮點常數(shù):所有以十進(jìn)制或指數(shù)形式出現(xiàn)的實C編譯系統(tǒng)都根據(jù)雙精度處理為浮點常數(shù)分配8個字節(jié),并且根據(jù)它們的表示來判斷常數(shù)的類型。3.2.7運算符和表達(dá)式,1?;舅阈g(shù)運算符:正號運算符(單目運算符)-:負(fù)號運算符(單目運算符)*:乘法運算符/:除法運算符%:余數(shù)運算符:加法運算符-:減法運算符、的運算符范圍很廣,除了控制語句和輸入輸出之外,幾乎所有的運算都被視為運算符。3.2.7
11、運算符和表達(dá)式,說明:兩個整數(shù)相除的結(jié)果是一個整數(shù),例如,5/3的結(jié)果值是0,小數(shù)部分被截斷。如果除數(shù)或被除數(shù)之一為負(fù),則舍入方向不是固定的。例如,-5/3,在一些系統(tǒng)中,結(jié)果是-1,在其他系統(tǒng)中,結(jié)果是-2。VC采用“舍入到零”的方法,如5/3=1,-5/3=-1,舍入后%運算符要求操作數(shù)(即操作數(shù))為整數(shù),結(jié)果也是整數(shù)。如果8%3,結(jié)果是2。除%以外的運算符的操作數(shù)可以是任何算術(shù)類型。3.2.7運算符和表達(dá)式,2。自增自減運算符:功能是將一個變量的值增加或減少1,-1:在使用I之前,將I的值增加(減少)1,I-:在使用I之后,將I的值增加(減少)1,注意:只能用于變量。3.2.7運算符和表
12、達(dá)式,3。算術(shù)表達(dá)式和運算符的優(yōu)先級和關(guān)聯(lián)性:將操作數(shù)(也稱為操作數(shù))與算術(shù)運算符和括號連接起來并符合語法規(guī)則的公式,稱為算術(shù)表達(dá)式。操作數(shù)包括常量、變量、函數(shù)和其他語言,它們規(guī)定了操作符的優(yōu)先級和關(guān)聯(lián)性。在計算表達(dá)式時,應(yīng)該根據(jù)運算符的優(yōu)先順序來執(zhí)行它們。如果優(yōu)先級相同,按第378、3.2.7頁的運算符和表達(dá)式,兩個數(shù)字(1)、-、*、/運算中的一個是浮點或雙精度,結(jié)果是雙精度。系統(tǒng)首先將浮點數(shù)據(jù)轉(zhuǎn)換為雙精度類型,然后執(zhí)行操作。(2)如果用浮點型或雙型數(shù)據(jù)操作整型,整型和浮點型數(shù)據(jù)首先轉(zhuǎn)換成雙型,然后進(jìn)行操作,產(chǎn)生雙型。(3)字符型數(shù)據(jù)用整數(shù)數(shù)據(jù)操作,即字符的ASCII碼用整數(shù)數(shù)據(jù)操作。4。
13、如果不同數(shù)據(jù)類型之間的混合操作運算符兩側(cè)的數(shù)據(jù)類型不同,將自動執(zhí)行類型轉(zhuǎn)換,使它們具有相同的類型,然后執(zhí)行該操作。具體規(guī)則如下:3.2.7運算符和表達(dá)式。如果I是一個值為3的整數(shù)變量,F(xiàn)是一個值為2.5的浮點變量,D是一個值為7.5的雙變量,那么10 a i*f-d/3的編譯操作順序如下:1。執(zhí)行10 a運算,結(jié)果是107,整數(shù);2.執(zhí)行i*f操作。首先,將I和F轉(zhuǎn)換為雙精度類型,結(jié)果是7.5,雙精度類型;3.整數(shù)107加到7.5。首先,107被轉(zhuǎn)換為雙精度,結(jié)果是114.5,是雙精度的;4.執(zhí)行d/3運算,首先將3轉(zhuǎn)換為雙精度類型,結(jié)果為2.5,雙精度類型;5.從2.5中減去114.5,結(jié)果
14、是112.0,雙精度類型。3.2.7運算符和表達(dá)式,示例3.3給出了一個大寫字母,要求輸出小寫字母。關(guān)鍵是找到大寫字母和小寫字母之間的內(nèi)在聯(lián)系。用小寫表示的字符的ASCII碼比用大寫表示的字符的ASCII碼大32,3.2.7個運算符和表達(dá)式,包括# int main()char C1,C2;C1=A;c2=c1 32printf(%cn,C2);printf(“% dn”,C2);返回0;將字符A的ASCII碼65放入c1,將結(jié)果65 32放入c2,以字符形式輸出,以十進(jìn)制形式輸出,3.2.7運算符和表達(dá)式,5。強制類型轉(zhuǎn)換運算符強制類型轉(zhuǎn)換運算符的一般形式是(類型名稱)(表達(dá)式)(doubl
15、e)a(要轉(zhuǎn)換為雙精度類型)(int) (x y)(將x y值轉(zhuǎn)換為int類型)(float)(5%3)(將5%3值轉(zhuǎn)換為float類型)。自動強制類型轉(zhuǎn)換有兩種類型。3.2.7運算符和表達(dá)式,6。運算符(1)算術(shù)運算符(-*/%-) (2)關(guān)系運算符(!)(3)邏輯運算符(!|) (4)位運算符(|) (5)賦值運算符(及其擴(kuò)展賦值運算符)(6)條件運算符(?),3.2.7運算符和表達(dá)式,6。運算符(7)逗號運算符(,)(8)指針運算符(*和)(9)sizeof(10)強制類型轉(zhuǎn)換運算符(類型)(11)成員運算符(。-) (12)下標(biāo)運算符()(13)其他(如函數(shù)調(diào)用運算符(),3.3c. 3.3.1 C語句函數(shù)和分類3.3.2最基本的語句賦值語句、3.3.1 C語句函數(shù)和分類,函數(shù)包括聲明部分和執(zhí)行部分,執(zhí)行部分由語句組成,而語
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)新型企業(yè)研發(fā)中心廠房租賃意向協(xié)議
- 城市道路擴(kuò)建拆遷補償與購房合同
- 燒烤店品牌特許經(jīng)營加盟合同范本
- 不續(xù)聘合同申請
- 柴油終端銷售合同十項補貼
- 智能場館運營管理及維護(hù)服務(wù)合同
- 美術(shù)素描兒童課件
- 推進(jìn)安全生產(chǎn)責(zé)任保險
- 重慶安全生產(chǎn)許可證辦理流程
- 安全操作規(guī)程sop
- T/CAPA 008-2022紅光類美容儀器在皮膚健康管理中的應(yīng)用規(guī)范
- 2025屆遼寧省大連市高新園區(qū)七年級數(shù)學(xué)第二學(xué)期期末考試試題含解析
- 山東省濱州市名校2025屆物理八下期末綜合測試模擬試題含解析
- 醫(yī)療領(lǐng)域AI人才薪酬市場現(xiàn)狀及趨勢
- 金融行業(yè)信息安全培訓(xùn)
- 醫(yī)療廢物管理
- ECMO治療暴發(fā)性心肌炎
- 山東詠坤新材料科技有限公司年產(chǎn)4000噸鋰鈉電池負(fù)極材料生產(chǎn)項目報告書
- 中老年人健康教育宣講
- 社會單位消防安全評估導(dǎo)則
- IT云圖2025:中國算力區(qū)域競爭力研究
評論
0/150
提交評論