C語言程序設(shè)計教程(第二版)-第03章順序結(jié)構(gòu)程序設(shè)計.ppt
《C語言程序設(shè)計教程(第二版)-第03章順序結(jié)構(gòu)程序設(shè)計.ppt》由會員分享,可在線閱讀,更多相關(guān)《C語言程序設(shè)計教程(第二版)-第03章順序結(jié)構(gòu)程序設(shè)計.ppt(40頁珍藏版)》請在裝配圖網(wǎng)上搜索。
2020/4/25,1,第3章順序結(jié)構(gòu)程序設(shè)計,數(shù)據(jù)處理的一般過程是:輸入→處理→輸出。在C語言中,輸入輸出操作是由編譯系統(tǒng)提供的庫函數(shù)來實現(xiàn)。教學目的:掌握printf()、scanf()函數(shù),以及順序結(jié)構(gòu)程序設(shè)計。,2020/4/25,2,教學內(nèi)容:3.1*格式化輸出——printf()函數(shù)3.2*格式化輸入——scanf()函數(shù)3.3順序結(jié)構(gòu)程序設(shè)計本章要點本章作業(yè)與上機實踐,2020/4/25,3,3.1*格式化輸出——printf()函數(shù),3.1.1printf()函數(shù)的一般格式[案例3.1]已知圓半徑radius=1.5,求圓周長(2πr)和圓面積(πr2)。,2020/4/25,4,#include“stdio.h”#include“conio.h”voidmain(){floatradius=1.5,length,area,pi=3.14;length=2*pi*radius;area=pi*radius*radius;printf(“radius=%f\n”,radius);printf(“l(fā)ength=%7.2f,area=%7.2f\n”,length,area);getch();},radius=1.500000,length=9.42,area=7.07,2020/4/25,5,printf()函數(shù)的一般格式:printf("格式字符串"[,輸出項表]);1.格式字符串(1)格式指示符:%[標志][寬度][.精度][F|N|h|L]類型例如,%7.2f。各類常用指示符,參見表3-1至表3-5。,2020/4/25,6,在表3-1中,最常用的標志字符是“-”:左對齊,右端補空格。缺省時為右對齊,左端補空格。在表3-2中,最常用寬度字符“n”:指定輸出域的寬度。若超長,則按實際寬度輸出;若不足,則補空格。在表3-3中,最常用精度字符“.n”:指定保留的小數(shù)位數(shù)(實數(shù),超長則4舍5入),或截取左起的前n個字符(字符串)。在表3-4中,最常用的長度字符“l(fā)”:長整型。,2020/4/25,7,在表3-5中,最常用的數(shù)據(jù)類型轉(zhuǎn)換字符如下表所示:,2020/4/25,8,(2)轉(zhuǎn)義字符。特點:通常是產(chǎn)生一個控制操作。例如,轉(zhuǎn)義字符\n,輸出時產(chǎn)生一個“換行”操作。(3)普通字符──除格式指示符和轉(zhuǎn)義字符之外的其它字符。特點:原樣輸出。例如,“radius=”、“l(fā)ength=”、“area=”、“,”。,2020/4/25,9,2.輸出項表如果不止1個,則相鄰2個之間用逗號分開。下面的用法都是合法的:(1)printf("Iamastudent.\n");(2)printf("%d",3+2);(3)printf("a=%fb=%5d\n",a,a+3);,2020/4/25,10,3.1.2常用的類型轉(zhuǎn)換字符輸出不同類型數(shù)據(jù),要使用不同類型轉(zhuǎn)換字符。,2020/4/25,11,1.類型轉(zhuǎn)換字符d──以帶符號的十進制整數(shù)形式輸出。[案例3.2]類型轉(zhuǎn)換字符d的使用。#include“stdio.h”#include“conio.h”voidmain(){intnum1=123;longnum2=123456;printf("num1=%d,num1=%5d,num1=%-5d,num1=%2d\n",num1,num1,num1,num1);printf("num2=%ld,num2=%8ld,num2=%5ld\n",num2,num2,num2);printf("num1=%ld\n",num1);getch();},2020/4/25,12,程序運行結(jié)果如下:num1=123,num1=□□123,num1=123□□,num1=123num2=123456,num2=□□123456,num2=123456num1=16908411(1)格式指示符,必須與輸出項的數(shù)據(jù)類型一致,否則會引起輸出錯誤。(2)對于整數(shù),還可用%o(八進制無符號形式)、%x(十六進制無符號形式)、%u(十進制無符號形式)輸出。,類型匹配錯誤,輸出結(jié)果是隨機的。,2020/4/25,13,2.類型轉(zhuǎn)換字符f──以小數(shù)形式輸出實數(shù)。[案例3.3]類型轉(zhuǎn)換字符f的使用。#include“stdio.h”#include“conio.h”voidmain(){floatf=123.456;doubled1,d2;d1=1111111111111.111111111;d2=2222222222222.222222222;printf("%f,%12f,%12.2f,%-12.2f,%.2f\n",f,f,f,f,f);printf("d1+d2=%f\n",d1+d2);getch();},2020/4/25,14,程序運行結(jié)果如下:123.456001,□□123.456001,□□□□□□123.46,123.46□□□□□□,123.46d1+d2=3333333333333.333010提示:對于實數(shù)也可使用%e,以標準指數(shù)形式輸出;或使用%g,讓系統(tǒng)根據(jù)數(shù)值的大小,自動選擇%f或%e格式、且不輸出無意義的零。,2020/4/25,15,3.類型轉(zhuǎn)換字符c──輸出1個字符(占1列寬度)[案例3.4]類型轉(zhuǎn)換字符c的使用。#include“stdio.h”#include“conio.h”voidmain(){charc=A;inti=65;printf("c=%c,%5c,%d\n",c,c,c);printf("i=%d,%c",i,i);getch();}程序運行結(jié)果如下:c=A,□□□□A,65I=65,A,2020/4/25,16,4.類型轉(zhuǎn)換字符s──輸出一個字符串。[案例3.5]類型轉(zhuǎn)換字符s的使用。#include“stdio.h”#include“conio.h”voidmain(){printf("%s,%5s,%-10s","Internet","Internet","Internet");printf("%10.5s,%-10.5s,%4.5s\n","Internet","Internet","Internet");getch();}程序運行結(jié)果如下:Internet,Internet,Internet□□,□□□□□Inter,Inter□□□□□,Inter注意:系統(tǒng)輸出字符(串),不輸出單引號和雙引號。,2020/4/25,17,3.1.3使用說明1.格式指示符,必須按從左到右的順序,與輸出項表中的每個數(shù)據(jù)一一對應(yīng),否則出錯。例如,printf("str=%s,f=%d,i=%f\n","Internet",1.0/2,3+5,"CHINA");是錯誤的。2.類型轉(zhuǎn)換字符的緊前字符不是“%”時,將作普通字符處理(原樣輸出)。例如,“printf(”c=%c,f=%f\n“,c,f);”中的第一個c和f,都是普通字符。,2020/4/25,18,3.類型轉(zhuǎn)換字符x、e、g,大小寫均可。大寫時,輸出數(shù)據(jù)中包含的字母也大寫。其它類型轉(zhuǎn)換字符,必須小寫。例如,%f不能寫成%F。[返回],2020/4/25,19,3.2*格式化輸入——scanf()函數(shù),3.2.1一般格式[案例3.6]已知圓柱體的底半徑radius=1.5,高high=2.0,求其體積(πr2h)。,2020/4/25,20,#include“stdio.h”#include“conio.h”voidmain(){floatradius,high,pi=3.14159,vol;radius=1.5;high=2.0;vol=pi*radius*radius*high;printf(“vol=%7.2f\n”,vol);getch();}思考:使用賦值語句給出初值的方式的局限性?,2020/4/25,21,[案例3.7]已知圓柱體的底半徑為radius、高為high,求其體積。#include“stdio.h”#include“conio.h”voidmain(){floatradius,high,vol,pi=3.1415926;printf("Pleaseinputradius},Pleaseinputradius(1)格式字符串●格式指示符:與printf()函數(shù)的相似;●普通字符:必須原樣輸入。,2020/4/25,24,(2)輸入項首地址表可以是變量首地址、數(shù)組名,或者指針變量。變量首地址的表示:floataver;printf("Pleaseinputthreenumbers:");scanf("%d,%d,%d",},2020/4/25,33,[案例3.11]設(shè)計一個進行加、減、乘、除和求余數(shù)運算練習的程序。對程序功能的基本要求如下:(1)使用菜單驅(qū)動;(2)隨機產(chǎn)生運算所需的2個操作數(shù)(0-99);(3)程序自動判斷用戶的計算結(jié)果是否正確。由于所學內(nèi)容的限制,本案例的設(shè)計要求將在本章,以及隨后的第4~第7章中分階段逐步實現(xiàn)并完善。本案例首先實現(xiàn)設(shè)計要求(1)。,2020/4/25,34,/*功能:菜單程序段*/#include"stdio.h"#include"conio.h"voidmain(){charoptions;clrscr();/*清屏。函數(shù)原型在"conio.h"中*/,2020/4/25,35,printf("加、減、乘、除和求余數(shù)運算練習程序\n");printf("———————————————————\n");printf("+(Addition)——+/a\n");printf("-(Subtraction)——-/s\n");printf("*(Multiplication)——*/m\n");printf("/(Division)——//d\n");printf("%(Remainder)——%/r\n");printf("Exit——e\n");printf("———————————————————\n");printf("Pleasechooseoneoption:");scanf("%1c",},2020/4/25,36,程序運行情況如下:加、減、乘、除和求余數(shù)運算練習程序———————————————————+(Addition)——+/a-(Subtraction)——-/s*(Multiplication)——*/m/(Division)——//d%(Remainder)——%/rExit——e———————————————————Pleasechooseoneoption:_[返回],2020/4/25,37,1.printf()函數(shù)printf("格式字符串"[,輸出項表]);,本章要點,(1)格式指示符%[標志][寬度][.精度][F|N|h|L][類型](2)轉(zhuǎn)義字符(3)普通字符──原樣輸出。,2020/4/25,38,2.scanf()函數(shù)scanf("格式字符串",輸入項首地址表);,(1)格式指示符(2)普通字符:原樣輸入。,scanf("%s",name);(2)輸出:printf("姓名:%s\n",name);[返回],2020/4/25,40,本章作業(yè)與上機實踐,作業(yè):2,3,6上機實踐:驗證本章作業(yè)。[返回],- 1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 語言程序設(shè)計 教程 第二 03 順序 結(jié)構(gòu) 程序設(shè)計
鏈接地址:http://www.820124.com/p-11494853.html