C語言程序設(shè)計項目化教程課件第3章_第1頁
C語言程序設(shè)計項目化教程課件第3章_第2頁
C語言程序設(shè)計項目化教程課件第3章_第3頁
C語言程序設(shè)計項目化教程課件第3章_第4頁
C語言程序設(shè)計項目化教程課件第3章_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目主菜單的順序執(zhí)行設(shè)計

第三章上一章介紹了數(shù)據(jù)類型、常量和變量、運算符和表達(dá)式等C語言的一些基本要素,它們是構(gòu)成程序的基本成份,但是只有這些成份是不夠的,必須按照一定的規(guī)則將它們組合起來,才能形成一個完整的程序。本章將結(jié)合簡易計算器項目主菜單的順序執(zhí)行設(shè)計,介紹C程序語句、輸入/輸出函數(shù)、算法和程序的三種基本控制結(jié)構(gòu)等內(nèi)容,并結(jié)合幾個典型實例說明順序結(jié)構(gòu)程序設(shè)計的思想和方法。學(xué)習(xí)目標(biāo):了解C語言程序語句;掌握格式化輸入/輸出函數(shù)的使用方法;掌握單字符輸入/輸出函數(shù)的使用方法;理解算法的概念、特性和描述方法;理解程序的三種基本控制結(jié)構(gòu),掌握順序結(jié)構(gòu)程序的編寫方法。

一、任務(wù)描述實現(xiàn)簡易計算器項目主菜單的設(shè)計,并能夠從鍵盤輸入兩個運算數(shù),按主菜單中列出的加、減、乘、除順序依次進行運算,并輸出每種運算的結(jié)果。二、任務(wù)涉及知識要點

該任務(wù)涉及到的新知識點主要有:C語言程序語句、格式化輸出函數(shù)printf()、格式化輸入函數(shù)scanf()以及順序結(jié)構(gòu)程序設(shè)計。任務(wù)二用輸入/輸出函數(shù)實現(xiàn)項目主菜單的順序執(zhí)行

三、任務(wù)分析該任務(wù)需要解決三個問題,即如何顯示主菜單、如何從鍵盤接收數(shù)據(jù)、如何完成加、減、乘、除四種運算并輸出結(jié)果。(1)顯示主菜單。簡單菜單的制作可利用C語言提供的標(biāo)準(zhǔn)輸出函數(shù)printf()來實現(xiàn),界面中的邊框可通過字符“|”和“-”的多次輸出拼接起來,也可以使用其他字符界定邊框。需要注意的是,菜單設(shè)計應(yīng)做到美觀、友好、整齊。(2)從鍵盤接收數(shù)據(jù)。C語言提供的標(biāo)準(zhǔn)輸入函數(shù)很多,但根據(jù)任務(wù)接收數(shù)據(jù)的類型選用scanf(),該函數(shù)不但能輸入實型數(shù)據(jù),還能輸入整型和字符型數(shù)據(jù)。(3)加、減、乘、除四種運算的實現(xiàn)。四種運算可分別用§2.2.3節(jié)介紹的算術(shù)運算符“+”、“-”、“*”、“/”實現(xiàn)。在書寫程序時,需要注意C語言中的乘、除表示方法和數(shù)學(xué)公式中不同。最后的運算結(jié)果可用printf()函數(shù)輸出。四、任務(wù)實現(xiàn)根據(jù)以上分析,可寫出如下完整程序:#include<stdio.h>#include<stdlib.h>//使用system("cls")函數(shù)時需加此行main(){floatdata1,data2;//存放參與運算的兩個操作數(shù)system("cls");//調(diào)用清屏函數(shù)。若在TC下運行,改用clrscr()printf("\n\n");printf("\t\t|---------------------------------|\n");printf("\t\t|簡易計算器|\n");printf("\t\t|---------------------------------|\n");printf("\t\t|1---加法|\n");printf("\t\t|2---減法|\n");printf("\t\t|3---乘法|\n");printf("\t\t|4---除法|\n");printf("\t\t|0---退出|\n");printf("\t\t|---------------------------------|\n");printf("\t\t請輸入第一個運算數(shù):");scanf("%f",&data1);printf("\t\t請輸入第二個運算數(shù):");scanf("%f",&data2);printf("\t\t加法運算結(jié)果為:\n");printf("\t\t%f+%f=%f\n",data1,data2,data1+data2);printf("\t\t減法運算結(jié)果為:\n");printf("\t\t%f-%f=%f\n",data1,data2,data1-data2);printf("\t\t乘法運算結(jié)果為:\n");printf("\t\t%f*%f=%f\n",data1,data2,data1*data2);printf("\t\t除法運算結(jié)果為:\n");printf("\t\t%f/%f=%f\n",data1,data2,data1/data2);}

因為該任務(wù)主要實現(xiàn)主菜單的順序執(zhí)行操作,不要求用戶選擇菜單項和輸入是否繼續(xù)的應(yīng)答。因此,第2章任務(wù)一中定義的choose和yes_no兩個變量在此暫不考慮。五、要點總結(jié)在程序設(shè)計中,為了保證程序的正確運行,需要對輸入的數(shù)據(jù)進行合法性檢查,如果輸入的數(shù)據(jù)有錯誤,則應(yīng)進行相應(yīng)的處理。如該任務(wù)中,當(dāng)運算類型為除法時,應(yīng)當(dāng)判斷輸入的除數(shù)(即data2)是否為零,并給出錯誤信息和相應(yīng)處理。這一判斷是用分支語句實現(xiàn)的,具體用法將在第4章介紹。3.2理論知識3.2.1C語言程序語句一個C語言程序是由若干語句組成的,每個語句以分號作為結(jié)束符。C語言的語句可以分為五類,分別是控制語句、表達(dá)式語句、函數(shù)調(diào)用語句、空語句和復(fù)合語句。下面分別介紹。1.控制語句控制語句完成一定的控制功能。C語言有九條控制語句,又可細(xì)分為三種:(1)選擇結(jié)構(gòu)控制語句:

if()…else…,switch()…(2)循環(huán)結(jié)構(gòu)控制語句:

do…while(),for()…,while()…,break,continue

(3)其他控制語句:

goto,return2.表達(dá)式語句表達(dá)式語句由表達(dá)式后加一個分號構(gòu)成。最常見的表達(dá)式語句是在賦值表達(dá)式后加一個分號構(gòu)成的賦值語句。例如,“num=5”是一個賦值表達(dá)式,而“num=5;”卻是一個賦值語句。3.函數(shù)調(diào)用語句函數(shù)調(diào)用語句由一次函數(shù)調(diào)用加一個分號構(gòu)成。例如:

printf("ThisisaCProgram.");4.空語句空語句僅由一個分號構(gòu)成,不執(zhí)行任何動作??照Z句主要用于指明被轉(zhuǎn)向的控制點或在特殊情況下作為循環(huán)語句中的循環(huán)體5.復(fù)合語句復(fù)合語句由花括號括起來的一個或多個語句構(gòu)成,也稱為塊語句。例如:#include<stdio.h>main(){{//復(fù)合語句的開始

inta=1,b;b=a*a-1;printf("%d",b);}//復(fù)合語句的結(jié)束。注意:右括號后不需要分號}復(fù)合語句被看成一個語句,可以出現(xiàn)在單條語句出現(xiàn)的任何地方,廣泛用于控制語句中。復(fù)合語句可以嵌套,即復(fù)合語句中也可包含一個或多個復(fù)合語句3.2.2格式化輸入/輸出函數(shù)程序運行中,有時候需要從外部設(shè)備(例如鍵盤)上得到一些原始數(shù)據(jù),程序運行結(jié)束后,通常要把運行結(jié)果發(fā)送到外部設(shè)備(例如顯示器)上,以便人們對結(jié)果進行分析。我們把程序從外部設(shè)備上獲得數(shù)據(jù)的操作稱為“輸入”,而把程序發(fā)送數(shù)據(jù)到外部設(shè)備的操作稱為“輸出”。C語言本身沒有專門的輸入/輸出語句,其輸入/輸出的操作是通過調(diào)用C語言的庫函數(shù)來實現(xiàn)的。這些庫函數(shù)以庫的形式存放在擴展名為.h的文件中,這種文件稱為頭文件。在使用庫函數(shù)時,要用預(yù)編譯命令“#include”將有關(guān)“頭文件”包含到用戶的源程序中。因此,源文件開頭應(yīng)加入預(yù)編譯命令:#include<stdio.h>或#include"stdio.h"stdio是standardinput&output的意思。printf()和scanf()函數(shù)屬于標(biāo)準(zhǔn)輸入/輸出函數(shù),使用頻繁。為此,系統(tǒng)允許在使用這兩個函數(shù)時可不包含頭文件“stdio.h”。有關(guān)預(yù)編譯命令的知識將在第6章詳細(xì)介紹。一、格式化輸出函數(shù)printf()printf()函數(shù)是最常用的輸出函數(shù),它的作用是向計算機系統(tǒng)默認(rèn)的輸出設(shè)備(一般指顯示器)輸出一個或多個任意指定類型的數(shù)據(jù)。它的一般形式為:printf("格式字符串",輸出項表);例如,§3.1節(jié)任務(wù)二中加法運算結(jié)果的輸出:printf("\t\t%f+%f=%f\n",data1,data2,data1+data2);1.格式字符串格式字符串也稱格式控制字符串,是由雙引號括起來的字符串,用于指定輸出格式。它包含格式說明符、轉(zhuǎn)義字符和普通字符三種。(1)格式說明符格式說明符由“%”和格式字符組成,以說明輸出數(shù)據(jù)的類型、形式、長度、小數(shù)位等格式。如“%d”表示按十進制整型輸出,“%f”表示按實型數(shù)據(jù)輸出6位小數(shù),“%c”表示按字符型輸出等。C語言中提供的格式字符如表3-1所示。(2)轉(zhuǎn)義字符常用的有回車換行符'\n'、Tab符'\t'等,這些字符通常用來控制光標(biāo)的位置。(3)普通字符普通字符指除格式說明符和轉(zhuǎn)義字符之外的其他字符。普通字符輸出時將原樣輸出。其作用是作為輸出時數(shù)據(jù)的間隔,在顯示中起提示作用。例如,任務(wù)二中加法運算結(jié)果的輸出語句:printf("\t\t%f+%f=%f\n",data1,data2,data1+data2);其中“+”和“=”都是普通字符2.輸出項表輸出項表由若干個輸出項構(gòu)成,輸出項之間用逗號來分隔,每個輸出項既可以是常量、變量,也可以是表達(dá)式。有時調(diào)用printf()函數(shù)也可以沒有輸出項。在這種情況下,一般用來輸出一些提示信息,例如:printf("Hello,world!\n");3.附加修飾符在printf()函數(shù)的格式說明符%和格式字符間還可以插入修飾符,用于確定數(shù)據(jù)輸出的寬度、精度、小數(shù)位數(shù)、對齊方式等,能夠更規(guī)范整齊地輸出數(shù)據(jù),當(dāng)沒有修飾符時,則按系統(tǒng)默認(rèn)設(shè)定輸出。常用的修飾符如表3-2所示。附加修飾符的使用舉例見表3-3所示如果字符串的長度或整數(shù)位數(shù)超過說明的列寬,則按其實際長度輸出。但對實數(shù),若整數(shù)部分超過了說明的整數(shù)位寬度,將按實際整數(shù)位輸出;若小數(shù)部分位數(shù)超過了說明的小數(shù)位寬度,則按說明的列寬以四舍五入輸出。注意:(1)printf()函數(shù)可以輸出常量、變量和表達(dá)式的值。但格式字符串中的格式說明符必須按從左到右的順序,與輸出項表中的每個數(shù)據(jù)一一對應(yīng),否則出錯。(2)格式字符x,e,g可以用小寫字母,也可以用大寫字母。使用大寫字母時,輸出數(shù)據(jù)中包含的字母也大寫。除了x,e,g格式字符外,其他格式字符必須用小寫字母,例如,“%f”不能寫成“%F”。(3)格式字符緊跟在“%”后面就作為格式字符,否則將作為普通字符原樣輸出,例如:“printf("c=%c,f=%f\n",c,f);”中“=”左邊的c和f都是普通字符。二、格式化輸入函數(shù)scanf()scanf()函數(shù)的功能是從計算機默認(rèn)的輸入設(shè)備(一般指鍵盤)向計算機主機輸入數(shù)據(jù)。調(diào)用scanf()函數(shù)的一般形式為:scanf("格式字符串",輸入項地址表);例如,任務(wù)二中第一個運算數(shù)data1的輸入:scanf("%f",&data1);1.格式字符串格式字符串是由雙引號括起來的字符串,包括格式說明符、空白字符(空格、Tab鍵和回車鍵)和非空白字符(又稱普通字符)。其中的格式說明符,和printf函數(shù)相似,由“%”和格式字符組成,中間可以插入附加的修飾字符。格式字符串中若有普通的字符,在輸入時要原樣輸入。例如,任務(wù)二中第一個運算數(shù)data1的輸入如改為:scanf("data1=%f",&data1);則輸入時“data1=”也必須輸入。假設(shè)data1的值為2.5,則程序運行時應(yīng)按如下形式輸入:data1=2.5↙但是,在實際應(yīng)用時,為改善人機交互性,同時簡化輸入操作,在設(shè)計輸入操作時,一般先用printf()函數(shù)輸出一個提示信息,再用scanf()函數(shù)進行數(shù)據(jù)輸入。例如:scanf("data1=%f",&data1);可改為:printf("data1=");scanf("%f",&data1);2.輸入項地址表輸入項地址表由若干個輸入項地址組成,相鄰兩個輸入項地址之間用逗號分隔。輸入項地址表中的地址,可以是變量的地址,也可以是字符數(shù)組名或指針變量(分別在第7章和第8章介紹)。變量地址的表示方法為“&變量名”,其中,“&”是地址運算符。任務(wù)二中兩個運算數(shù)的輸入也可用一個scanf()實現(xiàn),方法是將任務(wù)二中如下所示的程序段1改為程序段2。程序段1:printf("\t\t請輸入第一個運算數(shù):");scanf("%f",&data1);printf("\t\t請輸入第二個運算數(shù):");scanf("%f",&data2);程序段2:printf("\t\t請輸入兩個運算數(shù)(兩數(shù)之間用逗號分開):");scanf("%f,%f",&data1,&data2);則輸入時應(yīng)按如下形式:2.5,3.6↙注意:(1)在調(diào)用scanf()函數(shù)時,如果相鄰兩個格式說明符之間,不指定數(shù)據(jù)分隔符(如逗號、冒號等),則相應(yīng)的兩個輸入數(shù)據(jù)之間至少用一個空格分開,或者用Tab鍵分開,或者輸入一個數(shù)據(jù)后,按回車,然后再輸入下一個數(shù)據(jù)。例如:scanf("%f%f",&data1,&data2);假設(shè)給data1輸入10,給data2輸入20,則正確的輸入操作為(“□”為空格):10□20↙或者:10↙20↙(2)格式字符串中出現(xiàn)的普通字符,必須原樣輸入,否則會導(dǎo)致輸入出錯。例如:scanf("data1=%f,data2=%f",&data1,&data2);假設(shè)給data1輸入10,給data2輸入20,正確的輸入操作為:data1=10,data2=20↙(3)對實型數(shù)據(jù),輸入時不能規(guī)定其精度。例如:scanf("%6.2f,%6.2f",&data1,&data2);是不合法的。(4)使用格式說明符“%c”輸入單個字符時,應(yīng)避免將空格和回車等作為有效字符輸入。例如:scanf("%c%c%c",&ch1,&ch2,&ch3);假設(shè)輸入:A□B□C↙,則系統(tǒng)將字符'A'賦值給ch1,空格賦值給ch2,字符'B'賦值給ch3,而字符'C'并沒有賦給ch3。正確的輸入方法應(yīng)當(dāng)是:ABC↙(5)數(shù)值型數(shù)據(jù)與字符型數(shù)據(jù)混合輸入。數(shù)值型數(shù)據(jù)(整型、實型)與字符型數(shù)據(jù)的混合輸入時要特別小心,如果輸入格式不對,就不能得到正確的結(jié)果。例如:intx1,x2;charc1,c2;scanf("%d%c%d%c",&x1,&c1,&x2,&c2);printf("%d,%c,%d,%c\n",x1,c1,x2,c2);如果輸出結(jié)果為:10,a,20,b正確的輸入操作為:10a20b↙即數(shù)字與字符之間不能有空格。這是因為空格是字符,如果10與a之間輸入了空格,系統(tǒng)將空格賦值給c1,而不是將字符a賦值給c13.2.3單字符輸入/輸出函數(shù)除了使用scanf()函數(shù)和printf()函數(shù)輸入/輸出字符數(shù)據(jù)外,C語言還提供了getchar(),getch()和putchar()函數(shù),專門用來輸入/輸出單個字符。一、單字符輸出函數(shù)putchar()putchar()函數(shù)的功能是在顯示器上輸出單個字符。其一般形式為:putchar(ch);其中,ch可以是一個字符變量或字符常量,也可以是一個轉(zhuǎn)義字符。例如:putchar('A');//輸出大寫字母Aputchar(x);//輸出字符變量x的值putchar('\n');//換行,對控制字符則執(zhí)行控制功能,不在屏幕上顯示。二、單字符輸入且回顯函數(shù)getchar()getchar()函數(shù)的功能是從鍵盤輸入單個字符,并且字符回顯在屏幕上。其一般形式為:ch=getchar();getchar()函數(shù)是一個無參函數(shù),但調(diào)用getchar()函數(shù)時,后面的圓括號不能省略。getchar()函數(shù)從鍵盤接收一個字符作為它的返回值?!纠?.1】編寫一個C程序,先從鍵盤接收一個字符,然后顯示在屏幕上。#include<stdio.h>main(){charch;ch=getchar();putchar(ch);putchar('\n');}程序運行結(jié)果:A↙Agetchar()函數(shù)得到的字符可以賦給一個字符型變量或整型變量,也可作為表達(dá)式的一部分。如例3.1可改為:#include<stdio.h>main(){putchar(getchar());putchar('\n');}程序運行結(jié)果同例3.1。需要注意的是,程序中如果調(diào)用了putchar()函數(shù)或getchar()函數(shù),則在程序的開頭必須加上“#include"stdio.h"”或“#include<stdio.h>”,否則,程序編譯時會出錯。三、單字符輸入無回顯函數(shù)getch()getch()函數(shù)的功能也是從鍵盤輸入一個字符,但是字符不回顯在屏幕上。其一般形式為:getch();getch()函數(shù)一般用來使屏幕暫?;蜉斎朊艽a等操作?!纠?.2】getch()函數(shù)應(yīng)用舉例。#include<stdio.h>#include<conio.h>main(){ charch; printf("請輸入一個字符:"); ch=getchar();//從鍵盤上帶回顯的輸入一個字符賦給變量ch putchar(ch); printf("\n按任意鍵繼續(xù)……"); getch();//暫停,以觀察結(jié)果}程序運行結(jié)果:請輸入一個字符:a↙a按任意鍵繼續(xù)……例3.2只給出了getch()函數(shù)使屏幕暫停的操作,使用getch()輸入密碼的操作將在第7章中詳細(xì)介紹。需要注意的是,getch()函數(shù)只需要用戶按下一個有實際意義的鍵就結(jié)束輸入,而getchar()函數(shù)則需要等到用戶按回車鍵才會結(jié)束輸入。另外,getch()函數(shù)也是C語言的庫函數(shù),使用時必須在文件的開頭加上“#include<conio.h>”。3.2.4算法與程序的三種基本結(jié)構(gòu)一、算法的概念在程序的編寫過程中,一般需要考慮兩個方面的問題:一是數(shù)據(jù)結(jié)構(gòu),即程序中所要處理的數(shù)據(jù)對象以及它們之間的相互關(guān)系;另一個就是算法,即解決一個問題所采取的方法和步驟。算法一般不是惟一的。例如從家到學(xué)校的路線,就可以有多個選擇方案。利用計算機來解決問題需要編寫程序,在編寫程序前要對問題進行分析,設(shè)計解題的方法與步驟,也就是設(shè)計算法。算法的好壞決定了程序的優(yōu)劣,因此,算法的設(shè)計是程序設(shè)計的核心任務(wù)之一。二、算法的特性通常,一個算法必須具備以下五個基本特性。(1)有窮性。算法所包含的操作步驟是有限的,且每一步都應(yīng)在有限時間內(nèi)完成。(2)確定性。算法的每一步都應(yīng)該是確定的,不允許有歧義。(3)有效性。算法的每一步都必須有效可行,即能夠由計算機執(zhí)行。例如,對一個負(fù)數(shù)求平方根,就是一個無效的步驟。(4)有零個或多個輸入。輸入是算法實施前需要從外界取得的信息。有些算法需要有多個輸入,而有些算法不需要輸入,即零個輸入。(5)有一個或多個輸出。輸出就是算法實施后得到的結(jié)果。顯然,沒有輸出的算法是沒有意義的。三、算法的描述1.自然語言描述即用人類自然語言(如中文、英文)來描述算法,同時還可插入一些程序設(shè)計語言中的語句來描述,這種方法也稱為非形式算法描述。用自然語言描述算法,通俗易懂,但直觀性很差,容易出現(xiàn)歧義。比如,對于以下這句話:如果a小于b,把它賦給min。在理解時就可能出現(xiàn)“是把a賦給min還是把b賦給min”的二義性。因此,除了很簡單的問題以外,一般不用自然語言描述算法。2.流程圖描述這是一種圖形語言表示法,它用一些不同的圖例來表示算法的流程,其常用符號如圖3-2所示。用流程圖描述算法,直觀形象,易于理解。例如,求兩個數(shù)中的較小數(shù),其流程圖如圖算法設(shè)計好后,必須通過計算機語言編寫程序代碼才能實現(xiàn)其功能,所以用計算機語言來實現(xiàn)算法是算法設(shè)計的最終目的。四、程序的三種基本控制結(jié)構(gòu)程序的三種基本控制結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。研究表明,這三種基本結(jié)構(gòu)可以組成所有的復(fù)雜程序。順序結(jié)構(gòu)順序結(jié)構(gòu)是程序設(shè)計中最簡單、最常用的基本結(jié)構(gòu)。如圖3-4所示,順序結(jié)構(gòu)中的各部分按書寫順序執(zhí)行,即先執(zhí)行A操作,再執(zhí)行B操作。選擇結(jié)構(gòu)選擇結(jié)構(gòu)也稱為分支結(jié)構(gòu),如圖3-5所示。圖3-5(a)的執(zhí)行流程根據(jù)判斷條件P的成立與否,選擇其中的一路分支執(zhí)行。圖3-5(b)所示的選擇結(jié)構(gòu)中,當(dāng)條件P成立時,執(zhí)行A操作,然后脫離選擇結(jié)構(gòu);如果條件P不成立,則直接脫離選擇結(jié)構(gòu)。循環(huán)結(jié)構(gòu)又稱重復(fù)結(jié)構(gòu),即重復(fù)執(zhí)行某一部分的操作。循環(huán)結(jié)構(gòu)有兩種形式:當(dāng)型循環(huán)和直到型循環(huán)。(1)當(dāng)型循環(huán)如圖3-6(a)所示,它的執(zhí)行流程是首先判斷條件P是否成立,若成立,則執(zhí)行A操作,然后再判斷條件P是否成立,若成立,再執(zhí)行A操作,如此反復(fù)進行,直至某次判斷條件P不成立,則不再執(zhí)行A操作而結(jié)束循環(huán)。(2)直到型循環(huán)如圖3-6(b)所示,它的執(zhí)行流程是首先執(zhí)行A操作,然后判斷條件P是否成立,如果成立再執(zhí)行A操作,再判斷條件P是否成立,如果成立再執(zhí)行A操作,如此反復(fù)直到條件P不成立而結(jié)束循環(huán)。注意:(1)三種基本控制結(jié)構(gòu)有一個共同的特點,即只有一個入口且只有一個出口。(2)三種基本結(jié)構(gòu)中的A,B操作是廣義的,可以是一個操作,也可以是另一個基本結(jié)構(gòu)或幾種基本結(jié)構(gòu)的組合。3.2.5順序結(jié)構(gòu)程序設(shè)計在順序結(jié)構(gòu)程序中,各語句是按照位置的先后次序順序執(zhí)行的,且每個語句都會被執(zhí)行到。順序結(jié)構(gòu)程序中的語句絕大部分由表達(dá)式語句和函數(shù)調(diào)用語句組成。例如,任務(wù)二就是由printf()和scanf()函數(shù)調(diào)用語句組成的順序程序結(jié)構(gòu)?!纠?.3】編寫程序,從鍵盤輸入某學(xué)生的3門課成績,計算并輸出該學(xué)生的總分和平均分。#include<stdio.h>main(){ intscore1,score2,score3,sum;floataverage; printf("請輸入三門課成績(成績之間用空格分隔):"); scanf("%d%d%d",&score1,&score2,&score3); sum=score1+score2+score3;//計算總分

average=sum/3.0;//計算平均分

printf("該學(xué)生的總分是%d,平均分是%.2f\n",sum,average);}程序運行結(jié)果:請輸入三門課成績(成績之間用空格分隔):857090↙該學(xué)生的總分是245,平均分是81.67請思考:如果將程序中計算平均分的語句“average=sum/3.0;”改寫為“average=sum/3;”,結(jié)果會有什么不同?能否改寫為“average=(float)sum/3;”?【例3.4】編寫程序,從鍵盤輸入一個小寫字母,輸

溫馨提示

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

最新文檔

評論

0/150

提交評論