C語言程序設(shè)計-第三章學(xué)生成績的簡單處理-數(shù)據(jù)的輸入、輸出_第1頁
C語言程序設(shè)計-第三章學(xué)生成績的簡單處理-數(shù)據(jù)的輸入、輸出_第2頁
C語言程序設(shè)計-第三章學(xué)生成績的簡單處理-數(shù)據(jù)的輸入、輸出_第3頁
C語言程序設(shè)計-第三章學(xué)生成績的簡單處理-數(shù)據(jù)的輸入、輸出_第4頁
C語言程序設(shè)計-第三章學(xué)生成績的簡單處理-數(shù)據(jù)的輸入、輸出_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目三學(xué)生成績的簡單處理

--數(shù)據(jù)的輸入、輸出3.1數(shù)據(jù)的輸出1【任務(wù)要求】

假設(shè)一個班級有若干學(xué)習(xí)小組,每組有4位同學(xué)。期中考試后,老師將對學(xué)生的考試成績進行分析,需要計算出每個學(xué)習(xí)小組的平均分和總分,然后將處理結(jié)果顯示出來?!救蝿?wù)分析】學(xué)生成績一般取值在0~100之間,且分值為整數(shù);每個小組有4位同學(xué),總分應(yīng)該在0~400之間,所以可以將表示各個學(xué)生成績及總分的變量類型設(shè)為基本整型。學(xué)生成績采用變量初始化的形式給其賦值,求出平均分后輸出。2任務(wù)實現(xiàn)效果演示例題源代碼:ave1.c3相關(guān)知識2.格式化輸出函數(shù)—printf()

1.單個字符的輸出函數(shù)--putchar()41數(shù)據(jù)的輸出為了實現(xiàn)輸出功能,在C的庫函數(shù)中提供了一組輸出函數(shù):putchar(字符變量);printf(“格式控制字符串”,輸出表列);在使用C語言庫函數(shù)時,要用預(yù)編譯命令#include將有關(guān)“頭文件”包括到源文件中#include<stdio.h>#include“stdio.h”51數(shù)據(jù)輸出1.1字符輸出函數(shù)putchar函數(shù)()c表示輸出對象,它可以是字符型數(shù)據(jù)或整型變量.

一般形式putchar(c

)6putchar()[例1]在屏幕上顯示字符‘A’。#include<stdio.h>main(){charch;

ch='A';

putchar(ch);

putchar('m');}輸出結(jié)果:Am字符型變量

字符

7putchar()[例2]在屏幕上顯示單詞

。#include<stdio.h>main(){ chara='B',b='O',c='Y';

putchar(a);putchar(b);

putchar(c);putchar('\n');}輸出結(jié)果:BOY單個字符輸出時只占一位,所以3個字符緊挨著輸出,最后輸出一個換行符,使得輸出的當(dāng)前位置移到下一行的開頭。81數(shù)據(jù)輸出1.2格式輸出函數(shù)一般形式:

printf(“格式控制字符串”,輸出表列);指定輸出格式,由格式字符串和非格式字符串兩種組成,非格式字符串照原樣輸出。9printf()

例如:

inta=3,b=5;printf("a=%d,b=%d\n",a,b);說明:(1)格式控制字符串中:以%開頭的格式說明字符、普通字符和轉(zhuǎn)義字符,其中普通字符按原樣輸出,它主要起提示作用。格式說明字符,輸出時由后面相應(yīng)的輸出對象替換,它只是標(biāo)明輸出對象的輸出位置、數(shù)據(jù)類型、輸出格式。轉(zhuǎn)義字符則起到控制輸出格式的作用。(2)輸出列表:是一組由逗號“,”分開的參數(shù)序列,每個參數(shù)可以是常量、變量或表達式。10格式控制字符串(1)一般形式:%[標(biāo)志][輸出最小寬度][.精度][長度]類型

類型:用以表示輸出數(shù)據(jù)的類型格式字符意義d,i以十進制形式輸出帶符號整數(shù)(正數(shù)不輸出符號)o以八進制形式輸出無符號整數(shù)(不輸出前綴0)x,X以十六進制形式輸出無符號整數(shù)(不輸出前綴Ox)u以十進制形式輸出無符號整數(shù)f以小數(shù)形式輸出單、雙精度實數(shù)e,E以指數(shù)形式輸出單、雙精度實數(shù)g,G以%f或%e中較短的輸出寬度輸出單、雙精度實數(shù)c輸出單個字符s輸出字符串11格式控制字符串(2)一般形式:%[標(biāo)志][輸出最小寬度][.精度][長度]類型

標(biāo)志:標(biāo)志字符為-、+、#、空格四種

標(biāo)志意義-結(jié)果左對齊,右邊填空格+輸出符號(正號或負號)空格輸出值為正時冠以空格,為負時冠以負號#對c,s,d,u類無影響;對o類,在輸出時加前綴o;對x類,在輸出時加前綴0x;對e,g,f類當(dāng)結(jié)果有小數(shù)時才給出小數(shù)點12輸出格式字符串(3)一般形式:%[標(biāo)志][輸出最小寬度][.精度][長度]類型

輸出最小寬度:用十進制整數(shù)來表示。精度:以“.”開頭,后跟十進制整數(shù)。長度:格式符為h,l,L三種,h表示按短整型量輸出,l和L表示按長整型量輸出。若實際位數(shù)多于定義的寬度,則按實際位數(shù)輸出,若實際位數(shù)少于定義的寬度則補以空格或0。如果輸出數(shù)字,則表示小數(shù)的位數(shù);如果輸出的是字符,則表示輸出字符的個數(shù);若實際位數(shù)大于所定義的精度數(shù),則截去超過的部分。13格式輸出函數(shù)練習(xí)(1)[例3]分析下面程序的輸出結(jié)果。main(){inta=123;longb=1234590;printf(“%d,%5d,,%ld”,a,a,b);}%[標(biāo)志][輸出最小寬度][.精度][長度]類型

輸出結(jié)果:

123,︺︺123,1234590

14格式輸出函數(shù)練習(xí)(2)[例4]分析下面程序的輸出結(jié)果。main(){charc='a';

inti=97;

printf("%c,%d\n",c,c);

printf("%c,%d\n",i,i);}%[標(biāo)志][輸出最小寬度][.精度][長度]類型

輸出結(jié)果:a,97a,9715課堂練習(xí)[例5]分析下面程序的輸出結(jié)果。main(){floatx=123.456;printf("%f,%10.2f,%-10.2f",x,x,x);}輸出結(jié)果:

123.456000,︺︺︺︺123.46,123.46︺︺︺︺

float型有7位有效數(shù)字double型有16位有效數(shù)字16任務(wù)實現(xiàn)#include<stdio.h>main(){

inta1=78,a2=88,a3=92,a4=56,sum;floatave;sum=a1+a2+a3+a4;

ave=sum/4.0;

printf("theaveragescore:%f",ave);}定義變量保存學(xué)生成績輸出平均成績數(shù)據(jù)格式控制17本講小結(jié)重點學(xué)習(xí)了putchar()和pirntf()函數(shù)。重點學(xué)習(xí)了printf()函數(shù)的格式控制字符串的書寫格式。18課堂練習(xí)題思考題教材P35,一、填空題、選擇題教材P36,二、分析題動手練習(xí)教材P36三、寫出程序運行結(jié)果(1-3)四、編寫程序題(1-2)

193.2數(shù)據(jù)的輸入20【任務(wù)要求】假設(shè)一個班級有若干學(xué)習(xí)小組,每組有4位同學(xué)。期中考試后,老師將對學(xué)生的考試成績進行分析,需要計算出每個學(xué)習(xí)小組的平均分和總分,然后將處理結(jié)果顯示出來?!救蝿?wù)分析】采用讓用戶從鍵盤輸入學(xué)生成績的方法輸入成績,計算平均分及總分。分析學(xué)生成績?nèi)≈档念愋秃头秶?,采用適當(dāng)類型的變量表示學(xué)生的成績。21任務(wù)實現(xiàn)效果演示例題源代碼:ave2.c22相關(guān)知識2.格式化輸入函數(shù)—scanf()

1.單個字符的輸入函數(shù)--getchar()231、字符輸入1.1字符輸入函數(shù)getchar():接收從鍵盤上輸入的一個字符一般形式getchar()沒有參數(shù)

注意:getchar函數(shù)只能接受單個字符,輸入數(shù)字也按字符處理。輸入多于一個字符時,只接受第一個字符。241、字符輸入[例1]從鍵盤上輸入一個字符,然后顯示出來。#include<stdio.h>main(){ charch;

ch=getchar();

putchar(ch);}接收輸入的字符放到變量ch中保存

輸出字符變量ch

251、字符輸入1.2字符輸入函數(shù)getch():從鍵盤上讀入一個字符一般形式getch()沒有參數(shù)

注意:getch直接從鍵盤獲取鍵值,不等待用戶按回車,只要用戶按一個鍵,getch就立刻返回,輸入的字符不會回顯在屏幕上,getch函數(shù)常用于程序調(diào)試中,在調(diào)試時,在關(guān)鍵位置顯示有關(guān)的結(jié)果以待查看,然后用getch函數(shù)暫停程序運行,當(dāng)按任意鍵后程序繼續(xù)運行。

262、格式數(shù)據(jù)輸入2.1格式輸入函數(shù)scanf()一般形式:scanf(“格式控制字符串”,地址表列);

指定輸入格式,只有格式字符串。注意:用于輸入若干個任意類型的數(shù)據(jù)。27輸入格式字符串(1)一般形式:%[*][輸入數(shù)據(jù)寬度][長度]類型類型:表示輸入數(shù)據(jù)的類型格式字符意義d,i輸入十進制整數(shù)o輸入八進制整數(shù)x輸入十六進制整數(shù)u輸入無符號十進制整數(shù)f或e輸入實型數(shù)(用小數(shù)形式或指數(shù)形式)c輸入單個字符s輸入字符串28輸入格式字符串(2)一般形式:%[*][輸入數(shù)據(jù)寬度][長度]類型“*”符:用以表示該輸入項,讀入后不賦給相應(yīng)的變量,即跳過該輸入值。寬度:用十進制整數(shù)指定輸入的寬度(即字符數(shù))。長度:長度格式符為l(L)和h,l表示輸入長整型數(shù)據(jù)(如%ld)和雙精度浮點數(shù)(如%lf)。h表示輸入短整型數(shù)據(jù)。292、格式數(shù)據(jù)輸入

例如:

inta;scanf("%d",&a);說明:(1)scanf函數(shù)的格式控制字符串,包含格式說明符和普通字符。格式說明符用于說明輸入數(shù)據(jù)的類型,而普通字符主要起分隔作用,要求用戶在輸入數(shù)據(jù)時原樣輸入,它的作用與printf函數(shù)中的普通字符有所不同。(2)地址列表,由若干個地址組成,各地址間用逗號隔開。在C語言中,“&”是取變量地址符。若已定義變量a,則a的地址為&a。302、格式數(shù)據(jù)輸入格式輸入函數(shù)的幾點說明①scanf函數(shù)中要求給出變量地址,而不是變量名。

scanf("%d",a);

×scnaf("%d",&a);

√②在輸入字符數(shù)據(jù)時,空格字符和“轉(zhuǎn)義字符”都作為有效字符處理。

scanf(“%c%c%c”,&c1,&c2,&c3);則把‘a(chǎn)’賦予c1,‘’賦予c2,‘b’賦予c3︺如輸入abc︺︺31課堂練習(xí)[例2]分析下面程序的輸出結(jié)果。main(){chara,b,c;printf("inputabc:");scanf("%c%c%c",&a,&b,&c);printf("a=%cb=%cc=%c\n",a,b,c);}運行結(jié)果:

inputc1c2c3:XYZa=Xb=Yc=Z32課堂練習(xí)[例3]分析下面程序的輸出結(jié)果。#include<stdio.h>main(){intm=0,n=0;charc=’a’;scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d”,m,c,n);}若從鍵盤上輸入:10A10,則輸出結(jié)果為?運行結(jié)果:

10,A,1033課堂練習(xí)[例4]從鍵盤輸入一個小寫字母,要求在屏幕上輸出對應(yīng)的大寫字母。#include<stdio.h>main(){charlowchar,upchar;

lowchar=getchar();

upchar=lowchar-32;

putchar(upchar);}運行結(jié)果:a

Ascanf(“%c”,&lowchar);printf(“%c\n”,upchar);34任務(wù)實現(xiàn)#include<stdio.h>main(){

inta1,a2,a3,a4,sum;floatave;

printf("pleaseinput4scores:");scanf("%d%d%d%d",&a1,&a2,&a3,&a4);sum=a1+a2+a3+a4;

ave=sum/4.0;

printf(“ave:%f,sum:%d”,ave,sum);}從鍵盤上輸入4個學(xué)生的成績輸出平均成績和總分35本講小結(jié)重點學(xué)習(xí)了getchar()和scanf()函數(shù)。重點學(xué)習(xí)了scanf()函數(shù)的格式控制字符串的書寫格式。36課堂練習(xí)題思考題教材P35,一、填空題、選擇題教材P36,二、分析題動手練習(xí)教材P35三、寫出程序運行結(jié)果(4-5)四、編寫程序題(3-5)

373.3順序結(jié)構(gòu)程序設(shè)計38【項目要求】假設(shè)一個班級分為若干學(xué)習(xí)小組,每組有4位同學(xué)。期中考試后,老師將對學(xué)生的考試成績進行分析,需要計算出每個學(xué)習(xí)小組的平均分和總分,然后將處理結(jié)果顯示出來。本項目可分解為以下兩步:第一步:分析學(xué)生取值的類型和范圍,采用適當(dāng)類型的變量表示學(xué)生的成績。假設(shè)學(xué)生成績采用變量初始化的形式給其賦值,求出平均分后輸出。第二步:采用讓用戶從鍵盤輸入學(xué)生成績的方法輸入成績,計算平均分及總分?!卷椖糠治觥?9問題情境及實現(xiàn)假設(shè)一個班級分為若干學(xué)習(xí)小組,每組有4位同學(xué)。期中考試后,老師將對學(xué)生的考試成績進行分析,需要計算出每個學(xué)習(xí)小組的平均分和總分,然后將處理結(jié)果顯示出來。考慮到成績?nèi)≈捣秶?~100之間,一般平均分會取2位小數(shù),所以可以將表示各個學(xué)生成績及總分的變量類型設(shè)為基本整型,而將表示平均分的變量類型設(shè)為單精度類,且在輸出平均分時取2位小數(shù)。實現(xiàn)源代碼:main(){inta1,a2,a3,a4,sum;floatave;printf(“請輸入本小組4位同學(xué)的成績:\n”);scanf(“%d%d%d%d”,&a1,&a2,&a3,&a4);sum=a1+a2+a3+a4;ave=sum/4.0;printf(“本小組4位同學(xué)的成績分別為:%d,%d,%d,%d”,a1,a2,a3,a4);printf(“本小組的總分為:%d,平均分為:%.2f\n”,sum,ave);}40相關(guān)知識例1:雞兔同籠問題。已知雞兔總頭數(shù)為H,總腳數(shù)為F,求雞兔各有多少只?解題思路:先作為一個數(shù)學(xué)問題考慮。設(shè)雞有x只,兔有y只,可得方程組解得:411順序結(jié)構(gòu)程序舉例例1:雞兔同籠問題。(續(xù))編程思路流程圖:編寫程序代碼#include<stdio.h>main(){

int

H,F,x,y;

scanf(“%d,%d”,&H,&F);x=(4*H-F)/2;y=(F-2*H)/2;

printf(“chicken=%d\n”,x);

printf(“rabbit=%d\n”,y);}42361順序結(jié)構(gòu)程序舉例例2:輸入整數(shù)a和b,交換a和b后輸出。ab15解題思路:如何完成交換過程?abtemp1536temp=a;a=b;b=temp;431順序結(jié)構(gòu)程序舉例例2:輸入整數(shù)a和b,交換a和b后輸出。(續(xù))編程思路流程圖:編寫程序代碼#include<stdio.h>main(){

int

a,b,temp;

scanf(“%d%d”,&a,&b);

printf(“a=%db=%d\n”,a,b);temp=a;a=b;b=temp;

printf(“a=%db=%d\n”,a,b);}441順序結(jié)構(gòu)程序舉例例2:輸入整數(shù)a和b,交換a和b后輸出。(續(xù))編程思路流程圖:思考題:請同學(xué)們用第二種方法完成此程序。45作業(yè)思考題教材P60,一、填空題教材P61,二、選擇題教材P62,三、分析題作業(yè)教材P63編程題(3,4,5)其中3,4題需畫出結(jié)構(gòu)流程圖46算法分析舉例(1)例1:求其中輸入

溫馨提示

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

最新文檔

評論

0/150

提交評論