控制結(jié)構(gòu)和數(shù)據(jù)文件演示文稿_第1頁
控制結(jié)構(gòu)和數(shù)據(jù)文件演示文稿_第2頁
控制結(jié)構(gòu)和數(shù)據(jù)文件演示文稿_第3頁
控制結(jié)構(gòu)和數(shù)據(jù)文件演示文稿_第4頁
控制結(jié)構(gòu)和數(shù)據(jù)文件演示文稿_第5頁
已閱讀5頁,還剩229頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

控制結(jié)構(gòu)和數(shù)據(jù)文件演示文稿當(dāng)前1頁,總共234頁。優(yōu)選控制結(jié)構(gòu)和數(shù)據(jù)文件當(dāng)前2頁,總共234頁。本章概要順序、選擇和循環(huán)是結(jié)構(gòu)化程序的三大結(jié)構(gòu),體現(xiàn)了結(jié)構(gòu)化程序設(shè)計(jì)的特點(diǎn)。本章著重介紹選擇和循環(huán)結(jié)構(gòu)程序設(shè)計(jì)。重點(diǎn)、難點(diǎn)重點(diǎn):(1)分支語句和循環(huán)語句(3)選擇及循環(huán)結(jié)構(gòu)程序設(shè)計(jì)難點(diǎn):(1)多分支語句(2)循環(huán)嵌套當(dāng)前3頁,總共234頁。1、理解自頂向下和結(jié)構(gòu)化程序設(shè)計(jì)思想2、理解并能構(gòu)造關(guān)系表達(dá)式和邏輯表達(dá)式3、應(yīng)用選擇結(jié)構(gòu)解決問題,編制程序4、應(yīng)用循環(huán)結(jié)構(gòu)編制程序5、掌握幾種常用算法6、應(yīng)用結(jié)構(gòu)化程序設(shè)計(jì)方法解決實(shí)際問題7、理解并會簡單使用從信息文件中讀取數(shù)據(jù)和向信息文件中寫入數(shù)據(jù)的方法本章教學(xué)目標(biāo)當(dāng)前4頁,總共234頁。關(guān)鍵詞語雙語化1.在for-語句里(infor-statement)2.在條件里(incondition)

3.默認(rèn)(default)4.關(guān)系運(yùn)算符(relationoperator)

5.循環(huán)機(jī)制(loopingmechanisms)6.if-else語句(if-elsestatement)當(dāng)前5頁,總共234頁。本章內(nèi)容第一節(jié)流程控制中的條件設(shè)計(jì)第二節(jié)選擇結(jié)構(gòu)程序設(shè)計(jì)第三節(jié)軟件開發(fā)與項(xiàng)目案例設(shè)計(jì)第四節(jié)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)第五節(jié)數(shù)據(jù)文件當(dāng)前6頁,總共234頁。本章項(xiàng)目任務(wù)軟件界面的進(jìn)一步優(yōu)化和簡單數(shù)據(jù)輸入輸出功能的實(shí)現(xiàn)。當(dāng)前7頁,總共234頁。第一節(jié)流程控制中的條件設(shè)計(jì)

(Condition)當(dāng)前8頁,總共234頁。程序流程控制(flowcontrol):反映程序語句的執(zhí)行順序。用三種控制結(jié)構(gòu)設(shè)計(jì)程序的執(zhí)行流程。順序選擇循環(huán)控制條件是能夠計(jì)算出“真”或“假”的表達(dá)式。控制條件常由關(guān)系運(yùn)算符、邏輯運(yùn)算符、其它運(yùn)算符和運(yùn)算對象構(gòu)成。當(dāng)前9頁,總共234頁。一、關(guān)系運(yùn)算符與關(guān)系表達(dá)式

(TheOperatorandExpressionsofRelations)關(guān)系運(yùn)算符(Therelationaloperatorsare:)<、<=、>、>=,==、!=優(yōu)先級(precedence):>,>=,<and<=:同一優(yōu)先級。==,!=:同一優(yōu)先級。比前四個低一級算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>賦值(=)>逗號運(yùn)算符(,)關(guān)系表達(dá)式及值邏輯值也稱布爾值。邏輯值只有兩個:指定關(guān)系式成立時,邏輯結(jié)果為真,以1表示;指定關(guān)系不成立時,邏輯結(jié)果為假,以0表示。例:運(yùn)算符優(yōu)先級

c>a+b /*c>(a+b)*/a>b!=c /*(a>b)!=c*/a==b<c /*a==(b<c)*/a=b>c /*a=(b>c)*/例inta=3,b=2,c=1,d,f;a>b(a>b)==cb+c<ad=a>bf=a>b>c/*表達(dá)式值1*//*表達(dá)式值1*//*表達(dá)式值0*//*表達(dá)式值0*//*f=0*/當(dāng)前10頁,總共234頁。例:#include<stdio.h>voidmain(){ floatd=123.45; if(123.45==d)printf("1\n"); elseprintf("0\n");}

例:

5>2>7>8在C中是允許的,值為0k==j==i+5;

根據(jù)運(yùn)算符的左結(jié)合性,先計(jì)算k==j,如果該式不成立,其值為0,再計(jì)算0==i+5,如果也不成立,則表達(dá)式值為0。

注意:例‘a(chǎn)’>0結(jié)果為

‘A’>100結(jié)果為10(1)字符變量以對應(yīng)的ASCII碼參與運(yùn)算。(2)對于含多個關(guān)系運(yùn)算符的表達(dá)式,根據(jù)運(yùn)算符的左結(jié)合性計(jì)算.(3)注意“==”和“=”的區(qū)別。修改:#include<stdio.h>#include<math.h>voidmain(){floatd=123.45; if(fabs(123.45-d)<1e-5)printf("1\n");elseprintf("0\n");}fabs()是數(shù)學(xué)庫函數(shù)。功能:求浮點(diǎn)數(shù)x的絕對值。原型為:externfloatfabs(floatx);

包含在math.h頭文件中(4)應(yīng)避免對實(shí)數(shù)作相等或不等的判斷例inti=1,j=7,a;a=i+(j%4!=0);

則a=2例:

inta=0,b=1;if(a=b)/*賦值,非比較*/printf(“aequaltob”);else

printf(“anotequaltob”);

數(shù)學(xué)概念:

|a-b|<εε為很小的正數(shù),表示a和b之間的誤差。可以根據(jù)要求進(jìn)行調(diào)節(jié)。ε越小,a和b之間的差就越小。若該式成立,則認(rèn)為a與b之間誤差不超過ε,近似相等;否則認(rèn)為a和b不相等。當(dāng)前11頁,總共234頁。二、邏輯運(yùn)算符與邏輯表達(dá)式

(TheOperatorandExpressionsofLogic)C語言中有3個邏輯運(yùn)算符:&&(邏輯與,并且)||(邏輯或,或者)!(邏輯非,取反)“!”為單目運(yùn)算符,“&&”和“||”為雙目運(yùn)算符。優(yōu)先級:!>算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>&&>||“!”的優(yōu)先級高于算術(shù)運(yùn)算符,右結(jié)合性。“&&”和“||”的優(yōu)先級低于關(guān)系運(yùn)算符,左結(jié)合性。邏輯運(yùn)算結(jié)果也為邏輯值。當(dāng)前12頁,總共234頁。若,a=4;b=5;計(jì)算下列各表達(dá)式的值:(1)!a(2)a&&b(3)a||b(4)!a||b(5)4&&0||2(6)5>3&&2||8<4-!0(7)‘c’&&‘d’(8)a>b||!a交互學(xué)習(xí):當(dāng)前13頁,總共234頁。注意:短路特性:邏輯表達(dá)式求解時,并非所有的邏輯運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個邏輯運(yùn)算符才能求出表達(dá)式的解時,才執(zhí)行該運(yùn)算符例:

intx=3,y=0,z=6;!x&&(y+1)&&(z+=2)解答:

表達(dá)式!x的值為0,整個表達(dá)式即為假;則表達(dá)式y(tǒng)+1和z+=2不再計(jì)算。這樣z值沒有被修改。當(dāng)前14頁,總共234頁。例:判斷變量a的值是否在12到30之間。數(shù)學(xué)表達(dá)式寫為:12<a<30

若把這樣的表達(dá)式放在程序里,編譯通過。但在運(yùn)行時會出問題。首先進(jìn)行12<a的判斷,無論結(jié)果為真(1)或假(0),1<30或0<30永遠(yuǎn)成立。由此看來這種寫法在程序中肯定是錯的。正確的寫法應(yīng)該是:(12<a)&&(a<30)/*如果變量a的值大于12并且小于30*/注意區(qū)分C語言的關(guān)系表達(dá)式與數(shù)學(xué)上的比較運(yùn)算表達(dá)式,并將數(shù)學(xué)上的比較運(yùn)算轉(zhuǎn)化為合法的C關(guān)系表達(dá)式。當(dāng)前15頁,總共234頁。例如:

/*判斷x值是否介于1和100之間,或位于數(shù)軸中的開區(qū)間*/x>1&&x<100

/*判斷x值是否介于1和100之間,位于數(shù)軸中間的閉區(qū)間*/x>=1&&x<=100

/*判斷x值是否小于1或大于等于100,位于數(shù)軸的兩端*/x<1||x>=100 /*判斷x和y值是否都大于等于0,或位于第一象限含數(shù)軸*/x>=0||y>=0

/*可用于判斷三個數(shù)是否滿足構(gòu)成三角形的條件*/x+y>z&&x+z>y&&y+z>x /*用于判斷變量ch是否為大寫字母*/ch>='A'&&ch<=’Z’交互學(xué)習(xí)當(dāng)前16頁,總共234頁。三、控制條件的描述與表示常見的控制條件有如下幾種形式:(1)關(guān)系表達(dá)式。例,a>ba==0a!=0等注意:

expression!=0等價于expressionexpression==0等價于!expression(2)邏輯表達(dá)式。例,a>b&&c>d

等(3)特殊的算術(shù)表達(dá)式。例,a、1等,是expression1、簡單的比較,利用關(guān)系運(yùn)算符構(gòu)造。例如:表示“學(xué)生的語文成績在90分以上”這樣一個條件使用關(guān)系表達(dá)式:chinese>90表示“數(shù)學(xué)在95分以下”使用表達(dá)式:math<95一個數(shù)為奇數(shù)的條件表達(dá)式為n%2!=02、比較復(fù)雜的條件,使用邏輯運(yùn)算符將多個關(guān)系表達(dá)式組合起來。例如:表示“學(xué)生的語文成績在90分以上并且數(shù)學(xué)在95分以下”使用表達(dá)式:chinese>90&&math<95判斷變量ch是否是大寫字母的表達(dá)式為ch>=‘A’&&ch<=‘Z’3、更復(fù)雜的條件,使用“()”和邏輯、關(guān)系運(yùn)算符構(gòu)造。常見的構(gòu)造條件表達(dá)式的方法:當(dāng)前17頁,總共234頁。分析:根據(jù)數(shù)學(xué)知識,閏年年份滿足的條件為:如果年份能被4整除但不能被100整除,是閏年;年份能被400整除,也是閏年。例:設(shè)整型變量year表示年份,構(gòu)造一個條件表達(dá)式,當(dāng)year值為閏年時該條件表達(dá)式為“真”,否則為“假”。所以,判斷閏年的條件表達(dá)式為下列二者之一:①year%4==0&&year%100!=0②year%400==0表達(dá)式①②的或運(yùn)算完整地表示判斷閏年的條件:

(year%4==0&&year%100!=0)||year%400==0

等價表示:year%4==0&&year%100!=0||year%400==0或year%4==0&&year%100||year%400==0或!(year%4)&&year%100||!(year%400)當(dāng)前18頁,總共234頁。四、條件運(yùn)算符和條件表達(dá)式條件運(yùn)算符是C語言中唯一的三目運(yùn)算符。一般形式為: 表達(dá)式1?

表達(dá)式2:

表達(dá)式3

說明:?和:組成條件運(yùn)算符表達(dá)式1一般是控制條件表達(dá)式2和表達(dá)式3可以是C語言中任意合法的表達(dá)式,一般這兩個表達(dá)式的值類型相同。功能:如表達(dá)式1(條件)結(jié)果為真,則計(jì)算表達(dá)式2的值,且表達(dá)式2的值為整個條件表達(dá)式的值;如表達(dá)式1(條件)結(jié)果為假,則計(jì)算表達(dá)式3的值,并將表達(dá)式3的值作為整個條件表達(dá)式的值。當(dāng)前19頁,總共234頁。條件運(yùn)算符的優(yōu)先級低于邏輯運(yùn)算符,高于賦值操作符,自右向左結(jié)合。

【例3-5】從鍵盤輸入一個數(shù),判斷其是奇數(shù)還是偶數(shù)。#include<stdio.h>voidmain(void){intx;printf("x=?");scanf("%d",&x);x%2?printf("%d是奇數(shù)!\n",x):printf("%d是偶數(shù)!\n",x);}當(dāng)前20頁,總共234頁。

趣味例題:編寫一個程序統(tǒng)計(jì)某物品的數(shù)量,統(tǒng)計(jì)結(jié)束后將物品數(shù)量存儲在變量nItems中并報告用戶。

把結(jié)果報告給用戶最直接的方法是調(diào)用printf函數(shù):

printf(“%ditemsfound.”,nItems);

問題:

1itemsfound./*

*/

處理:

printf(“%ditem%cfound.”,nItems,nItems>1?’s’:’’);

當(dāng)前21頁,總共234頁。第二節(jié)選擇結(jié)構(gòu)程序設(shè)計(jì)

(SelectionStructure)選擇結(jié)構(gòu)分為:單分支:if雙分支:if-else多分支:if-else-if、swtitch當(dāng)前22頁,總共234頁。一、基本的選擇結(jié)構(gòu)語句(ConditionalStatements)3-xx≤0y=2/xx>0分析:自然語言描述算法如下(1)輸入x;(2)如果x<=0則y=3-x;否則y=2/x;(3)輸出y的值。定義變量y,x用戶輸入xx<=0Ty=3-xFy=2/x輸出y引例1:計(jì)算分段函數(shù)當(dāng)前23頁,總共234頁。

引例2:學(xué)生查分時,應(yīng)輸出查詢成績。并只對分?jǐn)?shù)高于85分的學(xué)生表示慶賀。定義變量y從文件讀取分?jǐn)?shù)yy>=85TF輸出”祝賀你!”輸出y選擇結(jié)構(gòu)根據(jù)條件表達(dá)式的值選擇不同的程序分支段執(zhí)行。選擇結(jié)構(gòu)的基本控制語句用if語句(TheifStatement)實(shí)現(xiàn)。結(jié)論:當(dāng)前24頁,總共234頁。基本的if語句有兩類if單分支if-else雙分支語句格式單分支:

if(condition)statement雙分支:if(condition)statement1

elsestatement2說明:condition是控制條件表達(dá)式,圓括號“()”必不可少;例,ifb==aarea=a*a;/*錯,缺少條件括號*/語法上,內(nèi)嵌statement是一條語句。內(nèi)嵌statement有多條語句時,用復(fù)合語句內(nèi)嵌statement又是if分支語句時,構(gòu)成分支嵌套結(jié)構(gòu)。C標(biāo)準(zhǔn)規(guī)定,編譯程序必須能支持至少15層分支嵌套。內(nèi)嵌語句可以是:賦值語句函數(shù)調(diào)用語句控制語句復(fù)合語句空語句當(dāng)前25頁,總共234頁。if(condition)if條件結(jié)構(gòu)\控制流程\語句statement

條件TFstatementif(condition)條件Fstatement1statement2elsestatement2statement1T當(dāng)前26頁,總共234頁。二、選擇結(jié)構(gòu)程序設(shè)計(jì)訓(xùn)練當(dāng)前27頁,總共234頁。【例3-1】程序設(shè)計(jì)。把大寫字母轉(zhuǎn)換為對應(yīng)小寫字母

。分析:(1)問題背景:使用QQ、郵箱等軟件時經(jīng)常要輸入用戶名和密碼。輸入的用戶名可不區(qū)分大小寫把輸入系統(tǒng)的字母統(tǒng)一轉(zhuǎn)換為小或大寫字母再與系統(tǒng)內(nèi)容(全大寫或小寫)進(jìn)行判斷比較。(2)需求分析:從鍵盤輸入一個字符,若是大寫字母,輸出其對應(yīng)的小寫字母。其它字符直接輸出。(3)數(shù)學(xué)建模:小寫字母的ASCII碼值=大寫字母的ASCII碼值+32當(dāng)前28頁,總共234頁。算法NS流程圖描述

定義char型變量:chch=ch+32;輸出ch;

輸入字符ch;ch>=’A’&&ch<=’Z’TF#include<stdio.h>voidmain(){charch;printf("請輸入一個字符:\n");ch=getchar();printf("輸入的原始字符為%c:\n",ch);if(ch>='A'&&ch<='Z')ch=ch+32;printf(“轉(zhuǎn)換后的字符為%c\n”,ch);}編碼

當(dāng)前29頁,總共234頁。【例3-3】用“假設(shè)思想”法求任意兩數(shù)中的較大數(shù)。(程序設(shè)計(jì)。必記算法)分析:假設(shè)思想:先假設(shè)某事物的一種情況,如成立或不成立或是什么;然后再判斷事實(shí)是否如此;如果事實(shí)和假設(shè)條件不符,則對假設(shè)進(jìn)行修正。

設(shè)有變量x、y、max;

假設(shè)較大的數(shù)是max=x;然后反假設(shè)證之:如果max<y為真則修改語句:max=y;否則假設(shè)正確。輸出max值定義變量x,y,max;max=y;輸出max;輸入x,y;假設(shè)max=x;max<yTF當(dāng)前30頁,總共234頁。#include<stdio.h>voidmain(void){intx,y,max; printf("請輸入兩個實(shí)數(shù):"); scanf("%d%d",&x,&y);

max=x;

if(max<y)max=y;

printf("兩數(shù)中較大的數(shù)為%d\n",max);}定義變量x,y,max;max=y;輸出max;輸入x,y;假設(shè)max=x;max<yTF求三個數(shù)或更多數(shù)中的最大數(shù)或最小數(shù)都可以使用該算法。——打擂法基礎(chǔ)

當(dāng)前31頁,總共234頁。擴(kuò)展1:求三個數(shù)中的最小數(shù)。程序如下:

#include<stdio.h>voidmain(void){floatx,y,z,min; /*定義x、y、z三個變量*/printf("請輸入三個實(shí)數(shù):"); /*提示信息*/scanf("%f%f%f",&x,&y,&z); /*輸入數(shù)據(jù)*/

min=x;/*假設(shè)x的值較大*/if(min>y)min=y; /*假設(shè)若不成立則max值修正為y*/

if(min>z)min=z;printf("三數(shù)中較小的數(shù)為%10.4f\n",min);}當(dāng)前32頁,總共234頁。算法1:雙分支語句floatx,y,max;if(x>y)max=x;elsemax=y;輸出max;擴(kuò)展2:用雙分支語句求兩數(shù)中的較大數(shù)。算法2:雙分支語句floatx,y;if(x>y)輸出x;else

輸出y;算法3:雙分支語句floatx,y,max,min;if(x>y)max=x,min=y;elsemax=y,min=x;輸出max,min;算法4:單分支語句floatx,y,max;max=x;ifmax<ymax=y;輸出max;雙分支單分支當(dāng)前33頁,總共234頁。擴(kuò)展3:數(shù)據(jù)排序。將變量x、y中的數(shù)據(jù)按降序排列。算法分析:“假設(shè)思想”1、定義變量x,y,t2、假設(shè)x、y已按降序排列,輸出x、y。3、若x,y是升序,則交換兩個變量中的值(兩兩交換)4、輸出x,y。當(dāng)前34頁,總共234頁。#include<stdio.h>voidmain(void){intx,y,t;printf("Enterx,y:");scanf("%d,%d",&x,&y);if(x<y)/*兩兩交換*/

{

t=x;x=y;y=t;

}printf("%d,%d\n",x,y);}定義變量x,y,t;x<yTFt=x,x=y,y=t;輸出x,y#include<stdio.h>voidmain(void){intx,y;printf("Enterx,y:");scanf("%d,%d",&x,&y);if(x<y)/*兩兩交換*/

{intt

t=x;x=y;y=t;

}printf("%d,%d\n",x,y);}t=x,x=y,y=t;當(dāng)前35頁,總共234頁。【例3-4】數(shù)學(xué)中有許多有趣的數(shù),如水仙花數(shù)、完數(shù)等。水仙花數(shù)是一個三位數(shù),其各位數(shù)字的立方和恰等于這個數(shù)。例如153,13+53+33=153。編寫程序,從鍵盤上輸入一個三位的整數(shù),判斷其是否為水仙花數(shù)。分析:(1)問題描述:判斷一個三位整數(shù)num是否為水仙花數(shù)(2)數(shù)學(xué)建模和流程:分解num的每一位數(shù)字:ge=num%10 /*個位*/bai=num/100 /*百位*/shi=num/10%10; /*十位*/若num==bai*bai*bai+shi*shi*shi+ge*ge*ge,則num為水仙花數(shù),否則不是。當(dāng)前36頁,總共234頁。定義變量num,ge,shi,bai輸出yes輸入一個三位數(shù)num;從num分解ge,shi,bai輸出no#include<stdio.h>voidmain(void){intnum,bai,shi,ge;printf("請輸入一個三位的整數(shù):");scanf("%d",&num);bai=num/100;shi=num/10%10;ge=num%10;if(num==bai*bai*bai+shi*shi*shi+ge*ge*ge)printf("%d是水仙花數(shù)。",num);elseprintf("%d不是水仙花數(shù)。",num);}是水仙花數(shù)?TF當(dāng)前37頁,總共234頁。三、基本選擇語句的嵌套(

Nestedifstatement)if語句嵌套的形式如下:(1)單if語句的嵌套形式

if

(表達(dá)式)if語句內(nèi)嵌語句,可以是各種形式的if語句(2)雙分支if語句的嵌套形式

if(表達(dá)式)

if語句

else

if語句

內(nèi)嵌語句,如果是復(fù)雜的if語句,請用“{}”括起1、分支語句嵌套當(dāng)前38頁,總共234頁。實(shí)訓(xùn)練習(xí):①用C語句描述“50<=c<=100”if(c<=100)/*內(nèi)嵌語句是單分支if語句,單分支嵌套單分支*/if(c>=50)printf("50<=c<=100\n");②用C語句描述“50<=c<=100”和“c<50”兩種情況

if(c<=100) /*內(nèi)嵌語句是雙分支if語句,單分支嵌套雙分支*/if(c>=50)printf("50<=c<=100\n");elseprintf("c<50\n")③用C語句描述求三數(shù)中的最大數(shù)

if(num1>num2)/*雙分支內(nèi)嵌雙分支,求三個數(shù)中的最大值*/if(num1>num3)max=num1; /*雙分支內(nèi)嵌雙分支*/elsemax=num3elseif(num2>num3)max=num2; /*雙分支內(nèi)嵌雙分支*/elsemax=num3當(dāng)前39頁,總共234頁。else與if配對問題:if語句中出現(xiàn)多個if與else時,要注意它們之間的匹配關(guān)系,否則可能導(dǎo)致邏輯錯誤。書寫形式不能改變句法規(guī)則。else與if的匹配原則:一個else應(yīng)與其之前距離最近且沒有與其它else配對的if配對注意:當(dāng)前40頁,總共234頁。

例:(else匹配問題)⑴if(c<=100)

if(c>=50)printf("50<=c<=100\n");⑵if(c<=100)if(c>=50)printf("50<=c<=100\n");elseprintf("c<50\n");else

if(c<=150)printf("100<c<=150\n");elseprintf("c>150\n");⑶if(c<=100)if(c>=50)printf("50<=c<=100\n");elseprintf("c<50\n")與哪個if配對?與哪個if配對?與哪個if配對?與哪個if配對?⑴if(c<=100)

if(c>=50)printf("50<=c<=100\n");⑵if(c<=100)if(c>=50)printf("50<=c<=100\n");elseprintf("c<50\n");else

if(c<=150)printf("100<c<=150\n");elseprintf("c>150\n");⑶if(c<=100)if(c>=50)printf("50<=c<=100\n");elseprintf("c<50\n")當(dāng)前41頁,總共234頁。

【例3-6】編程練習(xí):實(shí)現(xiàn)判斷某數(shù)是否能被k整除。算法分析:1、問題背景:任何數(shù)除以零的值是無窮大,計(jì)算機(jī)無法存儲,產(chǎn)生一個數(shù)據(jù)溢出錯誤并終止程序的執(zhí)行。編程中,為了防止程序被0除而終止,必須保證除數(shù)不為零。

2、算法描述:定義并輸入數(shù)據(jù)a,k;如果除數(shù)k!=0

則繼續(xù)判斷a/k,若結(jié)果為0,能整除。否則不能整除當(dāng)前42頁,總共234頁。

#include"stdio.h"voidmain(){inta,k;scanf("%d%d",&a,&k);if(k)/*確保k非零的情況下執(zhí)行a/k運(yùn)算*/

if(a%k==0)printf("%d/%dyes\n",a,k);else

printf("%d/%dno\n",a,k);}單分支嵌套雙分支if(k)是if(k!=0)常用的等價寫法當(dāng)前43頁,總共234頁。x+5x≤1

y=

2x1<x<103/(x-10)x>10【例3-7】實(shí)際問題或數(shù)學(xué)中有許多分段函數(shù)。有分段函數(shù)如下,編程求其值。分析:(1)問題描述:分支嵌套語句的典型應(yīng)用是求解分段函數(shù)。本分段函數(shù)可用多種方法觀察圖形。從左往右(或從右往左)觀察數(shù)軸,分段函數(shù)若以第一個點(diǎn)分界,把數(shù)軸分為“x≤1”和“x>1”兩部分;其中“x>1”再從左往右,又分成三種情況1<x<10x>10x!=100110當(dāng)前44頁,總共234頁。注意:多分段函數(shù)中的斷點(diǎn)。(2)需求分析:輸入x的值,根據(jù)x的值計(jì)算并輸出y的值。

y=2*xintx,y;輸出yx>1TF輸入x;x<10TFy=3/(x-10)y=x+5;x>10TFX無定義當(dāng)前45頁,總共234頁。#include"stdio.h"voidmain(void){intx,y;printf("請輸入數(shù)據(jù)x:");scanf("%d",&x);

if(x>1)/*嵌套雙分支*/if(x<10)y=2*x;/*1<x<10*/elseif(x>10)y=3/(x-10); /*x>10*/elseprintf("x無定義。\n"); /*x=10無定義*/

elsey=x+5; /*x≤1*/printf("x=%d,y=%d\n",x,y);}使用分支嵌套結(jié)構(gòu)編寫程序如下提倡縮格書寫(indentation)有利于閱讀程序當(dāng)前46頁,總共234頁。2、多分支語句if-else-if(重點(diǎn))

多分支選擇結(jié)構(gòu):根據(jù)條件kn(n=1、2、...、n)的邏輯結(jié)果,執(zhí)行語句體1、2、...、n、n+1之一。條件1語句體1Y條件2NY語句體2條件3N語句體3Y語句體n+1N條件n語句體nYN當(dāng)前47頁,總共234頁。語句功能:首先計(jì)算條件表達(dá)式1的值,如為真,執(zhí)行子句1;否則,若條件表達(dá)式2為真,執(zhí)行子句2;…;以此類推,若條件表達(dá)式n真,執(zhí)行子句n;若有語句n+1,則執(zhí)行語句n+1。所有條件均不成立,則結(jié)束if-else-if語句,執(zhí)行其下一條語句。多分支if-else-if語句的一般格式if(條件1) 語句體1;elseif(條件2) 語句體2;

elseif(條件3) 語句體3;

...elseif(條件n) 語句體n;

else 語句體n+1;當(dāng)前48頁,總共234頁。特征多分支選擇語句只能選擇執(zhí)行多個子句中的一個子句,所以也叫多選一分支選擇語句。多分支選擇語句中,每個分支有不同的條件表達(dá)式,可以有任意個else子句。也叫級聯(lián)if語句(cascadingifstatement)只在else分支嵌套if-else語句。語法上,if-else-if結(jié)構(gòu)是一條語句。它是雙分支語句的嵌套擴(kuò)充。當(dāng)前49頁,總共234頁。【例3-9】某些應(yīng)用中常需要判斷鍵盤輸入的字符類型。試編程實(shí)現(xiàn)。分析:

設(shè)字符類型數(shù)據(jù)分類為:數(shù)字字符大寫字母小寫字母其它字符輸入一個字符,輸出該字符的類型。

當(dāng)前50頁,總共234頁。

charch;輸入ch;Tch>=’0’&&ch<=’9’F數(shù)字Tch>=’A’&&ch<=’Z’F字符

;大寫

ch>=’a’&&ch<=’z’

字母;T F

小寫 其它字符; 字母

;當(dāng)前51頁,總共234頁。#include<stdio.h>voidmain(){charch;printf("請輸入一個字符");ch=getchar();

if(ch>=’0’&&ch<=’9’) printf("這是一個數(shù)字字符。\n");

else

if(ch>=’A’&&ch<=’Z’) printf("這是一個大寫字母。\n");

else

if(ch>=’a’&&ch<=’z’) printf("這是一個小寫字母。\n");

elseprintf("是其它字符。\n");}當(dāng)前52頁,總共234頁。【例3-10】多分支的典型應(yīng)用。用if-else-if語句編程計(jì)算分段函數(shù)的值。分析:數(shù)學(xué)基礎(chǔ):分段函數(shù)的自變量取值范圍一般是整個數(shù)軸或數(shù)軸某部分。分段函數(shù)將數(shù)軸分成幾段,在各段應(yīng)用不同的公式計(jì)算函數(shù)的值。y=x2+2x+1x<-12x+sin(x)-1≤x≤1x3-1x>1

-101當(dāng)前53頁,總共234頁。在數(shù)軸上從左向右(或從右向左)逐個分析各分段點(diǎn)并產(chǎn)生分支。若x<-1為真,應(yīng)用公式x2+2x+1;(分支一)否則,若x<=1,若為真,應(yīng)用公式2x+sin(x);(分支二)否則應(yīng)用公式x3-1計(jì)算函數(shù)的值。(分支三)

-101當(dāng)前54頁,總共234頁。定義變量x,y輸入xx<-1Tx<=1Ty=2x+sin(x)y=x3-1輸出yFFy=x2+2x+1提示:對于類似可以映象到數(shù)軸上的有序問題,均可用if-else-if語句來設(shè)計(jì)編程。當(dāng)前55頁,總共234頁。程序如下:#include"stdio.h"#include"math.h"voidmain(){doublex,y;printf("enterx:");

scanf("%lf",&x);

if(x<-1)y=x*x+2*x+1;

else

if(x<=1)y=2*x+sin(x);

elsey=x*x*x-1;printf("x=%.2f,y=%.2f",x,y);}當(dāng)前56頁,總共234頁。【學(xué)生項(xiàng)目案例3-1】從鍵盤任意輸入一個百分制考試成績,判斷該成績的等級。——新編項(xiàng)目功能代碼分析:

對于考試成績等級的劃分,可在數(shù)軸上分段劃分如下:

為保證程序的健壯性,應(yīng)進(jìn)行數(shù)據(jù)的有效性檢查。及格中良優(yōu)無效數(shù)據(jù)無效數(shù)據(jù)060708090100不及格當(dāng)前57頁,總共234頁。定義變量score輸入scorescore>100||score<0score>=90輸出優(yōu)score>=80數(shù)據(jù)有錯輸出良score>=70輸出中score>=60及格不及格TTTTTFFFFF當(dāng)前58頁,總共234頁。編寫程序代碼如下:#include<stdio.h>voidmain(void){ floatscore;printf("請輸入成績:");scanf("%f",&score);/*從鍵盤輸入考試成績*/

if(score<0||score>100)printf("成績輸入錯誤!\n");/*有效性檢查*/

else

if(score>=90)printf("%4.1fisA\n",score);

else

if(score>=80)printf("%4.1fisB\n",score);

elseif(score>=70)printf("%4.1fisC\n",score);

else

if(score>=60)printf("%4.1fisD\n",score);

elseprintf("%4.1fisE\n",score);}if-else-if語句結(jié)構(gòu)易使程序冗長不清晰,降低程序的可讀性當(dāng)前59頁,總共234頁。例【3-11】玩牌游戲。本游戲中,每一組牌用數(shù)字1~13代表;當(dāng)要顯示這些牌時,2~10可以直接顯示數(shù)字,但1、11、12、13應(yīng)該用Ace、Jack、Queen和King來表示。分析:

(1)問題描述:根據(jù)不同的牌面顯示不同的結(jié)果。設(shè)牌面值用變量cardnum表示

(2)處理流程:

四、switch語句和break語句當(dāng)前60頁,總共234頁。定義牌面變量x輸入xx==1輸出AceTF方法一流程:單分支語句

……x==2輸出2TF

x==3輸出3TF

x==11輸出JackTF

x==12輸出QueenTF

x==13輸出KingTF

特點(diǎn):每個單分支語句都要判斷一次

當(dāng)前61頁,總共234頁。定義牌面變量x輸入xx==1輸出AceTF方法二流程:多分支語句

x==2

輸出2TFx==3T輸出3F……….下一語句特點(diǎn):雖然判斷的次數(shù)有所減少,但最壞情況下,還是要判斷到最后且結(jié)構(gòu)復(fù)雜。

當(dāng)前62頁,總共234頁。牌面變量1顯示Ace2顯示23顯示34顯示411顯示Jack12顯示Queen13顯示King下一條語句1、switch開關(guān)語句選擇結(jié)構(gòu)當(dāng)前63頁,總共234頁。switch語句是if-else-if語句的推廣使用形式,又叫開關(guān)結(jié)構(gòu)語句,它根據(jù)同一個表達(dá)式的多個不同取值執(zhí)行不同的分支語句。特點(diǎn):實(shí)現(xiàn)選擇分支較多的復(fù)雜判斷結(jié)構(gòu)一般有兩個以上的可選項(xiàng)各選項(xiàng)分支條件取值可表示為不同的整型量各選項(xiàng)條件可用同一個表達(dá)式表示當(dāng)前64頁,總共234頁。switch語句的一般格式如下:switch(expression){case

c1:statement1;

case

c2:statement2;

case

c3:statement3;……

case

cn:statementn;

default:statementn+1;}break;break;break;break;break;常量表達(dá)式開關(guān)表達(dá)式:可有多個不同結(jié)果

圓括號是必須的

2、功能:(1)計(jì)算expression的值,依次與各常量表達(dá)式的結(jié)果比較,等于第i個值時,順序執(zhí)行statementi、statementi+1、…、statementn+1子句。(2)若與所有常量表達(dá)式值都不相等,執(zhí)行default語句序列n+1。(3)每個子句可以有break選取項(xiàng)當(dāng)前65頁,總共234頁。(1)break語句結(jié)束它所在的switch語句,終止該switch語句的執(zhí)行,所以也叫終止語句。

switch語句本身并沒有包括break語句。

switch子句中如果沒有break語句,程序?qū)⒃趫?zhí)行完所選case子句后順序執(zhí)行緊隨其后的子句。這種設(shè)計(jì)在某些情況下是有用的,但它解決的問題遠(yuǎn)比不上它所帶來的麻煩。(2)開關(guān)expression的值應(yīng)為有序類型,如整型、字符型和枚舉類型等。(3)case子句和default子句組成switct語句的主體,statement子句可以為空。(4)常量表達(dá)式值互不相同且是expression可能的取值(5)default子句是可選項(xiàng)。注意:當(dāng)前66頁,總共234頁。值1語句組1下一條語句switch表達(dá)式值2值3…

值ndeauflt語句組2語句組3…語句組n語句組n+1switch語句本意值1語句組1switch語句的執(zhí)行過程:當(dāng)前67頁,總共234頁。加入break語句的switch語句switch表達(dá)式值1語句組1下一條語句break值2語句組2break值3語句組3break……break值n語句組nbreakdeauflt語句組n+1break當(dāng)前68頁,總共234頁。

設(shè)cardnum為牌變量;case1、11、12、13分四種不同情況;其它2~10號情況規(guī)律相同,作為default類情況處理,用printf(“%d”,cardnum)語句實(shí)現(xiàn)輸出。程序段如下:#include<stdio.h>

voidmain(void){intcardnum; printf("Whatistherankofthecard(1-13)?");scanf("%d",&cardnum);switch(cardnum){ case1:printf("Ace\n");break; case11:printf("Jack\n");break; case12:printf("Queen\n");break; case13:printf("King\n");break;

default:printf("%d\n",cardnum);break;}}

當(dāng)前69頁,總共234頁。【趣味例題2】有些網(wǎng)頁會向用戶提示今天的日期或其它有趣的內(nèi)容。編程模擬實(shí)現(xiàn)網(wǎng)頁上每天星期幾對應(yīng)語句的顯示。請學(xué)習(xí)者模擬上題分析。程序如下。#include<stdio.h>voidmain(){intd;/*代表星期*/printf("請輸入今天星期幾:");scanf(“%d”,&d); /*也可利用標(biāo)準(zhǔn)函數(shù)從計(jì)算機(jī)系統(tǒng)直接獲取*/switch(d) /*開關(guān)表達(dá)式,*/{case5:printf("總算熬到星期五了哈\n");break; case6:printf("哈哈,周末啦!\n");break; case0:printf("明天又要上班,想想就煩。\n");break; default:printf("每個工作日慢得都象蝸牛爬啊!\n");break;}}當(dāng)前70頁,總共234頁。【學(xué)生項(xiàng)目案例3-2】用switch語句實(shí)現(xiàn)判斷百分制考試成績的等級。——進(jìn)化【學(xué)生項(xiàng)目案例3-1】分析:問題背景和輸入輸出:學(xué)生查詢成績時,一般輸入學(xué)號進(jìn)行查詢。查詢出學(xué)生成績后,系統(tǒng)判斷成績等級并報告結(jié)果。數(shù)學(xué)模型:

switch語句的開關(guān)表達(dá)式值的類型必須是可列舉的。學(xué)生成績理論上可列舉,但數(shù)據(jù)太多不可行。當(dāng)前71頁,總共234頁。

縮小數(shù)據(jù)范圍法。設(shè)學(xué)生成績score為實(shí)型數(shù)據(jù)。將數(shù)據(jù)范圍縮小到0~10的整數(shù)范圍:(1)實(shí)型顯式轉(zhuǎn)換為整型;(2)用10取整轉(zhuǎn)為1至2位的十進(jìn)制整型;縮小數(shù)據(jù)的數(shù)學(xué)表達(dá)式為(int)score/10。5,4,3,2,1,067810,9(int)score/1059~069~6079~7089~80100~90(int)score59.0~069.0~60.079.0~70.089.0~80.0100.0~90.0floatscore分?jǐn)?shù)值范圍當(dāng)前72頁,總共234頁。算法分析:編制自定義函數(shù):函數(shù)首部:cjpd1()功能:判斷成績等級并報告結(jié)果定義一個臨時主函數(shù)main(),調(diào)用cjpd1()函數(shù)。當(dāng)前73頁,總共234頁。cjpd1()函數(shù)主函數(shù)main()調(diào)用函數(shù)cjpd1();floatscore;輸入學(xué)生成績score;Tscore<0||score>100F

(int)score/10提示輸入10、9876其它值成績default:錯誤;輸出輸出輸出輸出輸出’A’’B’’C’’D’’E’break;break;break;break;break;當(dāng)前74頁,總共234頁。程序代碼如下:#include"stdio.h"voidcjpd1()/*cjpd()自定義函數(shù)的定義*/{floatscore;printf("請輸入學(xué)生成績:");scanf("%f",&score);if(score<0||score>100)printf("輸入成績錯誤!\n");/*成績有效性判斷*/elseswitch((int)score/10) /*數(shù)據(jù)轉(zhuǎn)換*/{case10: /*case子句可以為空*/case9:printf("A\n");break;/*case10和9對應(yīng)同一語句序列*/case8:printf("B\n");break;case7:printf("C\n");break;case6:printf("D\n");break;default:printf("E\n");break;/*其它均為不及格*/}}voidmain()/*臨時主函數(shù)的定義*/{cjpd1();/*函數(shù)調(diào)用*/}當(dāng)前75頁,總共234頁。當(dāng)前76頁,總共234頁。2、嵌套的switch語句分析如下程序段執(zhí)行結(jié)果:intx=1,y=0;switch(x){case1:switch(y){case0:printf("**1**\n");break;case1:printf("**2**\n");break;

case2:printf("**3**\n")}break;/*插入該語句后結(jié)果如何*/當(dāng)前77頁,總共234頁。第三節(jié)軟件開發(fā)與項(xiàng)目案例設(shè)計(jì)當(dāng)前78頁,總共234頁。一、軟件項(xiàng)目及其開發(fā)過程1.軟件項(xiàng)目2.軟件開發(fā)3.軟件項(xiàng)目管理與人員組織4.軟件開發(fā)流程當(dāng)前79頁,總共234頁。小型軟件項(xiàng)目開發(fā)流程項(xiàng)目立項(xiàng)結(jié)束需求分析軟件需求規(guī)格說明書系統(tǒng)設(shè)計(jì)(業(yè)務(wù)流程、界面、數(shù)據(jù)庫)設(shè)計(jì)文檔設(shè)計(jì)評審評審記錄通過開發(fā)&自測代碼開發(fā)人員交叉測試Bug列表發(fā)布部署說明手冊當(dāng)前80頁,總共234頁。二、項(xiàng)目案例設(shè)計(jì)開發(fā)軟件項(xiàng)目時,如果把所有的語句或過程寫在一個main()函數(shù)或同一個函數(shù)中,程序過長給調(diào)試和閱讀帶來困難。常把完成獨(dú)立功能的程序段編寫為一個獨(dú)立的函數(shù),既便于調(diào)試,也有效縮短了各程序的長度。項(xiàng)目小組需要共同開發(fā)項(xiàng)目。前兩章中,通過學(xué)生項(xiàng)目案例1-1、案例2-2和案例2-3分析并設(shè)計(jì)了學(xué)生信息管理系統(tǒng)的主界面、一級菜單和二級菜單。在此基礎(chǔ)上繼續(xù)優(yōu)化,加入判斷功能。假設(shè)某小組成員獨(dú)立開發(fā)一、二級菜單界面模塊。當(dāng)前81頁,總共234頁。【學(xué)生項(xiàng)目案例3-3】建立有多個函數(shù)的源文件。

“學(xué)生信息管理系統(tǒng)”一、二級菜單程序的再優(yōu)化。分析:1、優(yōu)化后的運(yùn)行界面圖:2、界面程序優(yōu)化用選擇結(jié)構(gòu)優(yōu)化已實(shí)現(xiàn)的各個菜單程序

優(yōu)化【學(xué)生項(xiàng)目案例2-2】。在主函數(shù)main()中,利用選擇結(jié)構(gòu),判斷一級輸入功能碼的有效性,在主函數(shù)main()中,用switch結(jié)構(gòu)中的case子句實(shí)現(xiàn)一級菜單和各二級菜單函數(shù)間的調(diào)用。保留主菜單界面函數(shù)menu()當(dāng)前82頁,總共234頁。優(yōu)化【學(xué)生項(xiàng)目案例2-3】為了子模塊程序間的調(diào)用,修改【學(xué)生項(xiàng)目案例2-3】的主函數(shù)main()名,定義為“成績管理子系統(tǒng)”的二級模塊函數(shù)mod_2()。再修改“成績管理子系統(tǒng)”的二級菜單函數(shù)為menu2_3()。利用選擇結(jié)構(gòu),判斷二級輸入功能碼的有效性,用switch結(jié)構(gòu)中的case子句實(shí)現(xiàn)二級菜單中各提示信息的調(diào)用。當(dāng)前83頁,總共234頁。exit(0);調(diào)用主菜單函數(shù)menu()fc_code<'0'&&fc_code>'5'TF輸入fc_code=getchar();'3'定義變量:charfc_code;算法流程圖主函數(shù)main()的算法圖fc_codemod_2()‘0'exit();default提示信息break;待開發(fā)主菜單界面函數(shù)menu()算法圖逐行輸出如下信息:==================================||1:用戶身份驗(yàn)證2:學(xué)籍管理子系統(tǒng)||||3:成績管理子系統(tǒng)4:作業(yè)管理子系統(tǒng)||||5:素質(zhì)評價子系統(tǒng)0:退出系統(tǒng)||==================================當(dāng)前84頁,總共234頁。exit(0);調(diào)用二級菜單函數(shù)menu2_3()fc_code<'0'&&fc_code>'9'TF輸入fc_code2=getchar();定義變量:charfc_code2fc_code2‘0'return;default提示信息mod_2()函數(shù)“成績管理子系統(tǒng)”的二級菜單函數(shù)menu2_3()逐行輸出如下信息:歡迎使用成績管理子系統(tǒng)================================1:學(xué)生成績錄入2:學(xué)生成績輸出3:學(xué)生成績查詢4:學(xué)生成績修改5:學(xué)生成績插入6:學(xué)生成績刪除7:班級成績刪除8:學(xué)生成績排序9:學(xué)生成績統(tǒng)計(jì)0:退出子系統(tǒng)===============================待開發(fā)當(dāng)前85頁,總共234頁。3.主函數(shù)main()和自定義函數(shù)menu()、mod_2()、menu2_3()構(gòu)成一個程序文件ch3-3.c。這個c程序文件中各函數(shù)間關(guān)系如圖所示:main(){menu()……switch}menu(){……}mod_2(){menu2_3()……

switch}menu2_3(){……}當(dāng)前86頁,總共234頁。/*學(xué)生項(xiàng)目案例ch3-3.c*/#include"stdio.h"#include"stdlib.h" /*包含exit()函數(shù)*/voidmenu()/*用戶自定義函數(shù)*/{printf("歡迎使用學(xué)生信息管理系統(tǒng)!\n\n");printf("=================================\n");printf(“||1:用戶身份驗(yàn)證2:學(xué)籍管理子系統(tǒng)||\n");printf("||3:成績管理子系統(tǒng)4:作業(yè)管理子系統(tǒng)||\n");printf(“||5:素質(zhì)評價子系統(tǒng)0:退出系統(tǒng)||\n");printf("==================================\n");}當(dāng)前87頁,總共234頁。voidmenu2_3()/*用戶自定義函數(shù):某二級菜單*/{printf("歡迎使用成績管理子系統(tǒng)!\n\n");printf("==============================\n");printf("1:學(xué)生成績錄入2:學(xué)生成績輸出\n");printf("3:學(xué)生成績查詢4:學(xué)生成績修改\n");printf("5:學(xué)生成績插入6:學(xué)生成績刪除\n"); printf("7:班級成績刪除8:學(xué)生成績排序\n");printf("9:學(xué)生成績統(tǒng)計(jì)0:返回\n");printf("===============================\n");}當(dāng)前88頁,總共234頁。voidmod_2(){charfc_code2;menu2_3();/*函數(shù)調(diào)用*/printf("請你在上述的功能編號中選擇......\n");

fc_code2=getchar();if(getchar()==10){if(!(fc_code2>='0'&&fc_code2<='9')) /*功能號有效性判斷*/{printf("對不起,你選擇的功能模塊號是錯的!!!\n");exit(0); /*退出程序*/}elseswitch(fc_code2){case'0':printf("你選擇退出本菜單。\n");return;/*返回*/ default:printf("你正在使用第%c個功能模塊\n",fc_code2);break; }}else{printf("你輸入的字符數(shù)太多了");exit(0);} }當(dāng)前89頁,總共234頁。voidmain() /*主函數(shù)首部*/{charfc_code; /*存放選擇主選功能編碼*/menu(); /*函數(shù)調(diào)用*/printf("請選擇功能編號進(jìn)入系統(tǒng)......\n");fc_code=getchar();

if(getchar()==10){if(!(fc_code>='0'&&fc_code<='5')) {printf("對不起,你選擇的功能模塊號是錯的!!!\n");exit(0); /*退出程序*/}elseswitch(fc_code){case'0':printf("你選擇退出系統(tǒng)。\n");exit(0);/*退出并返回系統(tǒng)*/case'3':mod_2();break;default:printf("你正在使用第%c個功能模塊\n",fc_code);break;

}}elseprintf("你輸入的字符數(shù)太多了");exit(0);}當(dāng)前90頁,總共234頁。程序剖析:①exit()函數(shù)通常用在子程序中用來終結(jié)整個程序,使用后程序自動結(jié)束跳回操作系統(tǒng)。該函數(shù)包含在stdlib.h頭文件中。

exit(0)表示程序正常,exit(1)表示程序異常退出。②一個C語言程序文件可以包含多個C源文件。③本程序中的函數(shù)定義為無參函數(shù),存在主調(diào)函數(shù)和被調(diào)函數(shù)的關(guān)系。被調(diào)函數(shù)常用return;語句返回主調(diào)函數(shù)。當(dāng)前91頁,總共234頁。當(dāng)前92頁,總共234頁。【文本項(xiàng)目案例3-1】“文本編輯器”軟件菜單界面的優(yōu)化設(shè)計(jì)。分析:(1)設(shè)計(jì)各一級功能模塊對應(yīng)的臨時自定義函數(shù)。以下各函數(shù)只有一條語句。若有其它編程員有相應(yīng)模塊的程序,則替換這些臨時程序。

voidfile(void){puts("正在使用文件功能模塊……\n");}/*文件功能模塊函數(shù)*/voidedit(void){printf("正在使用編輯功能模塊……\n");}/*編輯功能模塊函數(shù)*/voidinsert(void){printf("正

溫馨提示

  • 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

提交評論