版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第四章 最簡單的C程序設(shè)計一一順序程序設(shè)計 4.1 C語句概述一個C程序應(yīng)由兩部分組成,即數(shù)據(jù)描述和數(shù)據(jù)操作。int a=3 ;C程序的主體。數(shù)據(jù)描述:用來定義數(shù)據(jù)結(jié)構(gòu)和預(yù)置數(shù)據(jù)初值,由聲明部分實現(xiàn)。如: 數(shù)據(jù)操作:對已提供的數(shù)據(jù)進(jìn)行加工,由語句來實現(xiàn)。所以,語句是 C語句可以分為5大類。if()/else for()while()do whilecon ti nuebreakswitchgoto其中:()表示個條件。表示內(nèi)嵌的語句。如:if(xy) z=x;else z=y ;1 . 2函數(shù)調(diào)用語句return由函數(shù)加上一個分號構(gòu)成。如:printf( hellow ”1 . 3表達(dá)式語句表
2、達(dá)式加上一個分號即可組成一個表達(dá)式語句。如:i=1 ; x=sin(y);等。1. 4空語句Lx曰一個分號就是一個空語句,表示什么都不做。1. 5復(fù)合語句用括起的一個語句序列。女口:z=x+y ;t=z/1OO ;printf(%f,t) ; a=b;。1 . 6賦值語句1、構(gòu)成:賦值語句由賦值表達(dá)式加上一個分號構(gòu)成。如2、說明1) C語言中的賦值號是一個運算符,這是與其它咼級語言相區(qū)別的。2) 賦值表達(dá)式作為表達(dá)式可以出現(xiàn)在其它任何表達(dá)式中,而作為語句則不能。女口: if (a=b) 0) t=a;,表示先將b賦給a,且如果a0則將a賦給t。 但:if (a=b;) 0) t=a;,則是錯誤
3、的。 4.2數(shù)據(jù)輸入輸出的概念及在C中的應(yīng)用4. 2. 1數(shù)據(jù)輸入輸出的概念1、輸入:相對于計算機主機而言,從外設(shè)讀入數(shù)據(jù)。如:鍵盤、磁盤、光盤等。2、輸出:相對于計算機主機而言,向外設(shè)輸出數(shù)據(jù)。如:顯示器、磁盤、打印機。4. 2. 2數(shù)據(jù)輸入輸出的實現(xiàn)1、C本身并不提供輸入輸出語句,輸入輸出操作是由函數(shù)來實現(xiàn)的。函數(shù)已編譯成 OBJ文件以庫的形式存放在系統(tǒng)中,在源程序編譯后由連接程序?qū)⑺蛶爝M(jìn)行連 接生成可執(zhí)行文件。2、 在使用輸入輸出函數(shù)之前,在程序的開頭應(yīng)加上包含了與標(biāo)準(zhǔn)I/O庫有關(guān)的變量定義和宏定義的頭文件。格式為:#in elude stdio.h 或 #i nclude 但標(biāo)準(zhǔn)的輸
4、入輸出操作scanf和printf 由于使用頻繁,可以不加#include命令。 4.3字符數(shù)據(jù)的輸入輸出4. 3. 1單個字符的輸出1、格式putchar (字符型數(shù)據(jù));2、功能向標(biāo)準(zhǔn)輸出設(shè)備輸出一個字符。3、說明1) 也可以輸出整型數(shù)據(jù),此時,該數(shù)據(jù)作為字符的ASCII碼值。2)該函數(shù)使用前需用#in cludestdio.h 或 #i nclude 例1:#i ncludemain ()char c;/*定義字符變量*/c=B;/*給字符變量賦值*/putchar(c) ;/*putchar(x42);/*putchar(0x42) ;/*4. 3. 2單個字符的輸入輸出該字符*/輸出
5、字母B*/直接用ASCII碼值輸出字母 B*/1、格式getchar();2、功能等待從鍵盤上讀入字符,直到按回車結(jié)束,回車前的所有輸入字符都會逐個顯示 在屏幕上,但只有第一個字符作為函數(shù)的返回值。3、說明1)該函數(shù)的返回值可以賦給整型或字符型變量,也可作為表達(dá)式的一部分。 女口: putchar(getchar();2)該函數(shù)使用前需用#i nclude例2:stdio.h 或 #i nclude #in cludemai n()char c ;從鍵盤讀入字符直到回車結(jié)束*/顯示輸入的第一個字符*/c=getchar() ;/*putchar(c) ;/* 4.4格式輸入與輸出TurboC2
6、.0標(biāo)準(zhǔn)庫提供了兩個控制臺格式化輸入、輸出函數(shù)printf()和scanf(),這兩個函數(shù)可以在標(biāo)準(zhǔn)輸入輸出設(shè)備上以各種不同的格式讀寫數(shù)據(jù)。prin tf()函數(shù)用來向標(biāo)準(zhǔn)輸出設(shè)備(屏幕)寫數(shù)據(jù);scanf()函數(shù)用來從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)上讀數(shù)據(jù)。下面詳 細(xì)介紹這兩個函數(shù)的用法。4. 4. 1格式輸出函數(shù)1、格式 printf(, );其中:格式控制包括兩部分內(nèi)容:一部分是正常字符,這些字符將按原樣輸出;另一部分是格式化控制字符,以%開始,后跟一個或幾個規(guī)定字符,用來確 定輸出內(nèi)容格式。輸出表列是需要輸出的一系列參數(shù),其參數(shù)必須與格式化字符串所說明的輸 出參數(shù)個數(shù)一樣多,各參數(shù)之間用,分開,
7、且順序一一對應(yīng),否則將會出 現(xiàn)錯誤。2、功能以指定的格式向顯示器輸出“輸出表列”的內(nèi)容,“輸出表列”可以是任意類型的數(shù)據(jù)。3、討論1)格式化控制符Turbo C2.0提供的格式化規(guī)定符如下:作用%d,%i帶符號十進(jìn)制形式輸出整數(shù)(正號不輸出)%u無符號十進(jìn)制形式輸出整數(shù)%f小數(shù)形式輸出單、雙精度數(shù),隱含 6位小數(shù)%s輸出字符串%c輸出單個字符%e,%E指數(shù)形式輸出單、雙精度數(shù),隱含 6位小數(shù)%x,%X無符號十六進(jìn)制形式輸出整數(shù)(不輸出前導(dǎo)符“0”)%x:小寫輸出a f ; %X大寫輸出 A F%o無符號八進(jìn)制形式輸出整數(shù)(不輸出前導(dǎo)符“0)%g %G選擇f、6中輸出寬度較短的格式,不輸出無意義
8、的“0用寸,若以指數(shù)形式輸出,則指數(shù)大寫表示2)特殊規(guī)定字符字符作用n換行f清屏并換頁r回車tTab符ddd八進(jìn)制表示的 ASCII碼xhh十六進(jìn)制表示的 ASCII碼3)說明在%和字母之間可以插進(jìn)數(shù)字表示最大場寬。例如:%3d -表示輸出3位整型數(shù),不夠3位右對齊。%9.2f表示輸出 9位實數(shù),其中小數(shù)2位,整數(shù)6位,小數(shù)點1位,不夠9位右對齊。%8s表示輸出8個字符的字符串,不夠8個字符右對齊。如果字符串的長度、或整型數(shù)位數(shù)超過說明的場寬,將按其實際長度輸出。但對實數(shù),若整數(shù)部分位數(shù)超過了說明的整數(shù)位寬度 ,將按實際整數(shù)位輸出;若小數(shù)部分位數(shù) 超過了說明的小數(shù)位寬度,則按說明的寬度以四舍五
9、入輸出。另外,若想在輸出值前加一些 0,就應(yīng)在場寬項前加一個0。例如:%04d表示在輸出一個小于 4位的數(shù)值時,將在前面補0使其總寬度為4位。 如果用實數(shù)表示字符或整型量的輸出格式,小數(shù)點后的數(shù)字代表最大寬度,小數(shù)點前的數(shù)字代表最小寬度。例如:%6.9s表示顯示一個長度不小于6且不大于9的字符串。若大于 9,則第9個字符以后的內(nèi)容將被刪除??梢栽?和字母之間加小寫字母 I,表示輸出的是長型數(shù)。 例如:%ld表示輸出long整數(shù)%lf表示輸出double實數(shù)輸出默認(rèn)為右對齊,但如果在和字母之間加入一個-號則輸出為左對齊。例如:%-7d表示輸出7位整數(shù)左對齊%-10s表示輸出10個字符左對齊4、例
10、子#in clude#in clude int mai n()=Hello, Comradechar c, sint a=1234;float f=3.141592653589double x=0.12345678987654321 c=x41prin tf(a=%dn, a) prin tf(a=%6dn, a) prin tf(a=%06dn, a) prin tf(a=%2dn, a) prin tf(*i=%4dn, *i) prin tf(f=%fn, f) prin tf(f=6.4fn, prin tf(x=%lfn, x) prin tf(x=%18.16lfn, x)f);/
11、*/*/*/*a/*/*/*/*結(jié)果輸出十進(jìn)制整數(shù)a=1234*/結(jié)果輸出6位十進(jìn)制數(shù)a= 1234*/結(jié)果輸出6位十進(jìn)制數(shù)a=001234*/超過2位,按實際值輸出a=1234*/輸出4位十進(jìn)制整數(shù)*i=12*/輸出浮點數(shù)f=3.141593*/輸出6位其中小數(shù)點后 4位的浮點數(shù)f=3.1416*/輸出長浮點數(shù)x=0.123457*/*輸出18位其中小數(shù)點后16位的長數(shù)x=0.1234567898765432*/prin tf(c=%c n, c) prin tf(c=%x n, c) prin tf(s=%sn, s) prin tf(s=%6.9sn, s)/*輸出字符c=A*/*輸出字
12、符的ASCII碼值c=41*/*輸出數(shù)組字符串 s=Hello, Comrade*/,Co*/;/*輸出最多9個字符的字符串 s=Hello4. 4. 2格式輸入函數(shù)1、格式scanf(, );其中:格式控制包括三部分內(nèi)容:一部分是格式化控制字符,以%開始,與prin tf()的用法基本相同;第二部分是“空格”,其作用是在讀操作時略去輸入數(shù)據(jù)中的一個或多個空格字符;第三部分是非空格字符,其作用是在讀 操作時剔除與該字符相同的字符。輸出表列是需要輸出的一系列參數(shù),其參數(shù)必須與格式化字符串所說明的輸出參數(shù)個數(shù)一樣多,各參數(shù)之間用,分開,且順序一一對應(yīng),否則將會出 現(xiàn)錯誤。地址表是需要讀入的所有變量
13、的地址,而不是變量本身。這與printf() 函數(shù) 完全不同,要特別注意。各個變量的地址之間同,分開。2、功能以指定的格式從鍵盤讀入數(shù)據(jù),并順序存放到“地址表”指定的存儲單元中,并剔 除掉“格式控制”中指定的字符。例: main()i nt i, j;prin tf(i, j=?n);sca nf(%d, %d, &i, &j);上例中的scanf()函數(shù)先讀一個整型數(shù),然后把接著輸入的逗號剔除掉,最后讀入另 一個整型數(shù)。如果,這一特定字符沒有找到,scanf()函數(shù)就終止。若參數(shù)之間的分隔符為空格,則參數(shù)之間必須輸入一個或多個空格。3、討論1)對于字符串?dāng)?shù)組或字符串指針變量,由于數(shù)組名和指針
14、變量名本身就是地址,因此使用scanf()函數(shù)時,不需要在它們前面加上&操作符。mia n()char *p, str20;sca nf(%s, p);/*從健盤輸入字符串*/sca nf(%s, str);prin tf(%sn, p);/*向屏幕輸出字符串*/prin tf(%sn, str);2) 可以在格式化控制字符中的和規(guī)定字符之間加一個整數(shù),表示讀操作中數(shù)的最大位數(shù)。如:scanf(%10s, p);,程序運行時一旦輸入字符個數(shù)大于10, p就不再繼續(xù)讀入,而后面的一個輸入函數(shù)即scanf(%s, str)就會從第11個字符開始讀入。3) 在用“ C輸入字符時,空格字符和轉(zhuǎn)義字符都作為有效字符。4) 數(shù)據(jù)輸入的結(jié)束標(biāo)志是回車鍵,但遇到下列符號也視為輸入結(jié)束,即該符號后的 數(shù)據(jù)無效,但整個輸入過程仍是按下回車鍵結(jié)束??崭矜ITab鍵非法輸入超過指定的數(shù)據(jù)寬度 4.5順序結(jié)構(gòu)程序設(shè)計舉例例1:輸入三角形的條邊長,求三角形的面積。#include math.h ”mai n()float a,b,c,s,aera ;scanf( %f,%f,%f ,&a,&b,&c);s=1.0/2*(a+b+c);aera=sprt(s*(s-a)*(s-b)*(s-c);printf(a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f,aera=%7.2fn,a,b,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國酸梅汁數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國聚氯乙烯工業(yè)膜數(shù)據(jù)監(jiān)測研究報告
- 網(wǎng)吧裝修項目合同范本
- 房地產(chǎn)項目投融資居間協(xié)議
- 教育咨詢?yōu)楹⒆拥某砷L提供專業(yè)規(guī)劃
- 化妝品行業(yè)倉庫盤點制度與流程
- 現(xiàn)代小學(xué)生在商業(yè)倫理中的角色和責(zé)任
- 房地產(chǎn)公司財務(wù)報銷制度分析
- 創(chuàng)意辦公空間的設(shè)計與實現(xiàn)
- 醫(yī)療背景下的家庭教育健康與教育的雙重保障
- 2025年度愛讀書學(xué)長定制化閱讀計劃合同2篇
- 江西省港口集團(tuán)有限公司招聘筆試沖刺題2025
- 河南省信陽市浉河區(qū)9校聯(lián)考2024-2025學(xué)年八年級上學(xué)期12月月考地理試題(含答案)
- 火災(zāi)安全教育觀后感
- 農(nóng)村自建房屋安全協(xié)議書
- 快速康復(fù)在骨科護(hù)理中的應(yīng)用
- 國民經(jīng)濟(jì)行業(yè)分類和代碼表(電子版)
- ICU患者外出檢查的護(hù)理
- 公司收購設(shè)備合同范例
- 廣東省潮州市2023-2024學(xué)年高二上學(xué)期語文期末考試試卷(含答案)
- 2024年光伏發(fā)電項目EPC總包合同
評論
0/150
提交評論