第3章順序結(jié)構(gòu)程序結(jié)構(gòu)_第1頁(yè)
第3章順序結(jié)構(gòu)程序結(jié)構(gòu)_第2頁(yè)
第3章順序結(jié)構(gòu)程序結(jié)構(gòu)_第3頁(yè)
第3章順序結(jié)構(gòu)程序結(jié)構(gòu)_第4頁(yè)
第3章順序結(jié)構(gòu)程序結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第3章 順序結(jié)構(gòu)程序設(shè)計(jì)章節(jié)分析:本章所介紹的語(yǔ)句是按在程序中出現(xiàn)的順序逐條執(zhí)行,由這樣的語(yǔ)句構(gòu)成的程序結(jié)構(gòu)稱(chēng)為順序結(jié)構(gòu)。主要實(shí)現(xiàn)的功能是給變量賦值及數(shù)據(jù)的輸入與輸出。教學(xué)內(nèi)容:1、掌握數(shù)據(jù)輸入、輸出函數(shù)的調(diào)用規(guī)則和格式控制字符的正確使用;2、熟練掌握putchar、getchar、printf、 scanf函數(shù)及使用方法。 教學(xué)重點(diǎn):1、字符的輸入與輸出2、格式化輸入與輸出教學(xué)難點(diǎn)1、掌握數(shù)據(jù)的輸入/輸出方法,學(xué)會(huì)輸入/輸出函數(shù)的使用方法。2、掌握scanf和printf函數(shù)的格式控制問(wèn)題課時(shí)分配:4課時(shí)導(dǎo)入新課:回顧舊課,復(fù)習(xí)上節(jié)課內(nèi)容。C語(yǔ)言的輸入輸出由函數(shù)來(lái)實(shí)現(xiàn),它提供了多種輸入輸出函

2、數(shù),使輸入輸出靈活、多樣、方便、功能強(qiáng)。標(biāo)準(zhǔn)I/O函數(shù)庫(kù)中有一些公用的信息寫(xiě)在頭文件stdio.h中,因此要使用標(biāo)準(zhǔn)I/O函數(shù)庫(kù)中的I/O函數(shù)時(shí),一般應(yīng)在程序開(kāi)頭先寫(xiě)預(yù)編譯命令:#include “stdio.h”。以便把I/O函數(shù)要使用的信息包含到程序中來(lái)。第一講一、字符輸入與輸出(一)字符的輸出putchar函數(shù)1功能:將一個(gè)字符輸出到標(biāo)準(zhǔn)輸出設(shè)備。2格式:putchar(c)3使用要點(diǎn)(1)putchar(c)中的c可以是字符型或整型數(shù)據(jù)。 例如: c=98; putchar(c)輸出字符b putchar(a) 輸出字符a putchar(0x41) 輸出字符A(2)使用輸出函數(shù)需要調(diào)

3、用c的標(biāo)準(zhǔn)I/O庫(kù)函數(shù),故需用預(yù)編譯命令: #include <stdio.h> 將stdio.h文件包含在用戶(hù)源程序文件中。(3)putchar()也可以輸出一個(gè)控制字符或其它轉(zhuǎn)義字符。 如:putchar(n) 輸出一個(gè)換行符 putchar(101) 輸出字符A putchar() 輸出字符單引號(hào)4舉例【例3.1】輸出單個(gè)字符。#include <stdio.h>main() char a,b,c; a=B;b=o;c=y; putchar(a);putchar(b);putchar(c); 運(yùn)行結(jié)果:Boy(二)字符的輸入getchar函數(shù)1功能:從標(biāo)準(zhǔn)輸入設(shè)備

4、上讀入一個(gè)字符。2格式:getchar( )3使用要點(diǎn)(1)getchar( )函數(shù)本身沒(méi)有參數(shù),其函數(shù)值就是從輸入設(shè)備得到的一個(gè)字符。(2)由getchar( )獲得的字符可以賦值給一個(gè)字符或整型變量,也可以作為表達(dá)式的一部分。如: c=getchar(a); putchar(getchar( ); printf(“%c”, getchar( );(3)使用getchar( )函數(shù)要調(diào)用c的標(biāo)準(zhǔn)I/O庫(kù)函數(shù),應(yīng)在程序首部加上:#include <stdio.h>。4舉例【例3.2】輸入單個(gè)字符。 #include <stdio.h> main() char c; c=

5、getchar(); putchar(c); printf(“%cn%dn”,c,c); 輸入數(shù)據(jù): a運(yùn)行結(jié)果: a97二、格式化輸入與輸出(一)格式化輸出printf函數(shù)1功能:按指定的格式向終端輸出若干任意類(lèi)型的數(shù)據(jù)。2格式:printf(格式控制,輸出表列) 如:printf(“x=%d”,x)3使用要點(diǎn)(1)格式控制部分的用法: 格式控制字符是用雙引號(hào)括起來(lái)的字符串,用來(lái)確定確定輸出項(xiàng)的格式和需要原樣輸出的字符串。其組成形式為: “普通字符串%+0m.nl格式控制字符”其中:輸出數(shù)據(jù)項(xiàng)的順序一般按從左至右的順序輸出。格式控制中的普通字符串,照原樣輸出; 例如:printf(“a= %

6、d,b= %d”,a,b);%:為C語(yǔ)言規(guī)定的標(biāo)記符;+ :指定輸出數(shù)據(jù)的對(duì)齊方式:+為右對(duì)齊(可缺?。?;-為左對(duì)齊;0:輸出數(shù)值時(shí)指定左邊不使用的空位置自動(dòng)填0;關(guān)于m .n與l的說(shuō)明: 表3.1 printf的附加格式說(shuō)明字符表3.2格式控制字符用于指定數(shù)據(jù)的輸出形式,可以包含轉(zhuǎn)義字符;用兩個(gè)連續(xù)的“%”表示輸出字符“%” 舉例printf(“%4d,%4d”,a,b);若a=123,b=12345 運(yùn)行結(jié)果:123,12345如果數(shù)據(jù)位數(shù)小于m,則左端補(bǔ)空格,若大于m,則按實(shí)際輸出。long a=135790;printf(“%ld”,a);長(zhǎng)整型數(shù)據(jù)應(yīng)采用%ld格式輸出,若采用%d格式

7、則出錯(cuò)。int a=-1;printf(“%d,%o”,a,a); 運(yùn)行結(jié)果:-1,177777對(duì)于八進(jìn)制輸出不會(huì)輸出帶符號(hào)的數(shù)據(jù),長(zhǎng)整型數(shù)據(jù)用%lo格式輸出,也可以指定寬度。如:printf(“%lo,%8o”,a,a);int a=-1;printf(“%x,%o,%d”,a,a,a); 運(yùn)行結(jié)果:ffff,177777,-1 同樣,也可以用%lx輸出長(zhǎng)整型數(shù)據(jù)或指出輸出寬度,如:printf(“%lx,%12x”,a,a) (2)輸出表列:可以是合法的常量、變量和表達(dá)式,輸出項(xiàng)表中的個(gè)輸出項(xiàng)之間要用“,”分隔。(3)當(dāng)格式符個(gè)數(shù)少于輸出項(xiàng)時(shí),多余的輸出項(xiàng)不予輸出。若格式符多于輸出項(xiàng)時(shí),各

8、系統(tǒng)的處理有所不同,TC對(duì)于缺少的項(xiàng)將輸出不定值。(4)每次調(diào)用printf函數(shù)之后,將得到一個(gè)整型的函數(shù)值,該值等于正常輸出的字符個(gè)數(shù)。4舉例【例3.3】無(wú)符號(hào)數(shù)據(jù)的輸出。#include <stdio.h>main() unsigned int a=65535; int b=-2; printf(“a=%d,%o,%x,%un”,a,a,a,a); printf(“b=%d,%x,%o,%un”,b,b,b,b); 運(yùn)行結(jié)果:a=-1,177777,ffff,65535b=-2,fffe,177776,65534【例3.4】字符數(shù)據(jù)的輸出。 main() char c=a; i

9、nt k=97; printf(“%c,%dn”,c,c); printf(“%c,%dn”,k,k); 運(yùn)行結(jié)果: a,97 a,97【例3.5】實(shí)型數(shù)據(jù)的輸出。#include <stdio.h>main() float x,y,z;double a,b;x=11111.111,y=22222.222,z=123.456;a=1111111111111.111111111;b=2222222222222.222222222printf(“%fn%fn”,x+y,a+b);printf(“%10f,%10.2fn”,z,z);printf(“%en”,z);printf(“%gn

10、”,z);運(yùn)行結(jié)果:33333.333984 3333333333333.333010123.456001,123.461.234560e+02123.456(二)數(shù)據(jù)的輸入scanf函數(shù)1功能:將從終端(鍵盤(pán))輸入的數(shù)據(jù)傳送給對(duì)應(yīng)的變量。2格式:scanf(格式控制,輸入項(xiàng)地址表) 說(shuō)明:(1)格式控制的含義同printf函數(shù),“%格式控制字符” (2)輸入項(xiàng)地址表由若干個(gè)地址組成,代表每一個(gè)變量在 內(nèi)存的地址。表示為:&變量(或數(shù)組與字符串的首地址)(3)每次調(diào)用scanf( )函數(shù)后,函數(shù)將得到一個(gè)整型函數(shù) 值,此值等于正常輸入數(shù)據(jù)的個(gè)數(shù)3使用要點(diǎn)(1)格式符的個(gè)數(shù)必須與輸入項(xiàng)的

11、個(gè)數(shù)相等,數(shù)據(jù)類(lèi)型必須從左至右一一對(duì)應(yīng)(2)scanf( )函數(shù)中常用的格式符有:表3.3 scanf的格式字符表4.4 scanf的附加格式說(shuō)明字符(3)用戶(hù)可以指定輸入數(shù)據(jù)的域?qū)挘到y(tǒng)將自動(dòng)按此域?qū)捊厝∷x入的數(shù)據(jù)。 如:scanf(“%3d%3d”,&a,&b); 輸入123456 系統(tǒng)自動(dòng)將123賦值給a,將456賦值給b.(4)輸入實(shí)型數(shù)據(jù)時(shí),用戶(hù)不能規(guī)定小數(shù)點(diǎn)后的位數(shù)。 scanf(“%7.2f”,&a);是錯(cuò)誤的.(5)輸入實(shí)型數(shù)據(jù)時(shí),可以不帶小數(shù)點(diǎn),即按整型數(shù)方式輸入。4舉例【例3.6】用scanf函數(shù)輸入數(shù)據(jù)。#include <stdio.h&

12、gt;main() int a,b,c; char x,y,z; scanf(“%c%c%c”,&x,&y,&z); scanf(“%d%d%d”,&a,&b,&c); printf(“%c%c%c”,x,y,z); printf(“%d%d%d”,a,b,c); 三、應(yīng)用舉例【實(shí)例1】輸入三角形的三邊長(zhǎng),求三角形的面積。 #include <stdio.h> main() float a,b,c,s,area; scanf(“%f,%f,%f”,&a,&b,&c); s=1.0/2*(a+b+c); area

13、=sqrt(s*(s-a)*(s-b)*(s-c); printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn”,a,b,c,s); printf(“area=%7.2fn”,area); 程序分析:程序中第7行中sqrt( )是求平方根的函數(shù)。由于要調(diào)用數(shù)學(xué)函數(shù)庫(kù)的函數(shù),必須在程序的開(kāi)頭加一條#include命令,把頭文件“math.h”包含到程序中來(lái)。請(qǐng)注意,以后凡是在程序中要用到數(shù)學(xué)函數(shù)庫(kù)中的函數(shù),都應(yīng)當(dāng)“包含”math.h頭文件。運(yùn)行情況如下:輸入數(shù)據(jù):3,4,6 ¿運(yùn)行結(jié)果:a= 3.00, b= 4.00, c= 6.00 s= 6.50area=

14、 5.33【實(shí)例2】從鍵盤(pán)輸入大寫(xiě)字母,要求改用小寫(xiě)字母輸出。程序如下:#include "stdio.h"main() char c1,c2; c1=getchar(); printf("%c,%dn",c1,c1); c2=c1+32; printf("%c,%dn",c2,c2);輸入數(shù)據(jù):A 運(yùn)行結(jié)果: A,65 a,97程序分析: 用getchar函數(shù)得到從鍵盤(pán)上輸入的大寫(xiě)字母A,賦給字符變量c1。將c1分別用字符形式(A)和整數(shù)形式(65)輸出。再經(jīng)過(guò)運(yùn)算得到小寫(xiě)字母a,賦給字符變量c2,將c2分別用字符形式(a)和整數(shù)形

15、式(97)輸出。作業(yè):1、 若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274, n=128765, c1=a,c2=b。想得到以下輸出格式和結(jié)果,請(qǐng)寫(xiě)出程序(包括定義變量類(lèi)型和設(shè)計(jì)輸出)。2、用scanf下面的函數(shù)輸入數(shù)據(jù),使a=3,b=7,x=8.5,y=71.82, c1=A,c2=a,問(wèn)在鍵盤(pán)上如何輸入? main( ) int a,b;float x,y;char c1c2; scanf("a=%d_b=%d",&a,&b); scanf("_x=%f_y=%e",&x,&y); scanf("_c1=%c_c2=%c",&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論