C語言程序設(shè)計課件:順序結(jié)構(gòu)程序設(shè)計_第1頁
C語言程序設(shè)計課件:順序結(jié)構(gòu)程序設(shè)計_第2頁
C語言程序設(shè)計課件:順序結(jié)構(gòu)程序設(shè)計_第3頁
C語言程序設(shè)計課件:順序結(jié)構(gòu)程序設(shè)計_第4頁
C語言程序設(shè)計課件:順序結(jié)構(gòu)程序設(shè)計_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

格式控制是用雙引號括起來的字符串,它包括格式說明和普通字符兩部分。(1)格式說明

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

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

輸出表列

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

1.輸出整型數(shù)據(jù)的格式字符d:按整型數(shù)據(jù)的實際長度輸出。md:m為指定的輸出寬度。若數(shù)據(jù)位數(shù)小于m,當m為正數(shù)時,則左端補空格;當m為負數(shù)時,則右端補空格。若數(shù)據(jù)位數(shù)大于m,按實際位數(shù)輸出。ld:用于輸出長整型數(shù)據(jù)。o:以八進制數(shù)形式輸出。x:以十六進制數(shù)形式輸出。u:以無符號型整數(shù)形式輸出。順序結(jié)構(gòu)程序設(shè)計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è)計3.1格式化輸出—printf()【例3-3】#include<stdio.h>intmain(){longx;x=123456;printf("%ld\n",x);return0;}程序運行結(jié)果:123456順序結(jié)構(gòu)程序設(shè)計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;}程序運行結(jié)果:10,10,1010,8,16順序結(jié)構(gòu)程序設(shè)計3.1格式化輸出—printf()【例3-5】#include<stdio.h>intmain(){unsignedinta;a=4294967295;printf("%u,%d\n",a,a);return0; }程序運行結(jié)果:4294967295,-1順序結(jié)構(gòu)程序設(shè)計3.1格式化輸出—printf()2.輸出實型數(shù)據(jù)的格式字符f:以小數(shù)形式輸出實數(shù),保留6位小數(shù)。m.nf:輸出數(shù)據(jù)共占m位,其中有n位小數(shù),小數(shù)點占1位。如果數(shù)據(jù)長度小于m,則左端補空格,即數(shù)據(jù)右對齊;-m.nf:當數(shù)據(jù)長度小于m時,右端補空格,即數(shù)據(jù)左對齊?!纠?-6】順序結(jié)構(gòu)程序設(shè)計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è)計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è)計3.1格式化輸出—printf()

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

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

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

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

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

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

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

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

在字符輸入時,如果scanf中的格式符間沒有間隔,輸入數(shù)據(jù)時,字符要連續(xù)輸入。順序結(jié)構(gòu)程序設(shè)計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è)計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;}程序運行結(jié)果:you↙you順序結(jié)構(gòu)程序設(shè)計3.2格式化輸入—scanf()【例3-17】編寫程序,求圓面積。分析:圓面積的計算公式為:s=πr2,因為鍵盤上不能輸入π,所以用3.14代替。順序結(jié)構(gòu)程序設(shè)計3.3

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

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

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

分析:

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

因為求根公式中用到了平方根函數(shù)sqrt(x),所以程序必須將數(shù)學(xué)頭文件:math.h包含到程序中。順序結(jié)構(gòu)程序設(shè)計3.4順序結(jié)構(gòu)程序設(shè)計舉例

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

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

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

大寫字母的ASCII碼值等于小寫字母的ASCII碼值減32。

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

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

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

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

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論