遼師大版信息技術(shù)九年《順序結(jié)構(gòu)程序設(shè)計(jì)》ppt課件幻燈片_第1頁(yè)
遼師大版信息技術(shù)九年《順序結(jié)構(gòu)程序設(shè)計(jì)》ppt課件幻燈片_第2頁(yè)
遼師大版信息技術(shù)九年《順序結(jié)構(gòu)程序設(shè)計(jì)》ppt課件幻燈片_第3頁(yè)
遼師大版信息技術(shù)九年《順序結(jié)構(gòu)程序設(shè)計(jì)》ppt課件幻燈片_第4頁(yè)
遼師大版信息技術(shù)九年《順序結(jié)構(gòu)程序設(shè)計(jì)》ppt課件幻燈片_第5頁(yè)
已閱讀5頁(yè),還剩56頁(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、 例如,計(jì)算1+2+3+1000的算法可 表示為 步驟1:0 s; 步驟2:1 i; 步驟3:s+i s; 步驟4:i+1 i; 步驟5:如果i1000,轉(zhuǎn)到步驟3,否則結(jié) 束。 在上面的算法中,符號(hào)、 表示變量,符號(hào) “”表示給變量賦值。 步驟1和步驟2表示給變量s和i賦初始值為0和1; 步驟3將變量i的當(dāng)前值累加到變量s中; 步驟4使變量i在原值的基礎(chǔ)上增加1; 步驟5判斷i的值如果小于等于1000,重復(fù)做步驟3和 步驟4,構(gòu)成一個(gè)循環(huán), 而當(dāng)i的值不小于等于1000時(shí),循環(huán)結(jié)束,這時(shí), 變量s的值就是要求的計(jì)算結(jié)果。 3.1.2 算法的特征 通常,一個(gè)算法必須具備以下五個(gè)基本特征: (1

2、) 有窮性。有窮性。 一個(gè)算法必須在它所涉及的每一種情形下,都能在執(zhí)行有限次的操作 之后結(jié)束。 (2) 確定性。確定性。 算法的每一步,其順序和內(nèi)容都必須嚴(yán)格定義,而不能有任何的歧義。 (3) 有零個(gè)或多個(gè)輸入。有零個(gè)或多個(gè)輸入。 輸入是算法實(shí)施前需要從外界取得的信息,有些算法需要有多個(gè)輸入, 而有些算法不需要輸入,即零個(gè)輸入。 (4) 有一個(gè)或多個(gè)輸出。有一個(gè)或多個(gè)輸出。 輸出就是算法實(shí)施后得到的結(jié)果,顯然,沒(méi)有輸出的算法是沒(méi)有意義 的。 (5) 可行性??尚行浴?算法的每一步都必須是可行的,也就是說(shuō),是能夠由計(jì)算機(jī)執(zhí)行的。 3.1.3 算法的描述 1用自然語(yǔ)言描述 自然語(yǔ)言就是人們?nèi)粘J褂?/p>

3、的語(yǔ)言,前面的 算法就是用自然語(yǔ)言表示的。 用自然語(yǔ)言表示算法,通俗易懂。但是,自 然語(yǔ)言表示的含義往往不太嚴(yán)格,要根據(jù)上 下文才能判斷它的正確含義。另外,用自然 語(yǔ)言描述分支和循環(huán)不很方便。 因此,除對(duì)簡(jiǎn)單的問(wèn)題使用以外,一般不用 自然語(yǔ)言描述算法。 計(jì)算機(jī)該用何種形式計(jì)算機(jī)該用何種形式 來(lái)描述問(wèn)題更為簡(jiǎn)潔、來(lái)描述問(wèn)題更為簡(jiǎn)潔、 明了?明了? 2用流程圖描述 傳統(tǒng)的流程圖由圖3-1所示的幾種基本元 素組成。 用流程圖描述算法,形象直觀,簡(jiǎn)單方便。 例如,前面的算法用流程圖可表示為如圖3- 2所示。 圖3-1 流程圖基本元素 起止框輸入/輸出框處理框判斷框流程線 圖3-2 計(jì)算1+2+3+10

4、00的算法流程圖 開(kāi)始 0s 1i sis i1i i1000 輸出s 結(jié)束 成立 不成立 3用N-S流程圖描述算法 傳統(tǒng)的流程圖用流程線和流程元素表示各個(gè)處理的執(zhí)行順 序,但對(duì)流程線的使用沒(méi)有嚴(yán)格的規(guī)定,因此,使用者可 以不受限制地使流程轉(zhuǎn)來(lái)轉(zhuǎn)去,這樣的流程圖使人難以理 解算法的邏輯。 為了解決這個(gè)問(wèn)題,規(guī)定了算法的三種基本結(jié)構(gòu): 順序結(jié)構(gòu)順序結(jié)構(gòu) 分支結(jié)構(gòu)分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 用這些基本結(jié)構(gòu)按一定的規(guī)律組成一個(gè)算法,這樣的算法 稱為結(jié)構(gòu)化算法結(jié)構(gòu)化算法。按照結(jié)構(gòu)化算法編寫(xiě)的程序稱為結(jié)構(gòu)結(jié)構(gòu) 化程序化程序。 為了設(shè)計(jì)結(jié)構(gòu)化算法,1973年,美國(guó)學(xué)者I.Nassi和 B.Shneider

5、man提出一種新的流程圖,稱為N-S流程圖流程圖。 N-S流程圖的基本符號(hào)如圖3-3所示。 圖3-3 N-S流程圖基本符號(hào) 操作A 操作B 順序結(jié)構(gòu) 操作A操作B 成立不成立 條件p 分支結(jié)構(gòu) 操作A 當(dāng)條件p成立 操作A 直到條件p成立 當(dāng)型循環(huán)直到型循環(huán) 循環(huán)結(jié)構(gòu) 圖3-4 計(jì)算1+2+3+1000算法的N-S圖 0s 1i sis i1i 直到i1000 輸出s 3.1.4 結(jié)構(gòu)化程序設(shè)計(jì)方法 結(jié)構(gòu)化程序設(shè)計(jì)強(qiáng)調(diào)程序設(shè)計(jì)風(fēng)格和程序結(jié)構(gòu)的規(guī) 范化,提倡清晰的結(jié)構(gòu)。 結(jié)構(gòu)化程序設(shè)計(jì)的基本思路是: 把一個(gè)復(fù)雜問(wèn)題的解決過(guò)程分階段進(jìn)行 每一個(gè)階段處理的問(wèn)題都控制在人們?nèi)菀桌斫夂吞幚淼?范圍內(nèi) 是

6、在分析問(wèn)題時(shí)采用“”的 方法 “自頂向下,逐步細(xì)化” 是對(duì)問(wèn)題的解決過(guò)程逐步具體化的一種思想 方法。 例如,要在一組數(shù)中找出其中的最大數(shù),首 先,可以把問(wèn)題的解決過(guò)程描述為 (1) 輸入一組數(shù)。 (2) 找出其中的最大數(shù)。 (3) 輸出最大數(shù)。 以上三條中,第(1)、(3)兩步比較簡(jiǎn)單, 對(duì)第(2)步可以進(jìn)一步細(xì)化: (1) 任取一數(shù),假設(shè)它就是最大數(shù)。 (2) 將該數(shù)與其余各數(shù)逐一比較。 (3) 若發(fā)現(xiàn)有任何數(shù)大于假設(shè)的最大數(shù),則 取而代之。 再對(duì)以上過(guò)程進(jìn)一步具體化,得到如下 算法: (1) 輸入一組數(shù)。 (2) 找出其中的最大數(shù)。 令max第一個(gè)數(shù)。 將第二個(gè)數(shù)到最后一個(gè)數(shù)依次取出。 比

7、較x與max的大小,如果xmax,則令 maxx。 (3) 輸出max。 “”就是將比較復(fù)雜的任務(wù), 分解成若干個(gè)子任務(wù) 每個(gè)子任務(wù)又分解成若干個(gè)小子任務(wù) 每個(gè)小子任務(wù)只完成一項(xiàng)簡(jiǎn)單的功能 在程序設(shè)計(jì)時(shí),用一個(gè)個(gè)小模塊來(lái)實(shí)現(xiàn)這些 功能,每個(gè)小模塊對(duì)應(yīng)一個(gè)相對(duì)獨(dú)立的子程 序。對(duì)程序設(shè)計(jì)人員來(lái)說(shuō),編寫(xiě)程序也就變 得不再困難。 “結(jié)構(gòu)化編碼”指的是使用支持結(jié)構(gòu)化方 法的高級(jí)語(yǔ)言編寫(xiě)程序。 C語(yǔ)言就是一種支持結(jié)構(gòu)化程序設(shè)計(jì)的高級(jí)語(yǔ)言就是一種支持結(jié)構(gòu)化程序設(shè)計(jì)的高級(jí) 語(yǔ)言語(yǔ)言, 它直接提供了三種基本結(jié)構(gòu)的語(yǔ)句; 提供了定義“函數(shù)”的功能,函數(shù)相當(dāng)于獨(dú)立的 子程序。 另外,還提供了豐富的數(shù)據(jù)類型。 這些都

8、為結(jié)構(gòu)化設(shè)計(jì)提供了有力的工具。 3.2 C 語(yǔ) 言 語(yǔ) 句 C語(yǔ)言程序是由函數(shù)構(gòu)成的,而函數(shù)又是由函數(shù)說(shuō)明和 函數(shù)體兩部分組成,其中,函數(shù)體是函數(shù)的核心。 與其他高級(jí)語(yǔ)言一樣,C語(yǔ)言也是利用函數(shù)體中的可執(zhí) 行語(yǔ)句,向計(jì)算機(jī)系統(tǒng)發(fā)出操作命令。 按照語(yǔ)句功能或構(gòu)成的不同,可將C語(yǔ)言語(yǔ)句分為如下 五類: 控制語(yǔ)句控制語(yǔ)句函數(shù)調(diào)用語(yǔ)句函數(shù)調(diào)用語(yǔ)句表達(dá)式語(yǔ)句表達(dá)式語(yǔ)句空語(yǔ)句空語(yǔ)句復(fù)復(fù) 合語(yǔ)句合語(yǔ)句 1控制語(yǔ)句控制語(yǔ)句 控制語(yǔ)句完成一定的控制功能。C語(yǔ)言 只有9條控制語(yǔ)句,又可細(xì)分為三種: (1) 選擇結(jié)構(gòu)控制語(yǔ)句選擇結(jié)構(gòu)控制語(yǔ)句: if() else,switch() (2) 循環(huán)結(jié)構(gòu)控制語(yǔ)句循環(huán)結(jié)構(gòu)控

9、制語(yǔ)句: dowhile(),for(),while(),break, continue (3) 其他控制語(yǔ)句其他控制語(yǔ)句: goto,return 2函數(shù)調(diào)用語(yǔ)句函數(shù)調(diào)用語(yǔ)句 函數(shù)調(diào)用語(yǔ)句由一次函數(shù)調(diào)用加一個(gè)分號(hào)(語(yǔ)句 結(jié)束標(biāo)志)構(gòu)成。例如: printf(This is a C Program.); 3表達(dá)式語(yǔ)句表達(dá)式語(yǔ)句 表達(dá)式語(yǔ)句由表達(dá)式后加一個(gè)分號(hào)構(gòu)成。 表達(dá)式能構(gòu)成語(yǔ)句是C語(yǔ)言的一大特色。最典型 的表達(dá)式語(yǔ)句是在賦值表達(dá)式后加一個(gè)分號(hào)構(gòu) 成的賦值語(yǔ)句。 例如, “num=5”是一個(gè)賦值表達(dá)式,而“num=5;”卻是一個(gè)賦 值語(yǔ)句。 4空語(yǔ)句空語(yǔ)句 空語(yǔ)句僅由一個(gè)分號(hào)構(gòu)成。 顯然,空

10、語(yǔ)句什么操作也不執(zhí)行。 5復(fù)合語(yǔ)句復(fù)合語(yǔ)句 復(fù)合語(yǔ)句由大括號(hào)括起來(lái)的一組(也可以是一 條)語(yǔ)句構(gòu)成。例如: 說(shuō)明: (1) 在語(yǔ)法上,復(fù)合語(yǔ)句和簡(jiǎn)單語(yǔ)句相同, 即簡(jiǎn)單語(yǔ)句可以出現(xiàn)的地方,都可以使用復(fù) 合語(yǔ)句。 (2) 復(fù)合語(yǔ)句可以嵌套,即復(fù)合語(yǔ)句中也可 包含一個(gè)或多個(gè)復(fù)合語(yǔ)句。 3.3 格式化輸出函數(shù)printf() 程序運(yùn)行中,有時(shí)候需要從外部設(shè)備(例如 鍵盤)上得到一些原始數(shù)據(jù),程序計(jì)算結(jié)束 后,通常要把計(jì)算結(jié)果發(fā)送到外部設(shè)備(例 如顯示器)上,以便人們對(duì)結(jié)果進(jìn)行分析。 我們把程序從外部設(shè)備上獲得數(shù)據(jù)的操作稱 為“”,而把程序發(fā)送數(shù)據(jù)到外部設(shè) 備的操作稱為“”。 不像其他的高級(jí)語(yǔ)言,C語(yǔ)言

11、沒(méi)有專門的 輸入/輸出語(yǔ)句,輸入/輸出的操作是通過(guò) 調(diào)用C語(yǔ)言的庫(kù)函數(shù)來(lái)實(shí)現(xiàn)的。 printf()函數(shù)函數(shù)就是最常用的輸出函數(shù),它的 作用是向計(jì)算機(jī)系統(tǒng)默認(rèn)的輸出設(shè)備(一般 指顯示器)輸出一個(gè)或多個(gè)任意指定類型的 數(shù)據(jù)。 3.3.1 printf( )函數(shù)的一般格式 調(diào)用printf()函數(shù)的一般格式為 printf(格式字符串格式字符串, 輸出表項(xiàng)輸出表項(xiàng)); 例如: printf(radius=%fnlength=%7.2f,area=%7.2fn, r, l, a); 格式字符串格式字符串也稱格式控制字符串或格式轉(zhuǎn) 換字符串,其中可以包含下列種字符: (1) 格式指示符:格式指示符: 這

12、些字符用來(lái)控制數(shù)據(jù)的輸出格式 例如“%f”、“%7.2f”等 (2) 轉(zhuǎn)義字符轉(zhuǎn)義字符: 這些字符通常用來(lái)控制光標(biāo)的位置。 (3) 普通字符普通字符: 除格式指示符和轉(zhuǎn)義字符之外的其他字符,這些字 符輸出時(shí)原樣輸出 例如上面例子中的“radius=”等 printf(radius=%fnlength=%7.2f,area=%7.2fn, r, l, a); ); 輸出表項(xiàng)輸出表項(xiàng) 由若干個(gè)輸出項(xiàng)構(gòu)成,輸出項(xiàng)之間用來(lái)分 隔, 每個(gè)輸出項(xiàng)既可以是常量、變量,也可以是表 達(dá)式。 有時(shí)候,調(diào)用printf()函數(shù)時(shí),也可以沒(méi)有輸出 項(xiàng)。在這種情況下,一般用來(lái)輸出一些提示信 息,例如: printf (

13、Hello, world!n); 3.3.2 格式指示符 格式指示符的一般形式為 %修飾符修飾符格式字符格式字符 1格式字符 printf函數(shù)中常用的格式字符如表3-1所示。 %修飾符格式字符 表3-1 常用的格式字符 格式 字符 說(shuō) 明舉 例輸出結(jié)果 d 帶符號(hào)十進(jìn)制整數(shù)格式 printf(%d, 10 );10 printf(%d, A );65 u 無(wú)符號(hào)十進(jìn)制整數(shù)格式 printf(%u, 10 );10 printf(%u, A );65 x或X 無(wú)符號(hào)十六進(jìn)制整數(shù)格式 printf(%x, 10 );a printf(%x, A );41 printf(%X,10);A %修飾符格

14、式字符 o 無(wú)符號(hào)八進(jìn)制整數(shù)格式 printf(%o, 10 );12 printf(%o, A );101 c 字符格式 printf(%c, 10 );換行 printf(%c, A );A f 小數(shù)格式printf(%f, 1.2345);1.234500 e或E 指數(shù)格式 printf(%e, 1.2345);1.23450e+00 printf(%E, 1.2345);1.23450E+00 g或G 小數(shù)形式或指數(shù)形式,使輸出 寬度最小,不輸出無(wú)意義的0 printf(%g, 1.2345);1.2345 printf(%g, 0.000001);1e-06 printf(%G, 0

15、.000001);1E-06 輸出%printf(%);% s 輸出字符串printf(%s, abcde);abcde %修飾符格式字符 2長(zhǎng)度修飾符 長(zhǎng)度修飾符修飾符“l(fā)”加在%號(hào)和格式字符之間。 輸出長(zhǎng)長(zhǎng)整型數(shù)據(jù)的時(shí)候,一定要加長(zhǎng)度修飾符, 否則,得不到正確的顯示結(jié)果。 例如: long x=7654321; printf(x=%ldn, x); 輸出結(jié)果為: x=7654321。 %修飾符格式字符 3寬度修飾和精度修飾 可以在%號(hào)和格式字符之間加入形如“m.n”(m、 n均為整數(shù))的修飾。 其中,m為寬度修飾為寬度修飾,n為精度修飾為精度修飾。 寬度修飾用來(lái)指定數(shù)據(jù)的輸出寬度 精度修飾

16、對(duì)不同的格式字符, n作用不同作用不同: 對(duì)于格式字符 ,用來(lái)指定輸出小數(shù)位的位數(shù); 對(duì)于格式字符 ,用來(lái)指定輸出有效數(shù)字的位數(shù); 對(duì)于格式字符 ,用來(lái)指定必須輸出的數(shù)字的個(gè)數(shù)。 相關(guān)的例子如表3-2所示。 %修飾符格式字符 表3-2 寬度修飾和精度修飾示例 輸出語(yǔ)句輸出結(jié)果(表示空格) printf(%5d, 42);42 printf(%5.3d, 42);042 printf(%.3d, 42);042 printf(%7.2f, 1.23456);1.23 printf(%.2f, 1.23456);1.23 printf(%10.2e, 1.23456);1.2e+00 printf

17、(%.2e, 1.23456);1.2e+00 4左對(duì)齊修飾 在指定了寬度修飾時(shí), 如果指定寬度小于數(shù)據(jù)需要的實(shí)際寬度,則數(shù)據(jù) 左邊補(bǔ)空格,補(bǔ)夠指定的寬度,這種對(duì)齊方式稱 為“”。 當(dāng)然,也可以在數(shù)據(jù)的右邊補(bǔ)空格來(lái)補(bǔ)夠指定的 寬度,這種對(duì)齊方式稱為“”。 , 例如語(yǔ)句: printf(%fn, 1.23456); 輸出結(jié)果為 1.23(右邊補(bǔ)三個(gè)空格右邊補(bǔ)三個(gè)空格) %修飾符格式字符 3.3.3 使用說(shuō)明 (1) 函數(shù)可以輸出常量、變量和表達(dá)式的 值。 但格式控制字符串中的格式指示符必須按從左到右的順 序,與輸出項(xiàng)表中的每個(gè)數(shù)據(jù)一一對(duì)應(yīng),否則出錯(cuò)。 (2) 格式字符可以用小寫(xiě)字母,也可以用 大

18、寫(xiě)字母。使用大寫(xiě)字母時(shí),輸出數(shù)據(jù)中包含的 字母也大寫(xiě)。 除了x、e、g格式字符外,其他格式字符必須用小寫(xiě)字 母 例如,“%f”不能寫(xiě)成“%F”。 (3) 格式字符緊跟在“ ”后面就作為格式字符,否 則將作為普通字符使用(原樣輸出) 例如,“printf(c=%c, f=%fn, c, f);”中的第一個(gè)c和f都 是普通字符。 3.4 格式化輸入函數(shù)scanf() 函數(shù)的功能是從計(jì)算機(jī)默認(rèn)的輸入 設(shè)備(一般指鍵盤)向計(jì)算機(jī)主機(jī)輸入數(shù)據(jù)。 3.4.1 scanf()函數(shù)的一般格式 調(diào)用scanf( )函數(shù)的一般格式為 (格式字符串格式字符串, 輸入項(xiàng)地址表輸入項(xiàng)地址表); 例如: scanf(%d

19、 %f, ); (1) 格式字符串: 格式字符串可以包含三種類型的字符: 格式指示符格式指示符 格式指示符用來(lái)指定數(shù)據(jù)的輸入格式; 空白字符空白字符(空格、跳格鍵、回車鍵) 和 空白字符作為相鄰兩個(gè)輸入數(shù)據(jù)的缺省分隔符; 非空白字符非空白字符(又稱普通字符)。 非空白字符在輸入有效數(shù)據(jù)時(shí),必須原樣一起輸原樣一起輸 入入。 (2) 輸入項(xiàng)地址表: 由若干個(gè)輸入項(xiàng)地址組成,相鄰兩個(gè)輸入項(xiàng) 地址之間用逗號(hào)逗號(hào)分開(kāi)。 輸入項(xiàng)地址表中的地址,可以是變量的地址, 也可以是字符數(shù)組名或指針變量 變量地址的表示方法為“ 假設(shè)輸入“abcdefg” 則系統(tǒng)將 讀取的“abc”中的“a”賦給變量ch1; 讀取的“

20、def”中的“d”賦給變量ch2。 2抑制修飾符 抑制修飾符“*”表示對(duì)應(yīng)的數(shù)據(jù)讀入后, 不賦給相應(yīng)的變量,該變量由下一個(gè)格式 指示符輸入。 例如: scanf(%2d%*2d%3d, 假設(shè)輸入“123456789”, 則系統(tǒng)將 讀取“12”并賦值給num1; 讀取“34”,但舍棄掉(“*”的作用); 讀取“567”并賦值給num2。 3長(zhǎng)度修飾符 在輸入長(zhǎng)整型數(shù)據(jù)和雙精度實(shí)型數(shù)據(jù)時(shí), 必須使用長(zhǎng)度修飾符“l(fā)”,否則,不能得 到正確的輸入值。 例如: long x; double y; scanf(%ld %lf, 3.4.3 使用說(shuō)明 調(diào)用scanf()函數(shù)輸入數(shù)據(jù)時(shí),要注意以下 幾點(diǎn): (

21、1) 如果相鄰兩個(gè)格式指示符之間,不指定數(shù) 據(jù)分隔符(如逗號(hào)、冒號(hào)等),則相應(yīng)的兩個(gè)輸 入數(shù)據(jù)之間至少用一個(gè)空格分開(kāi),或者用Tab 鍵分開(kāi),或者輸入一個(gè)數(shù)據(jù)后,按回車,然后 再輸入下一個(gè)數(shù)據(jù)。例如: scanf(%d%d, 假設(shè)給num1輸入10,給num2輸入20,則正確的輸 入操作為 1020 或者: 10 20 (2) 格式字符串中出現(xiàn)的普通字符(包括轉(zhuǎn)義字 符形式的字符),務(wù)必原樣輸入。例如: scanf(num1=%d,num2=%d, 假設(shè)給num1輸入10,給num2輸入20,正確的輸 入操作為 num1=10,num2=20 另外,scanf()函數(shù)中,對(duì)于格式字符串內(nèi)的 轉(zhuǎn)義

22、字符(如:n),系統(tǒng)并不把它當(dāng)轉(zhuǎn)義字符 來(lái)解釋,從而產(chǎn)生一個(gè)控制操作,而是將其 視為普通字符,所以也要原樣輸入。例如: scanf(num1=%d,num2=%dn, 假設(shè)給num1輸入10,給num2輸入20,正確的輸 入操作為 num1=10,num2=20n 為改善人機(jī)交互性,同時(shí)簡(jiǎn)化輸入操作,在 設(shè)計(jì)輸入操作時(shí),一般先用printf()函數(shù)輸出 一個(gè)提示信息,再用scanf()函數(shù)進(jìn)行數(shù)據(jù)輸 入。例如: printf(num1=); scanf(%d, printf(num2=); scanf(%d, (3) 輸入數(shù)據(jù)時(shí),遇到以下情況時(shí)系統(tǒng)認(rèn)為 該數(shù)據(jù)輸入結(jié)束。 遇到空格,或者回車鍵,

23、或者Tab鍵。 遇到輸入域?qū)挾冉Y(jié)束。例如%3d,只取三列。 遇到非法輸入。 例如,在輸入數(shù)值數(shù)據(jù)時(shí),遇到字母等非數(shù)值符號(hào)(數(shù) 值符號(hào)僅由數(shù)字字符09、小數(shù)點(diǎn)和正負(fù)號(hào)構(gòu)成)。 (4) 使用格式說(shuō)明符%c輸入單個(gè)字符時(shí), 空格和回車等均作為有效字符被輸入。例如: scanf(%c%c%c, printf(ch1=%c,ch2=%c,ch3=%cn,ch1,ch2,ch 3); 假設(shè)輸入:AB , 則系統(tǒng) 將字母“A”賦值給ch1, 空格賦值給ch2, “B”賦值給ch3。 3.5 單個(gè)字符的輸入/輸出函數(shù) 除了使用printf()函數(shù)和scanf()函數(shù)可以 輸出/輸入字符數(shù)據(jù)外,C語(yǔ)言還提供了

24、和函數(shù),專門用來(lái) 輸出/輸入單個(gè)字符。 每調(diào)用putchar()函數(shù)一次,就向顯示器 輸出一個(gè)字符,它的調(diào)用形式如下: putchar(ch); 其中,ch是變量或是常量 例如: putchar(Y); 將在顯示器上輸出字符Y。 每調(diào)用getchar()函數(shù)一次,就從鍵盤接 收一個(gè)字符,它的調(diào)用形式如下: getchar()函數(shù)是一個(gè)無(wú)參函數(shù),但調(diào)用 getchar()函數(shù)時(shí),后面的括號(hào)不能省略。 getchar()函數(shù)從鍵盤接收一個(gè)字符作為它的 返回值。 在輸入時(shí),空格、回車等都將作為字符讀入, 而且,只有在用戶輸入回車鍵時(shí),讀入 【例3.1】以下程序先從鍵盤接收一 個(gè)字符,然后顯示在顯示器上。 /*程序功能:?jiǎn)蝹€(gè)字符的輸入與輸出 */ main( ) char ch; ch=getchar( ); putchar(ch); putchar(n); 程序的運(yùn)行情況: A A 需要注意的是,程序中如果調(diào)用了 putchar()函數(shù)或getchar()函數(shù),則在 程序的開(kāi)頭必須加上 “#include ”,否則,程序編譯時(shí)會(huì)報(bào) 錯(cuò)。 3.6 順序程序設(shè)計(jì)舉例 在順序結(jié)構(gòu)程序中,各語(yǔ)句是按照位置的 先后次序順序執(zhí)行的,且每個(gè)語(yǔ)句都會(huì)被 執(zhí)行到。 【例3.2】編寫(xiě)程序,輸入一個(gè)圓的半徑, 計(jì)算這個(gè)圓的面

溫馨提示

  • 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)論