C語(yǔ)言程序設(shè)計(jì)課件:順序結(jié)構(gòu)程序設(shè)計(jì)_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)課件:順序結(jié)構(gòu)程序設(shè)計(jì)_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)課件:順序結(jié)構(gòu)程序設(shè)計(jì)_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)課件:順序結(jié)構(gòu)程序設(shè)計(jì)_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)課件:順序結(jié)構(gòu)程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(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)介

順序結(jié)構(gòu)程序設(shè)計(jì)本章主要內(nèi)容:3.1格式化輸出—printf()(重點(diǎn))3.2格式化輸入—scanf()(重點(diǎn))3.3字符的輸入輸出3.4順序結(jié)構(gòu)程序設(shè)計(jì)舉例本章教學(xué)要求:熟悉順序結(jié)構(gòu)程序設(shè)計(jì)的特點(diǎn)掌握格式化輸入輸出函數(shù)的使用方法3.1格式化輸出—printf()3.1.1printf的一般格式格式:printf("格式控制",輸出表列);1.格式控制

格式控制是用雙引號(hào)括起來(lái)的字符串,它包括格式說(shuō)明和普通字符兩部分。(1)格式說(shuō)明

格式說(shuō)明由“%”和格式字符組成,它的作用是說(shuō)明計(jì)算機(jī)中的數(shù)值將以何種形式顯示在屏幕上。順序結(jié)構(gòu)程序設(shè)計(jì)3.1格式化輸出—printf()(2)普通字符

普通字符是需要原樣輸出的字符。如:x=、y=。普通字符的使用使輸出結(jié)果更加清晰、易懂。比如,輸出結(jié)果x=5就比只輸出5更容易使人理解。例如:floatx;printf("x=%f\n",x);順序結(jié)構(gòu)程序設(shè)計(jì)3.1格式化輸出—printf()2.

輸出表列

輸出表列是需要輸出的數(shù)據(jù),它可以是常量、變量或表達(dá)式,各輸出項(xiàng)之間以逗號(hào)作為間隔。執(zhí)行printf函數(shù)時(shí)輸出項(xiàng)將按格式符指定的格式輸出?!纠?-1】分析下列程序的執(zhí)行結(jié)果。順序結(jié)構(gòu)程序設(shè)計(jì)3.1格式化輸出—printf()3.1.2格式字符C語(yǔ)言中的格式字符主要有以下幾種,如表3-1所示。順序結(jié)構(gòu)程序設(shè)計(jì)3.1格式化輸出—printf()

1.輸出整型數(shù)據(jù)的格式字符d:按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出。md:m為指定的輸出寬度。若數(shù)據(jù)位數(shù)小于m,當(dāng)m為正數(shù)時(shí),則左端補(bǔ)空格;當(dāng)m為負(fù)數(shù)時(shí),則右端補(bǔ)空格。若數(shù)據(jù)位數(shù)大于m,按實(shí)際位數(shù)輸出。ld:用于輸出長(zhǎng)整型數(shù)據(jù)。o:以八進(jìn)制數(shù)形式輸出。x:以十六進(jìn)制數(shù)形式輸出。u:以無(wú)符號(hào)型整數(shù)形式輸出。順序結(jié)構(gòu)程序設(shè)計(jì)3.1格式化輸出—printf()【例3-2】#include<stdio.h>intmain(){inta,b;a=123,b=12345;printf("*%d*,*%d*\n",a,b);printf("*%5d*,*%4d*\n",a,b);printf("*%-5d*,*%-4d*\n",a,b);return0;}順序結(jié)構(gòu)程序設(shè)計(jì)3.1格式化輸出—printf()【例3-3】#include<stdio.h>intmain(){longx;x=123456;printf("%ld\n",x);return0;}程序運(yùn)行結(jié)果:123456順序結(jié)構(gòu)程序設(shè)計(jì)3.1格式化輸出—printf()【例3-4】

#include<stdio.h>intmain(){inta,b,c;a=10;b=010;c=0x10;printf("%d,%o,%x\n",a,b,c);printf("%d,%d,%d\n",a,b,c);return0;}程序運(yùn)行結(jié)果:10,10,1010,8,16順序結(jié)構(gòu)程序設(shè)計(jì)3.1格式化輸出—printf()【例3-5】#include<stdio.h>intmain(){unsignedinta;a=4294967295;printf("%u,%d\n",a,a);return0; }程序運(yùn)行結(jié)果:4294967295,-1順序結(jié)構(gòu)程序設(shè)計(jì)3.1格式化輸出—printf()2.輸出實(shí)型數(shù)據(jù)的格式字符f:以小數(shù)形式輸出實(shí)數(shù),保留6位小數(shù)。m.nf:輸出數(shù)據(jù)共占m位,其中有n位小數(shù),小數(shù)點(diǎn)占1位。如果數(shù)據(jù)長(zhǎng)度小于m,則左端補(bǔ)空格,即數(shù)據(jù)右對(duì)齊;-m.nf:當(dāng)數(shù)據(jù)長(zhǎng)度小于m時(shí),右端補(bǔ)空格,即數(shù)據(jù)左對(duì)齊?!纠?-6】順序結(jié)構(gòu)程序設(shè)計(jì)3.1格式化輸出—printf()【例3-7】

#include<stdio.h>intmain(){floatx=123.456;printf("%f\n",x);printf("*%-10.3f*\n",x);printf("*%10.1f*\n",x);return0;}順序結(jié)構(gòu)程序設(shè)計(jì)3.1格式化輸出—printf()【例3-8】#include<stdio.h>intmain(){floatr=2.5,s;s=3.14*r*r;printf("s=%f\n",s);printf("s=%.2f\n",s);return0;}順序結(jié)構(gòu)程序設(shè)計(jì)3.1格式化輸出—printf()

3.輸出字符型數(shù)據(jù)的格式符c:輸出單個(gè)字符。mc:按指定寬度m輸出字符。若m為正值,則輸出字符右對(duì)齊;若m為負(fù)值,則輸出字符左對(duì)齊。【例3-9】順序結(jié)構(gòu)程序設(shè)計(jì)3.1格式化輸出—printf()

4.輸出字符串的格式符s:按實(shí)際長(zhǎng)度輸出字符串。ms:按指定寬度m輸出字符串。當(dāng)m為正數(shù)時(shí),字符串右對(duì)齊輸出;m為負(fù)數(shù)時(shí),字符串左對(duì)齊輸出;如果m小于字符串長(zhǎng)度,則按實(shí)際長(zhǎng)度輸出。m.ns:只輸出字符串的前n個(gè)字符,共占m列。當(dāng)m為正數(shù)時(shí),字符串右對(duì)齊輸出;m為負(fù)數(shù)時(shí),字符串左對(duì)齊輸出?!纠?-10】順序結(jié)構(gòu)程序設(shè)計(jì)3.2格式化輸入—scanf()3.2.1scanf的一般格式格式:scanf("格式字符",地址表列);

例如:scanf("%d",&a);說(shuō)明:(1)“地址表列”是變量的內(nèi)存地址,它是通過(guò)對(duì)變量的“求地址”運(yùn)算得到的,“&”就是求地址運(yùn)算符。(2)scanf函數(shù)也使用格式符,格式符的作用是表示用戶想要將輸入的文本轉(zhuǎn)換為何種形式存儲(chǔ)在內(nèi)存中。順序結(jié)構(gòu)的程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)3.2格式化輸入—scanf()3.2.2scanf的用法1.整型、實(shí)型數(shù)據(jù)的輸入scanf(“%d,%d,%d”,&a,&b,&c);scanf("%d%d%d",&a,&b,&c);

如果格式符之間以逗號(hào)間隔,則輸入的數(shù)據(jù)間也要以逗號(hào)間隔。

比如,要給變量a、b、c分別賦值1、2、3,則在執(zhí)行時(shí)輸入數(shù)據(jù)如下:

1,2,3↙順序結(jié)構(gòu)程序設(shè)計(jì)3.2格式化輸入—scanf()【例3-11】#include<stdio.h>intmain(){ inta,b; floatc,d; scanf("%d,%d",&a,&b); scanf("%f,%f",&c,&d); printf("%d,%d,%.1f,%.1f\n",a,b,c,d);return0;}順序結(jié)構(gòu)程序設(shè)計(jì)3.2格式化輸入—scanf()【例3-12】#include<stdio.h>intmain(){ floata,b; scanf("%f%f",&a,&b); printf("a=%.1fb=%.1f\n",a,b);return0;}程序運(yùn)行結(jié)果:2.5凵2.6↙a=2.5b=2.6順序結(jié)構(gòu)程序設(shè)計(jì)3.2格式化輸入—scanf()(3)scanf("a=%d,b=%d",&a,&b);

若要給a、b分別賦值為1、2,則運(yùn)行時(shí)輸入:a=1,b=2↙【例3-13】#include<stdio.h>intmain(){ inta,b,c,d; scanf("a=%d,b=%d\n",&a,&b); scanf("c:%d,d:%d",&c,&d); printf("%d%d%d%d\n",a,b,c,d);return0;}順序結(jié)構(gòu)程序設(shè)計(jì)3.2格式化輸入—scanf()【例3-14】#include<stdio.h>intmain(){ inta; printf("輸入年齡:"); scanf("%d",&a); printf("年齡:%d\n",a);return0;}程序運(yùn)行結(jié)果:輸入年齡:10↙年齡:10順序結(jié)構(gòu)程序設(shè)計(jì)3.2格式化輸入—scanf()2.字符型數(shù)據(jù)的輸入scanf("%c,%c,%c",&a,&b,&c);

在字符輸入時(shí),如果scanf中的格式符間以逗號(hào)間隔,輸入數(shù)據(jù)時(shí),字符間也以逗號(hào)間隔。scanf(“%c%c%c”,&a,&b,&c);

在字符輸入時(shí),如果scanf中的格式符間沒(méi)有間隔,輸入數(shù)據(jù)時(shí),字符要連續(xù)輸入。順序結(jié)構(gòu)程序設(shè)計(jì)3.2格式化輸入—scanf()【例3-15】#include<stdio.h>intmain(){ chara,b,c; scanf("%c,%c,%c",&a,&b,&c); printf("%c%c%c\n",a,b,c);return0;}順序結(jié)構(gòu)程序設(shè)計(jì)3.2格式化輸入—scanf()【例3-16】#include<stdio.h>intmain(){ chara,b,c; scanf("%c%c%c",&a,&b,&c); printf("%c%c%c\n",a,b,c);return0;}程序運(yùn)行結(jié)果:you↙you順序結(jié)構(gòu)程序設(shè)計(jì)3.2格式化輸入—scanf()【例3-17】編寫(xiě)程序,求圓面積。分析:圓面積的計(jì)算公式為:s=πr2,因?yàn)殒I盤(pán)上不能輸入π,所以用3.14代替。順序結(jié)構(gòu)程序設(shè)計(jì)3.3

字符的輸入輸出—getchar()和putchar()

3.3.1getchar函數(shù)格式:變量=getchar();【例3-18】順序結(jié)構(gòu)程序設(shè)計(jì)3.3字符的輸入輸出—getchar()和putchar()3.3.2putchar函數(shù)格式:putchar(c);【例3-19】順序結(jié)構(gòu)程序設(shè)計(jì)3.4順序結(jié)構(gòu)程序設(shè)計(jì)舉例

【例3-20】求一元二次方程ax2+bx+c=0的根。

分析:

要用計(jì)算機(jī)解方程,必須給出求解方程的算法,對(duì)于一元二次方程ax2+bx+c=0來(lái)說(shuō),就是要給出求根公式。給公式中的變量賦值,計(jì)算機(jī)就可以求出方程的根了。

因?yàn)榍蟾街杏玫搅似椒礁瘮?shù)sqrt(x),所以程序必須將數(shù)學(xué)頭文件:math.h包含到程序中。順序結(jié)構(gòu)程序設(shè)計(jì)3.4順序結(jié)構(gòu)程序設(shè)計(jì)舉例

【例3-21】輸入任意三個(gè)整數(shù),求和及平均值。分析:

編寫(xiě)該程序時(shí),有兩個(gè)地方需要注意:①定義變量時(shí),平均值變量aver要定義為實(shí)型,不能定義為整型,否則誤差太大。②求平均值時(shí),sum除以實(shí)數(shù)3.0,而不是除以整數(shù)3,如果除數(shù)和被除數(shù)都是整數(shù),那么商也將是一個(gè)整數(shù),這樣也會(huì)造成誤差大的錯(cuò)誤。順序結(jié)構(gòu)程序設(shè)計(jì)3.4順序結(jié)構(gòu)程序設(shè)計(jì)舉例

【例3-22】從鍵盤(pán)輸入一個(gè)小寫(xiě)字母,將其轉(zhuǎn)換為大寫(xiě)字母輸出。分析:

大寫(xiě)字母的ASCII碼值等于小寫(xiě)字母的ASCII碼值減32。

順序結(jié)構(gòu)程序設(shè)計(jì)3.4順序結(jié)構(gòu)程序設(shè)計(jì)舉例

【例3-23】輸入三角形的三條邊,求三角形面積。三角形面積的計(jì)算公式為:分析:

為簡(jiǎn)單起見(jiàn),設(shè)輸入的三條邊a、b、c能構(gòu)成三角形,所以讀者運(yùn)行程序時(shí),給變量的賦值必須保證三邊長(zhǎng)的值可以構(gòu)成三角形,否則運(yùn)行結(jié)果將是錯(cuò)誤的。

順序結(jié)構(gòu)程序設(shè)計(jì)

溫馨提示

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