第四章最簡(jiǎn)單的C程序設(shè)計(jì)――順序程序設(shè)計(jì)._第1頁(yè)
第四章最簡(jiǎn)單的C程序設(shè)計(jì)――順序程序設(shè)計(jì)._第2頁(yè)
第四章最簡(jiǎn)單的C程序設(shè)計(jì)――順序程序設(shè)計(jì)._第3頁(yè)
第四章最簡(jiǎn)單的C程序設(shè)計(jì)――順序程序設(shè)計(jì)._第4頁(yè)
第四章最簡(jiǎn)單的C程序設(shè)計(jì)――順序程序設(shè)計(jì)._第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第四章 最簡(jiǎn)單的C程序設(shè)計(jì)一一順序程序設(shè)計(jì) 4.1 C語(yǔ)句概述一個(gè)C程序應(yīng)由兩部分組成,即數(shù)據(jù)描述和數(shù)據(jù)操作。int a=3 ;C程序的主體。數(shù)據(jù)描述:用來(lái)定義數(shù)據(jù)結(jié)構(gòu)和預(yù)置數(shù)據(jù)初值,由聲明部分實(shí)現(xiàn)。如: 數(shù)據(jù)操作:對(duì)已提供的數(shù)據(jù)進(jìn)行加工,由語(yǔ)句來(lái)實(shí)現(xiàn)。所以,語(yǔ)句是 C語(yǔ)句可以分為5大類(lèi)。if()/else for()while()do whilecon ti nuebreakswitchgoto其中:()表示個(gè)條件。表示內(nèi)嵌的語(yǔ)句。如:if(xy) z=x;else z=y ;1 . 2函數(shù)調(diào)用語(yǔ)句return由函數(shù)加上一個(gè)分號(hào)構(gòu)成。如:printf( hellow ”1 . 3表達(dá)式語(yǔ)句表

2、達(dá)式加上一個(gè)分號(hào)即可組成一個(gè)表達(dá)式語(yǔ)句。如:i=1 ; x=sin(y);等。1. 4空語(yǔ)句Lx曰一個(gè)分號(hào)就是一個(gè)空語(yǔ)句,表示什么都不做。1. 5復(fù)合語(yǔ)句用括起的一個(gè)語(yǔ)句序列。女口:z=x+y ;t=z/1OO ;printf(%f,t) ; a=b;。1 . 6賦值語(yǔ)句1、構(gòu)成:賦值語(yǔ)句由賦值表達(dá)式加上一個(gè)分號(hào)構(gòu)成。如2、說(shuō)明1) C語(yǔ)言中的賦值號(hào)是一個(gè)運(yùn)算符,這是與其它咼級(jí)語(yǔ)言相區(qū)別的。2) 賦值表達(dá)式作為表達(dá)式可以出現(xiàn)在其它任何表達(dá)式中,而作為語(yǔ)句則不能。女口: if (a=b) 0) t=a;,表示先將b賦給a,且如果a0則將a賦給t。 但:if (a=b;) 0) t=a;,則是錯(cuò)誤

3、的。 4.2數(shù)據(jù)輸入輸出的概念及在C中的應(yīng)用4. 2. 1數(shù)據(jù)輸入輸出的概念1、輸入:相對(duì)于計(jì)算機(jī)主機(jī)而言,從外設(shè)讀入數(shù)據(jù)。如:鍵盤(pán)、磁盤(pán)、光盤(pán)等。2、輸出:相對(duì)于計(jì)算機(jī)主機(jī)而言,向外設(shè)輸出數(shù)據(jù)。如:顯示器、磁盤(pán)、打印機(jī)。4. 2. 2數(shù)據(jù)輸入輸出的實(shí)現(xiàn)1、C本身并不提供輸入輸出語(yǔ)句,輸入輸出操作是由函數(shù)來(lái)實(shí)現(xiàn)的。函數(shù)已編譯成 OBJ文件以庫(kù)的形式存放在系統(tǒng)中,在源程序編譯后由連接程序?qū)⑺蛶?kù)進(jìn)行連 接生成可執(zhí)行文件。2、 在使用輸入輸出函數(shù)之前,在程序的開(kāi)頭應(yīng)加上包含了與標(biāo)準(zhǔn)I/O庫(kù)有關(guān)的變量定義和宏定義的頭文件。格式為:#in elude stdio.h 或 #i nclude 但標(biāo)準(zhǔn)的輸

4、入輸出操作scanf和printf 由于使用頻繁,可以不加#include命令。 4.3字符數(shù)據(jù)的輸入輸出4. 3. 1單個(gè)字符的輸出1、格式putchar (字符型數(shù)據(jù));2、功能向標(biāo)準(zhǔn)輸出設(shè)備輸出一個(gè)字符。3、說(shuō)明1) 也可以輸出整型數(shù)據(jù),此時(shí),該數(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單個(gè)字符的輸入輸出該字符*/輸出

5、字母B*/直接用ASCII碼值輸出字母 B*/1、格式getchar();2、功能等待從鍵盤(pán)上讀入字符,直到按回車(chē)結(jié)束,回車(chē)前的所有輸入字符都會(huì)逐個(gè)顯示 在屏幕上,但只有第一個(gè)字符作為函數(shù)的返回值。3、說(shuō)明1)該函數(shù)的返回值可以賦給整型或字符型變量,也可作為表達(dá)式的一部分。 女口: putchar(getchar();2)該函數(shù)使用前需用#i nclude例2:stdio.h 或 #i nclude #in cludemai n()char c ;從鍵盤(pán)讀入字符直到回車(chē)結(jié)束*/顯示輸入的第一個(gè)字符*/c=getchar() ;/*putchar(c) ;/* 4.4格式輸入與輸出TurboC2

6、.0標(biāo)準(zhǔn)庫(kù)提供了兩個(gè)控制臺(tái)格式化輸入、輸出函數(shù)printf()和scanf(),這兩個(gè)函數(shù)可以在標(biāo)準(zhǔn)輸入輸出設(shè)備上以各種不同的格式讀寫(xiě)數(shù)據(jù)。prin tf()函數(shù)用來(lái)向標(biāo)準(zhǔn)輸出設(shè)備(屏幕)寫(xiě)數(shù)據(jù);scanf()函數(shù)用來(lái)從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤(pán))上讀數(shù)據(jù)。下面詳 細(xì)介紹這兩個(gè)函數(shù)的用法。4. 4. 1格式輸出函數(shù)1、格式 printf(, );其中:格式控制包括兩部分內(nèi)容:一部分是正常字符,這些字符將按原樣輸出;另一部分是格式化控制字符,以%開(kāi)始,后跟一個(gè)或幾個(gè)規(guī)定字符,用來(lái)確 定輸出內(nèi)容格式。輸出表列是需要輸出的一系列參數(shù),其參數(shù)必須與格式化字符串所說(shuō)明的輸 出參數(shù)個(gè)數(shù)一樣多,各參數(shù)之間用,分開(kāi),

7、且順序一一對(duì)應(yīng),否則將會(huì)出 現(xiàn)錯(cuò)誤。2、功能以指定的格式向顯示器輸出“輸出表列”的內(nèi)容,“輸出表列”可以是任意類(lèi)型的數(shù)據(jù)。3、討論1)格式化控制符Turbo C2.0提供的格式化規(guī)定符如下:作用%d,%i帶符號(hào)十進(jìn)制形式輸出整數(shù)(正號(hào)不輸出)%u無(wú)符號(hào)十進(jìn)制形式輸出整數(shù)%f小數(shù)形式輸出單、雙精度數(shù),隱含 6位小數(shù)%s輸出字符串%c輸出單個(gè)字符%e,%E指數(shù)形式輸出單、雙精度數(shù),隱含 6位小數(shù)%x,%X無(wú)符號(hào)十六進(jìn)制形式輸出整數(shù)(不輸出前導(dǎo)符“0”)%x:小寫(xiě)輸出a f ; %X大寫(xiě)輸出 A F%o無(wú)符號(hào)八進(jìn)制形式輸出整數(shù)(不輸出前導(dǎo)符“0)%g %G選擇f、6中輸出寬度較短的格式,不輸出無(wú)意義

8、的“0用寸,若以指數(shù)形式輸出,則指數(shù)大寫(xiě)表示2)特殊規(guī)定字符字符作用n換行f清屏并換頁(yè)r回車(chē)tTab符ddd八進(jìn)制表示的 ASCII碼xhh十六進(jìn)制表示的 ASCII碼3)說(shuō)明在%和字母之間可以插進(jìn)數(shù)字表示最大場(chǎng)寬。例如:%3d -表示輸出3位整型數(shù),不夠3位右對(duì)齊。%9.2f表示輸出 9位實(shí)數(shù),其中小數(shù)2位,整數(shù)6位,小數(shù)點(diǎn)1位,不夠9位右對(duì)齊。%8s表示輸出8個(gè)字符的字符串,不夠8個(gè)字符右對(duì)齊。如果字符串的長(zhǎng)度、或整型數(shù)位數(shù)超過(guò)說(shuō)明的場(chǎng)寬,將按其實(shí)際長(zhǎng)度輸出。但對(duì)實(shí)數(shù),若整數(shù)部分位數(shù)超過(guò)了說(shuō)明的整數(shù)位寬度 ,將按實(shí)際整數(shù)位輸出;若小數(shù)部分位數(shù) 超過(guò)了說(shuō)明的小數(shù)位寬度,則按說(shuō)明的寬度以四舍五

9、入輸出。另外,若想在輸出值前加一些 0,就應(yīng)在場(chǎng)寬項(xiàng)前加一個(gè)0。例如:%04d表示在輸出一個(gè)小于 4位的數(shù)值時(shí),將在前面補(bǔ)0使其總寬度為4位。 如果用實(shí)數(shù)表示字符或整型量的輸出格式,小數(shù)點(diǎn)后的數(shù)字代表最大寬度,小數(shù)點(diǎn)前的數(shù)字代表最小寬度。例如:%6.9s表示顯示一個(gè)長(zhǎng)度不小于6且不大于9的字符串。若大于 9,則第9個(gè)字符以后的內(nèi)容將被刪除??梢栽?和字母之間加小寫(xiě)字母 I,表示輸出的是長(zhǎng)型數(shù)。 例如:%ld表示輸出long整數(shù)%lf表示輸出double實(shí)數(shù)輸出默認(rèn)為右對(duì)齊,但如果在和字母之間加入一個(gè)-號(hào)則輸出為左對(duì)齊。例如:%-7d表示輸出7位整數(shù)左對(duì)齊%-10s表示輸出10個(gè)字符左對(duì)齊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*/超過(guò)2位,按實(shí)際值輸出a=1234*/輸出4位十進(jìn)制整數(shù)*i=12*/輸出浮點(diǎn)數(shù)f=3.141593*/輸出6位其中小數(shù)點(diǎn)后 4位的浮點(diǎn)數(shù)f=3.1416*/輸出長(zhǎng)浮點(diǎn)數(shù)x=0.123457*/*輸出18位其中小數(shù)點(diǎn)后16位的長(zhǎng)數(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個(gè)字符的字符串 s=Hello4. 4. 2格式輸入函數(shù)1、格式scanf(, );其中:格式控制包括三部分內(nèi)容:一部分是格式化控制字符,以%開(kāi)始,與prin tf()的用法基本相同;第二部分是“空格”,其作用是在讀操作時(shí)略去輸入數(shù)據(jù)中的一個(gè)或多個(gè)空格字符;第三部分是非空格字符,其作用是在讀 操作時(shí)剔除與該字符相同的字符。輸出表列是需要輸出的一系列參數(shù),其參數(shù)必須與格式化字符串所說(shuō)明的輸出參數(shù)個(gè)數(shù)一樣多,各參數(shù)之間用,分開(kāi),且順序一一對(duì)應(yīng),否則將會(huì)出 現(xiàn)錯(cuò)誤。地址表是需要讀入的所有變量

13、的地址,而不是變量本身。這與printf() 函數(shù) 完全不同,要特別注意。各個(gè)變量的地址之間同,分開(kāi)。2、功能以指定的格式從鍵盤(pán)讀入數(shù)據(jù),并順序存放到“地址表”指定的存儲(chǔ)單元中,并剔 除掉“格式控制”中指定的字符。例: main()i nt i, j;prin tf(i, j=?n);sca nf(%d, %d, &i, &j);上例中的scanf()函數(shù)先讀一個(gè)整型數(shù),然后把接著輸入的逗號(hào)剔除掉,最后讀入另 一個(gè)整型數(shù)。如果,這一特定字符沒(méi)有找到,scanf()函數(shù)就終止。若參數(shù)之間的分隔符為空格,則參數(shù)之間必須輸入一個(gè)或多個(gè)空格。3、討論1)對(duì)于字符串?dāng)?shù)組或字符串指針變量,由于數(shù)組名和指針

14、變量名本身就是地址,因此使用scanf()函數(shù)時(shí),不需要在它們前面加上&操作符。mia n()char *p, str20;sca nf(%s, p);/*從健盤(pán)輸入字符串*/sca nf(%s, str);prin tf(%sn, p);/*向屏幕輸出字符串*/prin tf(%sn, str);2) 可以在格式化控制字符中的和規(guī)定字符之間加一個(gè)整數(shù),表示讀操作中數(shù)的最大位數(shù)。如:scanf(%10s, p);,程序運(yùn)行時(shí)一旦輸入字符個(gè)數(shù)大于10, p就不再繼續(xù)讀入,而后面的一個(gè)輸入函數(shù)即scanf(%s, str)就會(huì)從第11個(gè)字符開(kāi)始讀入。3) 在用“ C輸入字符時(shí),空格字符和轉(zhuǎn)義字符都作為有效字符。4) 數(shù)據(jù)輸入的結(jié)束標(biāo)志是回車(chē)鍵,但遇到下列符號(hào)也視為輸入結(jié)束,即該符號(hào)后的 數(shù)據(jù)無(wú)效,但整個(gè)輸入過(guò)程仍是按下回車(chē)鍵結(jié)束??崭矜ITab鍵非法輸入超過(guò)指定的數(shù)據(jù)寬度 4.5順序結(jié)構(gòu)程序設(shè)計(jì)舉例例1:輸入三角形的條邊長(zhǎng),求三角形的面積。#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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論