任務(wù)3-1、考試成績績點的計算_第1頁
任務(wù)3-1、考試成績績點的計算_第2頁
任務(wù)3-1、考試成績績點的計算_第3頁
任務(wù)3-1、考試成績績點的計算_第4頁
任務(wù)3-1、考試成績績點的計算_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計與項目實踐清華大學(xué)出版社菜單程序的設(shè)計順序程序設(shè)計項目3回顧與作業(yè)點評 常見的數(shù)據(jù)類型有哪些?常見的數(shù)據(jù)類型有哪些? 常見的運算符有哪些?常見的運算符有哪些?void main()int i,j,k,n;i=2;j=3;k=+i;n=j+;printf(%d.%d,%d,%d,i,j,k,n); 閱讀程序,程序運行結(jié)果是什么?預(yù)習(xí)檢查 scanf()、printf()函數(shù)的功能是什么? 什么是輸入輸出控制格式?項目任務(wù) 需求描述設(shè)計菜單程序。要求:(1)根據(jù)系統(tǒng)功能確定菜單內(nèi)容(2)定義菜單的樣式(3)菜單輸入有效性效驗處理本章目標(biāo)掌握格式化輸入函數(shù)與格式化輸出函數(shù)。掌握字符數(shù)據(jù)

2、的輸入輸出函數(shù)。熟悉輸入輸出流的應(yīng)用。理解宏定義、宏替換與文件包含項目任務(wù)任務(wù)任務(wù)3-1、考試成績績點的計算、考試成績績點的計算1、如何實現(xiàn)人與計算機的交互?2、如何根據(jù)輸入的學(xué)生考試成績計算并輸出學(xué)生成績績點?數(shù)據(jù)輸入輸出 所謂輸入輸出是以計算機為主體而言的。在沒有特別聲明的情況下,標(biāo)準(zhǔn)輸出設(shè)備為顯示器在語言中,所有的數(shù)據(jù)輸入輸出都是由庫函數(shù)完成的。在使用語言庫函數(shù)時,要用預(yù)編譯命令#include將有關(guān)“頭文件”包括到源文件中。使用標(biāo)準(zhǔn)輸入輸出庫函數(shù)時要用到“stdio.h”文件,#include /stdio.h在默認(rèn)文件夾或#include“stdio.h” /stdio.h在指定文件

3、夾中stdio是standard input &outupt的意思。接受并顯示字符字符型變量字符型數(shù)據(jù)字符型數(shù)據(jù)putchar函數(shù) putchar 函數(shù)是字符輸出函數(shù),其功能是在顯示器上輸出單個字符。putchar(A); (輸出大寫字母A)putchar(x); (輸出字符變量x的值)putchar(101); (也是輸出字符A)putchar(n); (換行)其一般形式為:putchar(字符變量)對控制字符則執(zhí)行控制功能,不在屏幕上顯示。使用本函數(shù)前必須要用文件包含命令:#include或#include“stdio.h”getchar函數(shù)getchar函數(shù)的功能是從鍵盤上輸入一

4、個字符。通常把輸入的字符賦予一個字符變量,構(gòu)成賦值語句,如:char c;c=getchar();其一般形式為:getchar()#include void main() char a,b; printf( 請輸入兩個字符:n); a=getchar(); fflush(stdin); b=getchar(); fflush(stdin); putchar(a); putchar(b); putchar(n);getchar()和putchar()示例內(nèi)存內(nèi)存abOK輸出:請輸入兩個字符:OKOKPress any key to continue_案例【案例【案例3-1】輸入單個字符并顯示?!?/p>

5、輸入單個字符并顯示。#includevoid main() char c; printf(input a charactern); c=getchar(); putchar(c);程序最后兩行可用下面兩行的任意一行代替:putchar(getchar();printf(“%c”,getchar();輸入/輸出函數(shù)#include void main()int num;printf(請輸入一個數(shù):);scanf(%d,&num);printf( n%d 的平方為 %d n,num,num*num);輸入/輸出函數(shù) (printf/scanf) 用于接受和顯示數(shù)據(jù)或信息轉(zhuǎn)換字符串轉(zhuǎn)義序列p

6、rintf 函數(shù)7-1printf函數(shù)是一個標(biāo)準(zhǔn)庫函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。其功能是按用戶指定的格式,把指定的數(shù)據(jù)顯示到顯示器屏幕上。其中:格式控制字符串用于指定輸出格式。格式控制字符串用于指定輸出格式。輸出表列中給出了各個輸出項,各輸出項之間用逗號輸出表列中給出了各個輸出項,各輸出項之間用逗號分隔,要求格式字符串和各輸出項在數(shù)量和類型上應(yīng)該分隔,要求格式字符串和各輸出項在數(shù)量和類型上應(yīng)該一一對應(yīng)。一一對應(yīng)。其一般形式為:printf(“格式控制字符串”,輸出表列)printf 函數(shù)7-2 格式字符串格式字符串格式字符串的一般形式為:格式字符串的一般形式為: 標(biāo)志標(biāo)志輸出

7、最小寬度輸出最小寬度.精度精度長度長度類型類型其中方括號其中方括號中的項為可選項。中的項為可選項。標(biāo)志字符為-、+、#、空格四種printf 函數(shù)7-3輸出最小寬度:用十進(jìn)制整數(shù)來表示輸出的最少位數(shù)。若實際位數(shù)多于定義的寬度,則按實際位數(shù)輸出,若實際位數(shù)少于定義的寬度則補以空格或0。精度:精度格式符以“.”開頭,后跟十進(jìn)制整數(shù)。本項的意義是:如果輸出數(shù)字,則表示小數(shù)的位數(shù);如果輸出的是字符,則表示輸出字符的個數(shù);若實際位數(shù)大于所定義的精度數(shù),則截去超過的部分。長度:長度格式符為h,l兩種,h表示按短整型量輸出,l表示按長整型量輸出printf 函數(shù)7-4int visitor_count =

8、150;printf ( %d , visitor_count);printf將一些信息按照指定的格式送到標(biāo)準(zhǔn)輸出(顯示器) %d visitor_count將按指定的格式顯示該變量的值轉(zhuǎn)換字符串轉(zhuǎn)換字符串說說 明明%d將參數(shù)按整數(shù)形式轉(zhuǎn)換輸出,對應(yīng)參數(shù)應(yīng)是int 類型%ld將參數(shù)按長整數(shù)形式轉(zhuǎn)換輸出,對應(yīng)參數(shù)應(yīng)是long 類型%c輸出一個字符,對應(yīng)參數(shù)應(yīng)該是一個字符%s輸出一個字符串,對應(yīng)參數(shù)應(yīng)該是一個字符串%f將參數(shù)按帶小數(shù)點數(shù)形式輸出,對應(yīng)參數(shù)應(yīng)是double 類型,默認(rèn)情況下精確到 6 位小數(shù)printf 函數(shù)7-5int visitor_count = 150;printf ( %d

9、 , visitor_count);輸出結(jié)果:150printf 函數(shù)7-6float circumference = 78.53;printf ( %f , circumference);輸出結(jié)果:78.530000默認(rèn)情況下精確到六位小數(shù)9.4786789;printf 函數(shù)7-7double mercury_level = 168.2251074;printf (%7.2f , mercury_level);輸出結(jié)果: 168.23寬度,表示所有的數(shù)字和小數(shù)點所占的位數(shù)。不夠7位右對齊。 %7.2f 精度(精確到小數(shù)點后多少位)轉(zhuǎn)義序列輸出結(jié)果:Name: Audrey HepburnM

10、ovie: Roman Holiday代碼:printf(“Name: Audrey Hepburn n Movie: Roman Holiday”);轉(zhuǎn)義序列允許在輸出結(jié)果中包括特殊字符轉(zhuǎn)義序列轉(zhuǎn)義序列名稱名稱描述描述a 警告產(chǎn)生一則警告。b 退格將光標(biāo)回退一格。f 換頁將光標(biāo)移到下一頁的第一格。n 換行將光標(biāo)移到下一行的第一格。r 回車將光標(biāo)移到當(dāng)前行的第一格。t 水平制表 將光標(biāo)移到下一個水平制表位置。v 垂直制表將光標(biāo)移到下一個垂直制表位置。 單引號產(chǎn)生一個單引號。 雙引號產(chǎn)生一個雙引號。? 問號產(chǎn)生一個問號。反斜線產(chǎn)生一條反斜線。0 空產(chǎn)生一個空字符。#include void ma

11、in()float radius=1.5, high=2.0; float pi=3.14159, vol;/*計算體積*/vol=pi*radius*radius*high; /*輸出體積的值*/printf(vol=%7.2fn,vol);printf 函數(shù)使用示例內(nèi)存radiushighvol1.52.014.14輸出:vol= 14.14pi3.14159案例【案例案例3-2】數(shù)據(jù)的輸出格式數(shù)據(jù)的輸出格式#include void main() /1 /2 int a=15; /3 float b=123.1234567; /4 double c=12345678.1234567; /

12、5 char d=p; /6 printf(a=%d,%5d,%o,%xn,a,a,a,a); /7 printf(b=%f,%lf,%5.4lf,%en,b,b,b,b); /8 printf(c=%lf,%f,%8.4lfn,c,c,c); /9 printf(d=%c,%8cn,d,d); /10 #include void main() /1 /2 int a=15; /3 float b=123.1234567; /4 double c=12345678.1234567; /5 char d=p; /6 printf(a=%d,%5d,%o,%xn,a,a,a,a); /7 prin

13、tf(b=%f,%lf,%5.4lf,%en,b,b,b,b); /8 printf(c=%lf,%f,%8.4lfn,c,c,c); /9 printf(d=%c,%8cn,d,d); /10 scanf(%d,&num);scanf 函數(shù)scanf 函數(shù)從標(biāo)準(zhǔn)輸入(鍵盤)讀取信息,按照格式描述把讀入的信息轉(zhuǎn)換為指定數(shù)據(jù)類型的數(shù)據(jù),并把這些數(shù)據(jù)賦給指定的程序變量。 轉(zhuǎn)換字符串&符號(附在讀取的每個變量上)用于指明變量在內(nèi)存中的位置變量的名稱轉(zhuǎn)換字符串轉(zhuǎn)換字符串參數(shù)變量的類型參數(shù)變量的類型要求的實際輸入要求的實際輸入%dint 十進(jìn)制數(shù)字序列 %ld long 十進(jìn)制數(shù)字序列%

14、f float 十進(jìn)制數(shù),可以有小數(shù)點及指數(shù)部分 %lf double 十進(jìn)制數(shù),可以有小數(shù)點及指數(shù)部分scanf函數(shù) scanf函數(shù)是一個標(biāo)準(zhǔn)庫函數(shù),稱為格式輸入函數(shù),它的函數(shù)原型在頭文件“stdio.h”中,功能:按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中。其中格式控制字符串的作用與printf函數(shù)相同,但不能顯示非格式字符串,也就是不能顯示提示字符串。地址列表中給出各變量的地址。地址是由地址運算符“&”后跟變量名組成的。一般形式為:scanf(“格式控制字符串”,地址列表);scanf函數(shù)格式字符串格式字符串格式字符串的一般形式為:格式字符串的一般形式為: %*輸入數(shù)據(jù)寬

15、度輸入數(shù)據(jù)寬度長度長度類型類型其中有方括號的項為任選項。各項的意義如下:類型:表示輸入數(shù)據(jù)的類型,其格式符和意義如下表3-3所示。格式輸入與輸出 “*”符: 用以表示該輸入項,讀入后不賦予相應(yīng)的變量,即跳過該輸入值。寬度:用十進(jìn)制整數(shù)指定輸入的寬度(即字符數(shù))。 scanf(%d %*d %d,&a,&b);當(dāng)輸入為:1 2 3時,把1賦予a,2被跳過,3賦予b。例如: scanf(%5d,&a);輸入:12345678只把12345賦予變量a,其余部分被截去長度:長度格式符為l和h,l表示輸入長整型數(shù)據(jù)(如%ld) 和雙精度浮點數(shù)(如%lf)。h表示輸入短整型數(shù)據(jù)。內(nèi)

16、存scanffloat tax_rate;scanf ( %f , &tax_rate);tax_rate 在內(nèi)存中分配一塊 32 位存儲空間 存儲空間使用名稱“tax_rate”標(biāo)識 提示用戶輸入一個值 輸入的值存儲在變量中(因為 scanf 提供此變量的地址)12.234#include void main() double radius,high,vol; printf(請輸入圓柱體底面積的半徑和圓柱體的高: ); scanf(%lf%lf,&radius,&high); vol=3.14*radius*radius*high; printf(radius=%7.

17、2f, high=%7.2f, vol=%7.2fn,radius,high,vol);scanf 函數(shù)使用示例內(nèi)存內(nèi)存radiushighvol510785請輸入圓柱體底面積的半徑和圓柱體的高高: 5 10radius= 5.00, high= 10.00, vol= 785.00案例【案例【案例3-4】數(shù)據(jù)輸入格式與變量類型】數(shù)據(jù)輸入格式與變量類型#include void main() float a; int b; printf(輸入數(shù)據(jù)輸入數(shù)據(jù)a,bn); scanf(%f,&a); scanf(%f,&b); printf(a=%ld,b=%dn,a,b);1)變量

18、a為浮點型,輸入的數(shù)據(jù)格式類型為浮點型,但輸出語句輸出語句的格式串中說明為長整型,因此輸出結(jié)果和輸入數(shù)據(jù)不符。2)變量b為整型,輸入的數(shù)據(jù)格式類型為浮點型,由于輸入數(shù)據(jù)類型與變量類型不符,因此輸出結(jié)果和輸入數(shù)據(jù)不符輸入輸出流 輸入/輸出是一種數(shù)據(jù)傳送操作,可以看作是字符序列在主機和外設(shè)之間的流動。C+中將數(shù)據(jù)從一個對象到另一個數(shù)據(jù)對象的流動抽象為中將數(shù)據(jù)從一個對象到另一個數(shù)據(jù)對象的流動抽象為“流流”。與輸出設(shè)備相聯(lián)系的流稱為輸出流輸出流;與輸入設(shè)備相聯(lián)系的流稱為輸入流輸入流。使用輸入輸出流必須使用包含文件#include /輸入輸出流或 #include /輸出流#inlcude /輸入流其源

19、程序的擴展名為源程序的擴展名為.cppcout與插入運算符 cout是與標(biāo)準(zhǔn)輸出設(shè)備相連接的預(yù)定義的ostream類流對象,稱為匯。當(dāng)程序需要在屏幕上顯示輸出時,可以使用插入運算符“”向cout流中插入各種不同類型的數(shù)據(jù)。out流通常是傳送到顯示器輸出。輸出項可以是常量、變量、表達(dá)式。一般形式為:cout 表達(dá)式1表達(dá)式2.例如:cout”Hello! n”;將字符串”hello !”輸出到屏幕上并換行。cout”a+b=” 當(dāng)程序需要執(zhí)行鍵盤輸入時,可以使用提取運算符“”從cin輸入流中提取不同數(shù)據(jù)類型的數(shù)據(jù)。提取運算符可以從同一個輸入流中提取多個數(shù)據(jù)項給其后的多個變量賦值,要求輸入流的數(shù)據(jù)

20、項用空格進(jìn)行分隔。cin預(yù)先定義好的標(biāo)識符,它代表控制臺輸入,缺省情況下,cin是和鍵盤綁定的,表示接收從鍵盤輸入的數(shù)據(jù)。表示用戶從鍵盤輸入數(shù)據(jù)到程序中。流提取符“”從流中提取數(shù)據(jù)時通常跳過輸入流中的空格、tab鍵、換行符等空白字符一般形式為:cin變量1變量2 .變量n;I/O流格式控制當(dāng)使用cin和cout進(jìn)行數(shù)據(jù)的輸入、輸出時,無論什么類型的數(shù)據(jù),都能夠自動按照正確的默認(rèn)格式處理。如需進(jìn)行特殊的格式設(shè)置,需要用I/O 流格式控制符對格式進(jìn)行控制。這些格式控制符可以直接嵌入到輸入/輸出語句中來實現(xiàn)I/O流格式控制??刂品亩x在頭文件iomanip.h中。 案例【案例【案例3.5】閱讀程序,觀察其輸出結(jié)果】閱讀程序,觀察其輸出結(jié)果#include#includevoid main() for(int n=0;n=5;+n)coutsetfill(M)setw(2*n+1)Mendl;setfill是設(shè)置填充填充字符,setw設(shè)置輸出的寬度,它們的只作用表現(xiàn)在緊接著輸入的字符串上。這個寬度是填充后的寬度。所以coutsetfill(M)setw(2*n+1)Mendl;中setfill(M)se

溫馨提示

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

評論

0/150

提交評論