![程序的控制結(jié)構(gòu)課件_第1頁](http://file4.renrendoc.com/view/b3f02ccc00f781cc923c1fcdc202c2a6/b3f02ccc00f781cc923c1fcdc202c2a61.gif)
![程序的控制結(jié)構(gòu)課件_第2頁](http://file4.renrendoc.com/view/b3f02ccc00f781cc923c1fcdc202c2a6/b3f02ccc00f781cc923c1fcdc202c2a62.gif)
![程序的控制結(jié)構(gòu)課件_第3頁](http://file4.renrendoc.com/view/b3f02ccc00f781cc923c1fcdc202c2a6/b3f02ccc00f781cc923c1fcdc202c2a63.gif)
![程序的控制結(jié)構(gòu)課件_第4頁](http://file4.renrendoc.com/view/b3f02ccc00f781cc923c1fcdc202c2a6/b3f02ccc00f781cc923c1fcdc202c2a64.gif)
![程序的控制結(jié)構(gòu)課件_第5頁](http://file4.renrendoc.com/view/b3f02ccc00f781cc923c1fcdc202c2a6/b3f02ccc00f781cc923c1fcdc202c2a65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計(jì)第五章程序控制結(jié)構(gòu)1C語言程序設(shè)計(jì)第五章1本章學(xué)習(xí)內(nèi)容5-2
算法的描述方法
單分支控制語句:if雙分支控制語句:if-else
多分支控制語句:ifelseif
多路選擇語句:switchbreak語句在switch語句中的作用運(yùn)算符:
關(guān)系運(yùn)算符條件運(yùn)算符邏輯運(yùn)算符本章學(xué)習(xí)內(nèi)容5-2算法的描述方法算法的概念及其描述數(shù)據(jù)結(jié)構(gòu)+算法=程序數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)的描述和組織形式算法:為解決一個(gè)具體問題而采取的確定的有限的操作步驟。算法特性:有窮性確定性
有效性
沒有輸入或有多個(gè)輸入
有一個(gè)或多個(gè)輸出
5-3算法的概念及其描述數(shù)據(jù)結(jié)構(gòu)+算法=程序5-3算法的特性有窮性在合理的時(shí)間內(nèi)完成確定性,無歧義如果x≥0,則輸出Yes;如果x≤0,則輸出No有效性能有效執(zhí)行負(fù)數(shù)開平方?jīng)]有輸入或有多個(gè)輸入有一個(gè)或多個(gè)輸出5-4算法的概念及其描述算法的特性5-4算法的概念及其描述算法的描述方法自然語言描述傳統(tǒng)流程圖(Flowchart)在1966年,Bohra與Jacopini提出N-S結(jié)構(gòu)化流程圖1973年,美國學(xué)者I.Nassi和B.Shneiderman提出偽碼(Pseudocode)表示5-5算法的概念及其描述算法的描述方法5-5算法的概念及其描述偽碼(Pseudocode)人工的,非正式的輔助人們進(jìn)行算法設(shè)計(jì)的語言。6if8點(diǎn)以前thendo私人事務(wù);elseif8點(diǎn)到11:45點(diǎn)then上課;else自習(xí);日常生活偽碼(Pseudocode)人工的,非正式的輔助人們進(jìn)行流程圖(Flowchart)5-7開始\結(jié)束框符號Semantic一般處理框輸入\輸出框判斷框連接符流程線流程圖(Flowchart)5-7開始\結(jié)束框符號Sem2022/12/256-8構(gòu)成程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)(分支結(jié)構(gòu))循環(huán)結(jié)構(gòu)任何程序均可只用這三種結(jié)構(gòu)綜合描述只用這三種結(jié)構(gòu)編制的程序,叫結(jié)構(gòu)化程序程序必須符合結(jié)構(gòu)化規(guī)則2022/12/206-8構(gòu)成程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)2022/12/259結(jié)構(gòu)化程序設(shè)計(jì)的核心思想采用順序、選擇和循環(huán)三種基本結(jié)構(gòu)作為程序設(shè)計(jì)的基本單元只有一個(gè)入口;只有一個(gè)出口;無死語句,即不存在永遠(yuǎn)都執(zhí)行不到的語句;無死循環(huán),即不存在永遠(yuǎn)都執(zhí)行不完的循環(huán)。采用“自頂向下、逐步求精”和模塊化的方法進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì)2022/12/209結(jié)構(gòu)化程序設(shè)計(jì)的核心思想采用順序、選擇構(gòu)成程序的三種基本結(jié)構(gòu)例:買蘋果,計(jì)算價(jià)錢5-10
數(shù)量
單位價(jià)格總價(jià)總價(jià)=數(shù)量*單位價(jià)格InputProcessOutput首先要確認(rèn)輸入與輸出構(gòu)成程序的三種基本結(jié)構(gòu)例:買蘋果,計(jì)算價(jià)錢5-10數(shù)順序結(jié)構(gòu)給變量賦值賦值表達(dá)式語句/賦值表達(dá)式;總價(jià)=數(shù)量*單位價(jià)格;輸入輸出數(shù)據(jù)標(biāo)準(zhǔn)庫函數(shù)調(diào)用語句scanf("%d",&pricePerkg);printf("%d",price);5-11ABC順序結(jié)構(gòu)給變量賦值5-11ABC順序結(jié)構(gòu)——應(yīng)用舉例(1)5-12例:求一個(gè)數(shù)的絕對值解:(1)問題分析:step1:給出一個(gè)數(shù)num=-55step2:求num的絕對值step3:輸出結(jié)果公式:abs=fabs(num)(利用數(shù)學(xué)函數(shù)fabs())順序結(jié)構(gòu)——應(yīng)用舉例(1)5-12例:求一個(gè)數(shù)的絕對值解流程圖及代碼5-13num=-55開始abs=fabs(num)輸出num,abs結(jié)束#include<stdio.h>#include<math.h>main(){intnum,abs;num=-55;abs=fabs(num);printf("|%d|=%d",num,abs);}5_1.c流程圖及代碼5-13num=-55開始abs=fabs常用函數(shù)對應(yīng)的頭文件函數(shù)函數(shù)頭文件數(shù)學(xué)函數(shù)math.h字符串函數(shù)string.h輸入輸出函數(shù)stdio.h動態(tài)存儲分配函數(shù)stdlib.h/malloc.h5-14常用函數(shù)對應(yīng)的頭文件函數(shù)函數(shù)頭文件數(shù)學(xué)函數(shù)math.h字符選擇結(jié)構(gòu)(分支結(jié)構(gòu))
5-15分類:單分支:if雙分支:if-else多分支:if-else-if作用:控制程序的流向組成:常量,變量,表達(dá)式(常用:關(guān)系、邏輯表達(dá)式)選擇結(jié)構(gòu)(分支結(jié)構(gòu))5-15分類:本章學(xué)習(xí)內(nèi)容5-16
算法的描述方法
單分支控制語句:if雙分支控制語句:if-else
多分支控制語句:ifelseif
多路選擇語句:switchbreak語句在switch語句中的作用運(yùn)算符:
關(guān)系運(yùn)算符條件運(yùn)算符邏輯運(yùn)算符本章學(xué)習(xí)內(nèi)容5-16算法的描述方法關(guān)系運(yùn)算符與關(guān)系表達(dá)式5-17關(guān)系運(yùn)算符含義示例值優(yōu)先級<小于6<91(true)高<=小于等于5<=51(true)>大于2>60(false)>=大于等于9>=51(true)==等于7==50(false)低!=不等于6!=51(true)關(guān)系運(yùn)算符與關(guān)系表達(dá)式5-17關(guān)系運(yùn)算符含義示例值優(yōu)先級關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符運(yùn)算出的結(jié)果為0和非00,表示假,即該關(guān)系不成立非0,表示真,即該關(guān)系成立絕大多數(shù)編譯器,關(guān)系運(yùn)算得到的非0結(jié)果為1,但是不要利用這個(gè)1優(yōu)先級:<、<=、>、>=優(yōu)先于==、!=5-18關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符運(yùn)算出的結(jié)果為0和非05-關(guān)系運(yùn)算符與關(guān)系表達(dá)式例:設(shè)a=3,b=2,c=1,計(jì)算下列表達(dá)式的值5-19a>ba>b>c10int
a=0;
if
(a=0)
printf("OK");int
a=0;
if
(a==0)
printf("OK");如何避免?int
a=0;
if
(0==a)
printf("OK");int
a=0;
if
(0=a)
printf("OK");編譯出錯(cuò)!!==與=3.a=b1變量的值就是賦值表達(dá)式的值關(guān)系運(yùn)算符與關(guān)系表達(dá)式例:設(shè)a=3,b=2,c=1,計(jì)算下列本章學(xué)習(xí)內(nèi)容5-20
算法的描述方法
單分支控制語句:if雙分支控制語句:if-else
多分支控制語句:ifelseif
多路選擇語句:switchbreak語句在switch語句中的作用運(yùn)算符:
關(guān)系運(yùn)算符條件運(yùn)算符邏輯運(yùn)算符本章學(xué)習(xí)內(nèi)容5-20算法的描述方法格式:5-21if(表達(dá)式)
語句;if(表達(dá)式){
語句1;語句2;}單分支控制的條件語句復(fù)合語句被當(dāng)做一條語句單語句格式:復(fù)合語句格式:格式:5-21if(表達(dá)式)單分支控制的條件語句復(fù)合語句單分支控制的條件語句5-22yesno語句A條件成立否條件表達(dá)式.T..F.語句單分支控制的條件語句5-22yesno語句A條件成立例5.1計(jì)算兩整數(shù)的最大值5-23#include<stdio.h>main(){inta,b,max;printf("Inputa,b:");scanf("%d,%d",&a,&b);
if(a>b) max=a;
if(a<=b)max=b;printf("max=%d\n",max);}Inputa,b:20,
15↙max=20_5_1.c例5.1計(jì)算兩整數(shù)的最大值5-23#include<本章學(xué)習(xí)內(nèi)容5-24
算法的描述方法
單分支控制語句:if雙分支控制語句:if-else
多分支控制語句:ifelseif
多路選擇語句:switchbreak語句在switch語句中的作用運(yùn)算符:
關(guān)系運(yùn)算符條件運(yùn)算符邏輯運(yùn)算符本章學(xué)習(xí)內(nèi)容5-24算法的描述方法用于雙分支控制的條件語句格式:5-25if(表達(dá)式)
語句A;else
語句B;語句A真語句B假入口出口表達(dá)式!=0表達(dá)式值非0時(shí),執(zhí)行語句A,跳出結(jié)構(gòu);
表達(dá)式值為0時(shí),執(zhí)行語句B,跳出結(jié)構(gòu);else部分可以沒有if(表達(dá)式)
語句A;
當(dāng)表達(dá)式值為0時(shí),跳出結(jié)構(gòu);假入口出口用于雙分支控制的條件語句格式:5-25if(表達(dá)式)語句用于雙分支控制的條件語句5-26if(表達(dá)式){
語句A1;
語句A2;}else{
語句B1;
語句B2;}復(fù)合語句格式:語句A1真語句B1假入口出口表達(dá)式!=0語句A2語句B2用于雙分支控制的條件語句5-26if(表達(dá)式)復(fù)合語句格例5.1計(jì)算兩整數(shù)的最大值5-27NoYesInputaandbOutputmaxa>b?maxbmaxaStartEnd例5.1計(jì)算兩整數(shù)的最大值5-27NoYesInput例5.1計(jì)算兩整數(shù)的最大值5-28NoYesInputaandbOutputmaxa>b?maxbmaxaStartEndscanf("%d,%d",&a,&b);if(a>b)max=a;elsemax=b;printf("max=%d\n",max);例5.1計(jì)算兩整數(shù)的最大值5-28NoYesInput5-29#include<stdio.h>main(){inta,b,max;printf("Inputa,b:");scanf("%d,%d",&a,&b);
if(a>b) max=a;
if(a<=b)max=b;printf("max=%d\n",max);}例5.1計(jì)算兩整數(shù)的最大值if(a>b)max=a;elsemax=b;5-29#include<stdio.h>例5.1計(jì)本章學(xué)習(xí)內(nèi)容5-30算法的描述方法
單分支控制語句:if雙分支控制語句:if-else
多路選擇語句:switchbreak語句在switch語句中的作用運(yùn)算符:
關(guān)系運(yùn)算符條件運(yùn)算符邏輯運(yùn)算符本章學(xué)習(xí)內(nèi)容5-30算法的描述方法條件運(yùn)算符和條件表達(dá)式5-31#include<stdio.h>main(){inta,b,max;
printf("Inputa,b:");scanf("%d,%d",&a,&b);
if(a>b) max=a;
else max=b;printf("max=%d",max);}表達(dá)式1?表達(dá)式2:表達(dá)式3max=a>b?a:b;條件運(yùn)算符和條件表達(dá)式5-31#include<st條件表達(dá)式5-32一般形式:
(a>b)?a:ba>b條件成立該表達(dá)式的值就是aa>b條件不成立該表達(dá)式的值是b此種表達(dá)式切忌用得過于繁雜條件表達(dá)式5-32一般形式:例5.2:求分段函數(shù)的值5-33(參見教材P40:常用標(biāo)準(zhǔn)數(shù)學(xué)函數(shù))解:有分段函數(shù):y=X>01X<=0exp(-x)#include<math.h>例5.2:求分段函數(shù)的值5-33(參見教材P40:常用例5.2:求分段函數(shù)的值5-34#include
<stdio.h>#include
<math.h>main(){
float
x,y;
printf("Inputx:"); scanf("%f",&x);
if(x>0)y=exp(-x);elsey=1; printf(“y=%f\n”,y);}5_2.c例5.2:求分段函數(shù)的值5-34#include<st例5.3閱讀程序,求程序結(jié)果5-35#include
<stdio.h>main(){
int
a=3,b=2,c=1;
if
(a>b) {
if
(a>c)printf(a=%d\n,a); else
printf(b=%d\n,b);} printf(over!\n);}if與else配對5_3.c例5.3閱讀程序,求程序結(jié)果5-35#include本章學(xué)習(xí)內(nèi)容5-36算法的描述方法
單分支控制語句:if雙分支控制語句:if-else
多分支控制語句:ifelseif
多路選擇語句:switchbreak語句在switch語句中的作用運(yùn)算符:
關(guān)系運(yùn)算符條件運(yùn)算符邏輯運(yùn)算符本章學(xué)習(xí)內(nèi)容5-36算法的描述方法5-37多分支選擇結(jié)構(gòu)if的一種擴(kuò)展形式if(表達(dá)式1)
語句1;
elseif
(表達(dá)式2)
語句2;
elseif(表達(dá)式3)
語句3;
…………
elseif(表達(dá)式n)
語句n;
else
語句n+1;
else部分可以沒有5-37多分支選擇結(jié)構(gòu)if的一種擴(kuò)展形式多分支選擇結(jié)構(gòu)5-38Stepaexpression1StepmStepnStepztruefalseexpression2truefalseStepxStepaexpression1StepmStepnStepztruefalseexpression2truefalseStepx多分支選擇結(jié)構(gòu)5-38Stepaexpression1使用if語句需注意事項(xiàng)條件判斷表達(dá)式一定用圓括號括起。復(fù)合語句必須用{}引起。每一個(gè)else必須與一個(gè)if項(xiàng)匹配。else總是與離它最近的if相匹配。5-39使用if語句需注意事項(xiàng)條件判斷表達(dá)式一定用圓括號括起。5例5.4:輸入學(xué)生分?jǐn)?shù),系統(tǒng)自動評級5-40#include<stdio.h>main(){intscore;printf("pleaseinputthescore:");scanf("%d",&score);if(score>=90)printf("A\n");if(score>=80&&score<90)printf("B\n");if(score>=70&&score<80)printf("C\n");if(score>=60&&score<70)printf("D\n");elseprintf("E\n");}if(score<60)X5_4.c程序有無問題?例5.4:輸入學(xué)生分?jǐn)?shù),系統(tǒng)自動評級5-40#incl例5.4:輸入學(xué)生分?jǐn)?shù),系統(tǒng)自動評級5-41#include<stdio.h>main(){intscore;printf("pleaseinputthescore:");scanf("%d",&score);
if(score>=90)printf("A\n");
else
if(score>=80)printf("B\n");
else
if(score>=70)printf("C\n");
else
if(score>=60)printf("D\n");
elseprintf("E\n");}5_4_1.c例5.4:輸入學(xué)生分?jǐn)?shù),系統(tǒng)自動評級5-41#incl5-42aba&&ba||b!a!b0000110非零0110非零00101非零非零11005-42aba&&ba||b!a!b000011例5.5猜數(shù)游戲5-43編程設(shè)計(jì)一個(gè)簡單的猜數(shù)游戲:先由計(jì)算機(jī)想一個(gè)“數(shù)”請人猜,如果人猜對了,則計(jì)算機(jī)提示:“Right!”;否則提示:“Wrong!”,并告訴人所猜的數(shù)是大還是小。
解析:計(jì)算機(jī)想一個(gè)數(shù):magic
人猜測的數(shù):guess判斷兩數(shù)是否相同?輸出判斷結(jié)果:Right/Wrong“想”的數(shù):用隨機(jī)函數(shù)rand()產(chǎn)生例5.5猜數(shù)游戲5-43編程設(shè)計(jì)一個(gè)簡單的猜數(shù)游戲:先隨機(jī)函數(shù)rand()產(chǎn)生的隨機(jī)數(shù)在0~RAND_MAX之間,
RAND_MAX在stdlib.h中定義為符號常量,且不大于雙字節(jié)整數(shù)的最大值32767。
#include
<stdlib.h>5-44例5.5猜數(shù)游戲隨機(jī)函數(shù)rand()5-44例5.5猜數(shù)游戲5-45#include<stdio.h>#include<stdlib.h>/*rand函數(shù)需要的頭文件*/main(){
intmagic,guess;magic=rand();/*利用rand函數(shù)產(chǎn)生隨機(jī)數(shù)*/
printf(“pleaseenteraguess:”);scanf(“%d”,&guess);
if(guess>magic){printf(“wrong!toohigh!\n”);}
elseif(guess<magic){printf(“wrong!toolow!\n”);}
else{printf(“right!\n”);printf(“thenumberis:%d\n”,guess);}}例5.5猜數(shù)游戲5-45例5.5猜數(shù)游戲本章學(xué)習(xí)內(nèi)容5-46
算法的描述方法
單分支控制語句:if雙分支控制語句:if-else
多分支控制語句:ifelseif
多路選擇語句:switchbreak語句在switch語句中的作用運(yùn)算符:
關(guān)系運(yùn)算符條件運(yùn)算符邏輯運(yùn)算符本章學(xué)習(xí)內(nèi)容5-46算法的描述方法邏輯運(yùn)算符和邏輯表達(dá)式5-47?。海ǚ牵┣蠓慈绻鸻是0,結(jié)果非0;如果a是非0,結(jié)果是0&&:(與)當(dāng)且僅當(dāng)兩者都為真,則結(jié)果為真
(a>b&&b>c):當(dāng)a大于b并且
b大于c同時(shí)為真時(shí),表達(dá)式為真||:(或)只要兩者中有一個(gè)為真,結(jié)果就為真(a>b||b>c):a大于b或b大于c其中一個(gè)為真,表達(dá)式即為真高低邏輯運(yùn)算符和邏輯表達(dá)式5-47!:(非)學(xué)生成績在80-90之間為B(score>=80)&&(score<90)ch是大寫英文字母(ch>=‘A’)&&(ch<=‘Z’)判斷某一年是否為閏年需滿足下列二者之一能被4整除,但不能被100整除;能被400整除;5-48邏輯運(yùn)算符和邏輯表達(dá)式y(tǒng)ear%4==0&&year%100!=0||year%400==0優(yōu)先級:%==!=&&||((year%4==0)&&(year%100!=0))||(year%400==0)學(xué)生成績在80-90之間為B5-48邏輯運(yùn)算符和邏輯表達(dá)&&與||的短路問題含有&&和||的表達(dá)式由先計(jì)算左操作數(shù)的值單獨(dú)推導(dǎo)出
1>2結(jié)果0;b++部分不會被執(zhí)行2>1結(jié)果1;b++不會被執(zhí)行
491>2&&b++>32>1||b++>2不建議使用多用途,復(fù)雜而晦澀難懂的復(fù)合表達(dá)式&&與||的短路問題含有&&和||的表達(dá)式491>2&本章學(xué)習(xí)內(nèi)容5-50
算法的描述方法
單分支控制語句:if雙分支控制語句:if-else
多分支控制語句:ifelseif
多路選擇語句:switchbreak語句在switch語句中的作用運(yùn)算符:
關(guān)系運(yùn)算符條件運(yùn)算符邏輯運(yùn)算符本章學(xué)習(xí)內(nèi)容5-50算法的描述方法開關(guān)語句
Switch開關(guān)語句的一般形式:
switch
(
表達(dá)式)
{
case
常數(shù)1:
語句序列1;
break;
case
常數(shù)2:
語句序列2;
break;
…………
default:
語句序列n;
break;
}5-512.case后的空格不要忘掉3.常量后的冒號也很必要1.大花括號開口笑4.Break有時(shí)也不可少5.表達(dá)式的數(shù)值需要注意了char或int隨你挑6.類型一致才生效開關(guān)語句Switch開關(guān)語句的一般形式:5-512.例5.65-52#include<stdio.h>main(){
inti=10;
switch(i) {
case9: i+=2;
case10: i+=2;
case11: i+=2;
case12: i+=2;
default: i+=2; } printf(i=%d\n,i);}i=18例5.65-52#include<stdio.h>i例5.7:輸入月份,屏幕輸出英文5-53#include<stdio.h>main(){intmonth;scanf("%d",&month);switch(month){case1: printf("January\n"); break; case2: printf("February\n"); break; case3: printf("March\n"); break; default: printf("Others\n"); break; } printf("End");如果month=1,那么…執(zhí)行case1后的所有語句遇break后
跳出switchJanuary_JanuaryEnd_例5.7:輸入月份,屏幕輸出英文5-53#includ#include<stdio.h>main(){intmonth;scanf("%d",&month);switch(month){case1: printf("January\n"); break; case2: printf("February\n"); break; case3: printf("March\n"); break; default: printf("Others\n"); break; } printf("End");5-54執(zhí)行case3后語句…March_MarchEnd_如果month=3,…break:跳出switch語句例5.7:輸入月份,屏幕輸出英文#include<stdio.h>5-54執(zhí)行case5-55#include<stdio.h>main(){intmonth;scanf("%d",&month);switch(month){case1: printf("January\n"); break; case2: printf("February\n"); break; case3: printf("March\n"); break; default: printf("Others\n"); break; } printf("End");如果把break去掉,會如何?
例5.7:輸入月份,屏幕輸出英文5-55#include<stdio.h>如果把bre#include<stdio.h>main(){intmonth;scanf("%d",&month);switch(month){case1: printf("January\n"); break; case2: printf("February\n");
case3: printf("March\n"); break; default: printf("Others\n"); break; } printf("End");5-56去掉break會怎樣?例5.7:輸入月份,屏幕輸出英文#include<stdio.h>5-56去掉brea#include<stdio.h>main(){intmonth;scanf("%d",&month);switch(month){case1: printf("January\n"); break; case2: printf("February\n");
case3: printf("March\n"); break; default: printf("Others\n"); break; } printf("End");5-57執(zhí)行case2后的語句February_March_若month=2,則…遇break跳出switch語句End_繼續(xù)執(zhí)行例5.7:輸入月份,屏幕輸出英文#include<stdio.h>5-57執(zhí)行case5-58#include<stdio.h>main(){intmonth;scanf("%d",&month);switch(month){case1: printf("January\n"); break; case2: printf("February\n");
case3: printf("March\n"); break; default: printf("Others\n"); break; } printf("End");若去掉所有的break會怎樣?若month=1?若month=34?最好不省略!例5.7:輸入月份,屏幕輸出英文5-58#include<stdio.h>若去掉所有的例5.8計(jì)算器程序
編程設(shè)計(jì)一個(gè)簡單的計(jì)算器程序,要求用戶從鍵盤輸入如下形式的表達(dá)式:操作數(shù)1運(yùn)算符op操作數(shù)2
然后,計(jì)算并輸出表達(dá)式的值指定的運(yùn)算符為 加(+) 減(-) 乘(*) 除(/)5-59例5.8計(jì)算器程序編程設(shè)計(jì)一個(gè)簡單的計(jì)算器程序,要求5-60main(){
intdata1,data2;/*定義兩個(gè)操作符*/
charop;/*定義運(yùn)算符*/ printf("Pleaseentertheexpression:"); scanf("%d%c%d",&data1,&op,&data2);/*輸入運(yùn)算表達(dá)式*/
switch(op) {
case'+':/*處理加法*/ printf("%d+%d=%d\n",data1,data2,data1+data2);
break;
case'-':/*處理減法*/ printf("%d-%d=%d\n",data1,data2,data1-data2);
break;
case'*':/*處理乘法*/ printf("%d*%d=%d\n",data1,data2,data1*data2);
break;
case'/':/*處理除法*/
if(0==data2) printf("Divisionbyzero!\n");
else
printf("%d/%d=%d\n",data1,data2,data1/data2);
break;
default: printf("Invalidoperator!\n"); }}Why?注釋掉會怎樣?例5.8char類型時(shí),單個(gè)字符要用單引號引起
5-60main()Why?注釋掉會怎樣?例5.8ch一些思考(1)語句if(0==data2)的必要性——避免"除零錯(cuò)誤"1998年11月,《科學(xué)美國人》雜志描述了美國導(dǎo)彈巡洋艦約克敦號上的一起事故,除零錯(cuò)導(dǎo)致軍艦推進(jìn)系統(tǒng)的關(guān)閉如果要求輸入的算術(shù)表達(dá)式中的操作數(shù)和運(yùn)算符之間可以加入任意多個(gè)空格符,那么程序如何修改?5-61一些思考(1)語句if(0==data2)的必要性——避免"5-62main(){
intdata1,data2;
charop; printf("Pleaseentertheexpression:"); scanf("%d%c%d",&data1,&op,&data2);/*%c前有一個(gè)空格*/
switch(op) {
case'+': printf("%d+%d=%d\n",data1,data2,data1+data2);
break;
case'-': printf("%d-%d=%d\n",data1,data2,data1-data2);
break;
case'*': printf("%d*%d=%d\n",data1,data2,data1*data2);
break;
case'/':
if(0==data2) printf("Divisionbyzero!\n");
else
printf("%d/%d=%d\n",data1,data2,data1/data2);
break;
default: printf("Invalidoperator!\n"); }}例5.8scanf("%d%c%d",&data1,&op,&data2);空格5-62main()例5.8scanf("%d%c一些思考(2)如果要求對浮點(diǎn)數(shù)進(jìn)行運(yùn)算,那么程序如何修改?修改例5.5程序,使其能進(jìn)行浮點(diǎn)數(shù)的算術(shù)運(yùn)算,同時(shí)允許使用字符*、x與X作為乘號,并且允許輸入的算術(shù)表達(dá)式中的操作數(shù)和運(yùn)算符之間可以加入任意多個(gè)空格符。5-63浮點(diǎn)數(shù):并不是真正意義上的實(shí)數(shù),在某種范圍內(nèi)的近似值,用近似的方法進(jìn)行比較絕對值是否等于一個(gè)很小的數(shù)。一些思考(2)如果要求對浮點(diǎn)數(shù)進(jìn)行運(yùn)算,那么程序如何修改?55-64main(){
floatdata1,data2;
charop; printf("Pleaseentertheexpression:"); scanf("%f%c%f",&data1,&op,&data2);
switch(op) {
case'+': printf("%f+%f=%f\n",data1,data2,data1+data2);
break;
case'-': printf("%f-%f=%f\n",data1,data2,data1-data2);
break;
case'*':
case'x': case'X': printf("%f*%f=%f\n",data1,data2,data1*data2);
break;
case'/':
if(fabs(data2)<=1e-7)/*實(shí)數(shù)與0比較*/ printf("Divisionbyzero!\n");
else
printf("%f/%f=%f\n",data1,data2,data1/data2);
break;
default: printf("Invalidoperator!\n"); }}例5.8取絕對值函數(shù)浮點(diǎn)數(shù):并不是真正意義上的實(shí)數(shù),在某種范圍內(nèi)的近似值,用近似的方法進(jìn)行比較絕對值是否等于一個(gè)很小的數(shù)。5-64main()例5.8取絕對值函數(shù)浮點(diǎn)數(shù):例5.9判斷三角形類型5-65#include<stdio.h>main(){
floata,b,c;
printf("Inputthethreeedgelength:"); scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b) /*三角形的基本條件*/ {
if(a==b&&b==c&&a==c) printf(“等邊三角形”);if(a==b||b==c||c==a) printf("等腰三角形");
else
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) printf("直角三角形");
else printf("一般三角形"); }
else { printf("不是三角形\n"); }}錯(cuò)在哪里?邏輯:等邊三角形等腰直角三角形??實(shí)數(shù)精度:直角三角形5_9_1.c例5.9判斷三角形類型5-65#include<例5.9判斷三角形的形狀
三角形種類5-66等腰直角三角形等邊三角形非三角形三角形等腰三角形直角三角形例5.9判斷三角形的形狀三角形種類5-66等腰直5-67main(){
floata,b,c;
intflag=1; ……
if(a+b>c&&b+c>a&&a+c>b) /*三角形的基本條件*/ {
if(a==b||b==c||c==a) { printf("等腰");
flag=0; }
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) { printf("直角");
flag=0; }
if(flag) { printf("一般"); } printf("三角形\n"); }
else { printf("不是三角形\n"); }}例5.9:引用標(biāo)志量等邊三角形?5-67main()例5.9:引用標(biāo)志量等邊三角形?5-68main(){ ……
if(a+b>c&&b+c>a&&a+c>b)/*三角形的基本條件*/ {
if(a==b&&b==c&&c==a) { printf("等邊"); flag=0; }
if(a==b||b==c||c==a) { printf("等腰"); flag=0; }
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) { printf("直角"); flag=0; }
if(flag) printf("一般"); printf("三角形\n"); }
else printf("不是三角形\n");}例5.9:1.邏輯問題錯(cuò)在哪里?6,6,6等邊等腰三角形5-68main()例5.9:1.邏輯問題錯(cuò)在哪里?6,5-69main(){ ……
if(a+b>c&&b+c>a&&a+c>b)/*三角形的基本條件*/ {
if(a==b&&b==c&&c==a) { printf("等邊"); flag=0; } elseif(a==b||b==c||c==a) { printf("等腰"); flag=0; }
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) { printf("直角"); flag=0; }
if(flag) printf("一般"); printf("三角形\n"); }
else printf("不是三角形\n");}例5.9:實(shí)數(shù)精度問題5_9_2.c5-69main()例5.9:實(shí)數(shù)精度問題5_9_2.c5-70main(){ ……
if(a+b>c&&b+c>a&&a+c>b)/*三角形的基本條件*/ {
if(a==b&&b==c&&c==a) { printf("等邊"); flag=0; } elseif(a==b||b==c||c==a) { printf("等腰"); flag=0; }
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) { printf("直角"); flag=0; }
if(flag) printf("一般"); printf("三角形\n"); }
else printf("不是三角形\n");}例5.9:實(shí)數(shù)精度問題錯(cuò)在哪里?5_9_2.c5-70main()例5.9:實(shí)數(shù)精度問題錯(cuò)在哪里?5_5-71main(){ ……
if(a+b>c&&b+c>a&&a+c>b)/*三角形的基本條件*/ {
if(fabs(a-b)<1e-6&&fabs(b-c)<1e-6&&fabs(c-a)<1e-6) { printf("等邊"); flag=0; } elseif(fabs(a-b)<1e-6||fabs(b-c)<1e-6||fabs(c-a)<1e-6) { printf("等腰"); flag=0; }
if(fabs(a*a+b*b-c*c)<=1e-1||fabs(a*a+c*c-b*b)<=1e-1||fabs(b*b+c*c-a*a)<=1e-1) { printf("直角"); flag=0; }
if(flag) printf("一般"); printf("三角形\n"); }
else printf("不是三角形\n");}例5.9:實(shí)數(shù)精度問題5_9_3.c5-71main()例5.9:實(shí)數(shù)精度問題5_9_3.c5-72main(){ ……
if(a+b>c&&b+c>a&&a+c>b)/*三角形的基本條件*/ {
if(a==b||b==c||c==a) { printf("等腰"); flag=0; } elseif(a==b&&b==c&&c==a) { printf("等邊"); flag=0; }
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) { printf("直角"); flag=0; }
if(flag) printf("一般"); printf("三角形\n"); }
else printf("不是三角形\n");}等腰在先等邊在后是否可以?例5.95_9_4.c5-72main()等腰在先例5.95_9_4.cswitch和else-if的比較相同點(diǎn):控制多路選擇不同點(diǎn):else-if比switch的條件控制更強(qiáng)大一些else-if可以依照各種邏輯運(yùn)算的結(jié)果進(jìn)行流程控制switch只能進(jìn)行==判斷,并且只能是整數(shù)或字符判斷switch比else-if更清晰兩者都要盡量避免用得過多、過長,尤其不要嵌套得太多它們大大增加程序的分支,使邏輯關(guān)系顯得混亂,不易維護(hù),易出錯(cuò)5-73switch和else-if的比較相同點(diǎn):控制多路選擇5本章學(xué)習(xí)內(nèi)容5-74
算法的描述方法
單分支控制語句:if雙分支控制語句:if-else
多分支控制語句:ifelseif
多路選擇語句:switchbreak語句在switch語句中的作用運(yùn)算符:
關(guān)系運(yùn)算符條件運(yùn)算符邏輯運(yùn)算符難點(diǎn):條件語句的嵌套本章學(xué)習(xí)內(nèi)容5-74算法的描述方法難點(diǎn):條件語句的嵌套
5-755-75C語言程序設(shè)計(jì)第五章程序控制結(jié)構(gòu)76C語言程序設(shè)計(jì)第五章1本章學(xué)習(xí)內(nèi)容5-77
算法的描述方法
單分支控制語句:if雙分支控制語句:if-else
多分支控制語句:ifelseif
多路選擇語句:switchbreak語句在switch語句中的作用運(yùn)算符:
關(guān)系運(yùn)算符條件運(yùn)算符邏輯運(yùn)算符本章學(xué)習(xí)內(nèi)容5-2算法的描述方法算法的概念及其描述數(shù)據(jù)結(jié)構(gòu)+算法=程序數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)的描述和組織形式算法:為解決一個(gè)具體問題而采取的確定的有限的操作步驟。算法特性:有窮性確定性
有效性
沒有輸入或有多個(gè)輸入
有一個(gè)或多個(gè)輸出
5-78算法的概念及其描述數(shù)據(jù)結(jié)構(gòu)+算法=程序5-3算法的特性有窮性在合理的時(shí)間內(nèi)完成確定性,無歧義如果x≥0,則輸出Yes;如果x≤0,則輸出No有效性能有效執(zhí)行負(fù)數(shù)開平方?jīng)]有輸入或有多個(gè)輸入有一個(gè)或多個(gè)輸出5-79算法的概念及其描述算法的特性5-4算法的概念及其描述算法的描述方法自然語言描述傳統(tǒng)流程圖(Flowchart)在1966年,Bohra與Jacopini提出N-S結(jié)構(gòu)化流程圖1973年,美國學(xué)者I.Nassi和B.Shneiderman提出偽碼(Pseudocode)表示5-80算法的概念及其描述算法的描述方法5-5算法的概念及其描述偽碼(Pseudocode)人工的,非正式的輔助人們進(jìn)行算法設(shè)計(jì)的語言。81if8點(diǎn)以前thendo私人事務(wù);elseif8點(diǎn)到11:45點(diǎn)then上課;else自習(xí);日常生活偽碼(Pseudocode)人工的,非正式的輔助人們進(jìn)行流程圖(Flowchart)5-82開始\結(jié)束框符號Semantic一般處理框輸入\輸出框判斷框連接符流程線流程圖(Flowchart)5-7開始\結(jié)束框符號Sem2022/12/256-83構(gòu)成程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)(分支結(jié)構(gòu))循環(huán)結(jié)構(gòu)任何程序均可只用這三種結(jié)構(gòu)綜合描述只用這三種結(jié)構(gòu)編制的程序,叫結(jié)構(gòu)化程序程序必須符合結(jié)構(gòu)化規(guī)則2022/12/206-8構(gòu)成程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)2022/12/2584結(jié)構(gòu)化程序設(shè)計(jì)的核心思想采用順序、選擇和循環(huán)三種基本結(jié)構(gòu)作為程序設(shè)計(jì)的基本單元只有一個(gè)入口;只有一個(gè)出口;無死語句,即不存在永遠(yuǎn)都執(zhí)行不到的語句;無死循環(huán),即不存在永遠(yuǎn)都執(zhí)行不完的循環(huán)。采用“自頂向下、逐步求精”和模塊化的方法進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì)2022/12/209結(jié)構(gòu)化程序設(shè)計(jì)的核心思想采用順序、選擇構(gòu)成程序的三種基本結(jié)構(gòu)例:買蘋果,計(jì)算價(jià)錢5-85
數(shù)量
單位價(jià)格總價(jià)總價(jià)=數(shù)量*單位價(jià)格InputProcessOutput首先要確認(rèn)輸入與輸出構(gòu)成程序的三種基本結(jié)構(gòu)例:買蘋果,計(jì)算價(jià)錢5-10數(shù)順序結(jié)構(gòu)給變量賦值賦值表達(dá)式語句/賦值表達(dá)式;總價(jià)=數(shù)量*單位價(jià)格;輸入輸出數(shù)據(jù)標(biāo)準(zhǔn)庫函數(shù)調(diào)用語句scanf("%d",&pricePerkg);printf("%d",price);5-86ABC順序結(jié)構(gòu)給變量賦值5-11ABC順序結(jié)構(gòu)——應(yīng)用舉例(1)5-87例:求一個(gè)數(shù)的絕對值解:(1)問題分析:step1:給出一個(gè)數(shù)num=-55step2:求num的絕對值step3:輸出結(jié)果公式:abs=fabs(num)(利用數(shù)學(xué)函數(shù)fabs())順序結(jié)構(gòu)——應(yīng)用舉例(1)5-12例:求一個(gè)數(shù)的絕對值解流程圖及代碼5-88num=-55開始abs=fabs(num)輸出num,abs結(jié)束#include<stdio.h>#include<math.h>main(){intnum,abs;num=-55;abs=fabs(num);printf("|%d|=%d",num,abs);}5_1.c流程圖及代碼5-13num=-55開始abs=fabs常用函數(shù)對應(yīng)的頭文件函數(shù)函數(shù)頭文件數(shù)學(xué)函數(shù)math.h字符串函數(shù)string.h輸入輸出函數(shù)stdio.h動態(tài)存儲分配函數(shù)stdlib.h/malloc.h5-89常用函數(shù)對應(yīng)的頭文件函數(shù)函數(shù)頭文件數(shù)學(xué)函數(shù)math.h字符選擇結(jié)構(gòu)(分支結(jié)構(gòu))
5-90分類:單分支:if雙分支:if-else多分支:if-else-if作用:控制程序的流向組成:常量,變量,表達(dá)式(常用:關(guān)系、邏輯表達(dá)式)選擇結(jié)構(gòu)(分支結(jié)構(gòu))5-15分類:本章學(xué)習(xí)內(nèi)容5-91
算法的描述方法
單分支控制語句:if雙分支控制語句:if-else
多分支控制語句:ifelseif
多路選擇語句:switchbreak語句在switch語句中的作用運(yùn)算符:
關(guān)系運(yùn)算符條件運(yùn)算符邏輯運(yùn)算符本章學(xué)習(xí)內(nèi)容5-16算法的描述方法關(guān)系運(yùn)算符與關(guān)系表達(dá)式5-92關(guān)系運(yùn)算符含義示例值優(yōu)先級<小于6<91(true)高<=小于等于5<=51(true)>大于2>60(false)>=大于等于9>=51(true)==等于7==50(false)低!=不等于6!=51(true)關(guān)系運(yùn)算符與關(guān)系表達(dá)式5-17關(guān)系運(yùn)算符含義示例值優(yōu)先級關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符運(yùn)算出的結(jié)果為0和非00,表示假,即該關(guān)系不成立非0,表示真,即該關(guān)系成立絕大多數(shù)編譯器,關(guān)系運(yùn)算得到的非0結(jié)果為1,但是不要利用這個(gè)1優(yōu)先級:<、<=、>、>=優(yōu)先于==、!=5-93關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符運(yùn)算出的結(jié)果為0和非05-關(guān)系運(yùn)算符與關(guān)系表達(dá)式例:設(shè)a=3,b=2,c=1,計(jì)算下列表達(dá)式的值5-94a>ba>b>c10int
a=0;
if
(a=0)
printf("OK");int
a=0;
if
(a==0)
printf("OK");如何避免?int
a=0;
if
(0==a)
printf("OK");int
a=0;
if
(0=a)
printf("OK");編譯出錯(cuò)??!==與=3.a=b1變量的值就是賦值表達(dá)式的值關(guān)系運(yùn)算符與關(guān)系表達(dá)式例:設(shè)a=3,b=2,c=1,計(jì)算下列本章學(xué)習(xí)內(nèi)容5-95
算法的描述方法
單分支控制語句:if雙分支控制語句:if-else
多分支控制語句:ifelseif
多路選擇語句:switchbreak語句在switch語句中的作用運(yùn)算符:
關(guān)系運(yùn)算符條件運(yùn)算符邏輯運(yùn)算符本章學(xué)習(xí)內(nèi)容5-20算法的描述方法格式:5-96if(表達(dá)式)
語句;if(表達(dá)式){
語句1;語句2;}單分支控制的條件語句復(fù)合語句被當(dāng)做一條語句單語句格式:復(fù)合語句格式:格式:5-21if(表達(dá)式)單分支控制的條件語句復(fù)合語句單分支控制的條件語句5-97yesno語句A條件成立否條件表達(dá)式.T..F.語句單分支控制的條件語句5-22yesno語句A條件成立例5.1計(jì)算兩整數(shù)的最大值5-98#include<stdio.h>main(){inta,b,max;printf("Inputa,b:");scanf("%d,%d",&a,&b);
if(a>b) max=a;
if(a<=b)max=b;printf("max=%d\n",max);}Inputa,b:20,
15↙max=20_5_1.c例5.1計(jì)算兩整數(shù)的最大值5-23#include<本章學(xué)習(xí)內(nèi)容5-99
算法的描述方法
單分支控制語句:if雙分支控制語句:if-else
多分支控制語句:ifelseif
多路選擇語句:switchbreak語句在switch語句中的作用運(yùn)算符:
關(guān)系運(yùn)算符條件運(yùn)算符邏輯運(yùn)算符本章學(xué)習(xí)內(nèi)容5-24算法的描述方法用于雙分支控制的條件語句格式:5-100if(表達(dá)式)
語句A;else
語句B;語句A真語句B假入口出口表達(dá)式!=0表達(dá)式值非0時(shí),執(zhí)行語句A,跳出結(jié)構(gòu);
表達(dá)式值為0時(shí),執(zhí)行語句B,跳出結(jié)構(gòu);else部分可以沒有if(表達(dá)式)
語句A;
當(dāng)表達(dá)式值為0時(shí),跳出結(jié)構(gòu);假入口出口用于雙分支控制的條件語句格式:5-25if(表達(dá)式)語句用于雙分支控制的條件語句5-101if(表達(dá)式){
語句A1;
語句A2;}else{
語句B1;
語句B2;}復(fù)合語句格式:語句A1真語句B1假入口出口表達(dá)式!=0語句A2語句B2用于雙分支控制的條件語句5-26if(表達(dá)式)復(fù)合語句格例5.1計(jì)算兩整數(shù)的最大值5-102NoYesInputaandbOutputmaxa>b?maxbmaxaStartEnd例5.1計(jì)算兩整數(shù)的最大值5-27NoYesInput例5.1計(jì)算兩整數(shù)的最大值5-103NoYesInputaandbOutputmaxa>b?maxbmaxaStartEndscanf("%d,%d",&a,&b);if(a>b)max=a;elsemax=b;printf("max=%d\n",max);例5.1計(jì)算兩整數(shù)的最大值5-28NoYesInput5-104#include<stdio.h>main(){inta,b,max;printf("Inputa,b:");scanf("%d,%d",&a,&b);
if(a>b) max=a;
if(a<=b)max=b;printf("max=%d\n",max);}例5.1計(jì)算兩整數(shù)的最大值if(a>b)max=a;elsemax=b;5-29#include<stdio.h>例5.1計(jì)本章學(xué)習(xí)內(nèi)容5-105算法的描述方法
單分支控制語句:if雙分支控制語句:if-else
多路選擇語句:switchbreak語句在switch語句中的作用運(yùn)算符:
關(guān)系運(yùn)算符條件運(yùn)算符邏輯運(yùn)算符本章學(xué)習(xí)內(nèi)容5-30算法的描述方法條件運(yùn)算符和條件表達(dá)式5-106#include<stdio.h>main(){inta,b,max;
printf("Inputa,b:");scanf("%d,%d",&a,&b);
if(a>b) max=a;
else max=b;printf("max=%d",max);}表達(dá)式1?表達(dá)式2:表達(dá)式3max=a>b?a:b;條件運(yùn)算符和條件表達(dá)式5-31#include<st條件表達(dá)式5-107一般形式:
(a>b)?a:ba>b條件成立該表達(dá)式的值就是aa>b條件不成立該表達(dá)式的值是b此種表達(dá)式切忌用得過于繁雜條件表達(dá)式5-32一般形式:例5.2:求分段函數(shù)的值5-108(參見教材P40:常用標(biāo)準(zhǔn)數(shù)學(xué)函數(shù))解:有分段函數(shù):y=X>01X<=0exp(-x)#include<math.h>例5.2:求分段函數(shù)的值5-33(參見教材P40:常用例5.2:求分段函數(shù)的值5-109#include
<stdio.h>#include
<math.h>main(){
float
x,y;
printf("Inputx:"); scanf("%f",&x);
if(x>0)y=exp(-x);elsey=1; printf(“y=%f\n”,y);}5_2.c例5.2:求分段函數(shù)的值5-34#include<st例5.3閱讀程序,求程序結(jié)果5-110#include
<stdio.h>main(){
int
a=3,b=2,c=1;
if
(a>b) {
if
(a>c)printf(a=%d\n,a); else
printf(b=%d\n,b);} printf(over!\n);}if與else配對5_3.c例5.3閱讀程序,求程序結(jié)果5-35#include本章學(xué)習(xí)內(nèi)容5-111算法的描述方法
單分支控制語句:if雙分支控制語句:if-else
多分支控制語句:ifelseif
多路選擇語句:switchbreak語句在switch語句中的作用運(yùn)算符:
關(guān)系運(yùn)算符條件運(yùn)算符邏輯運(yùn)算符本章學(xué)習(xí)內(nèi)容5-36算法的描述方法5-112多分支選擇結(jié)構(gòu)if的一種擴(kuò)展形式if(表達(dá)式1)
語句1;
elseif
(表達(dá)式2)
語句2;
elseif(表達(dá)式3)
語句3;
…………
elseif(表達(dá)式n)
語句n;
else
語句n+1;
else部分可以沒有5-37多分支選擇結(jié)構(gòu)if的一種擴(kuò)展形式多分支選擇結(jié)構(gòu)5-113Stepaexpression1Ste
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人車位贈與合同范本
- 臨時(shí)工勞動合同范本參考
- 2025年平安保險(xiǎn)公司特定疾病終身保險(xiǎn)賠付合同
- 業(yè)務(wù)合作合同格式樣本
- 不銹鋼采購與銷售合同
- 個(gè)人借款質(zhì)押合同書樣本
- 專用線鐵路物流服務(wù)合同細(xì)則
- 個(gè)人與企業(yè)租賃合同范本大全
- 采購標(biāo)準(zhǔn)合同書
- 專業(yè)講師聘任合同范本
- 《采暖空調(diào)節(jié)能技術(shù)》課件
- 游戲綜合YY頻道設(shè)計(jì)模板
- arcgis軟件操作解析課件
- 中興ZCTP 5GC高級工程師認(rèn)證考試題庫匯總(含答案)
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)教程PPT全套完整教學(xué)課件
- 小學(xué)科學(xué)項(xiàng)目化作業(yè)的設(shè)計(jì)與實(shí)施研究
- 2023年考研考博-考博英語-西安建筑科技大學(xué)考試歷年真題摘選含答案解析
- 2020年中考生物試卷及答案
- MCNP-5A程序使用說明書
- java基礎(chǔ)知識大全
- SMM英國建筑工程標(biāo)準(zhǔn)計(jì)量規(guī)則中文 全套
評論
0/150
提交評論