版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
6.1、順序結(jié)構(gòu)程序設(shè)計(jì)實(shí)例導(dǎo)入:
編寫一個(gè)程序,實(shí)現(xiàn)這樣的功能:要求從鍵盤輸入任一八進(jìn)制數(shù)字,可以實(shí)現(xiàn)將該數(shù)字轉(zhuǎn)換為十進(jìn)制數(shù)字,比如當(dāng)輸入八進(jìn)制4520時(shí),輸出4520所對應(yīng)的十進(jìn)制數(shù)2384。第六章結(jié)構(gòu)化程序設(shè)計(jì)(4520)8=4*8*8*8+5*8*8+2*80+解析:4520/10004520%1000/1004520%100/10千位數(shù)4:百位數(shù)5:十位數(shù)2:個(gè)位數(shù)0:4520%10求一個(gè)四位八進(jìn)制數(shù)o_number所對應(yīng)的十進(jìn)制d_number,則需先求出o_number的千位、百位、十位、個(gè)位數(shù),假如分別用a、b、c、d表示。a=o_number/1000;b=o_number%1000/100;c=o_number%100/10;d=o_number%10;d_number=a*8*8*8+b*8*8+c*8+d;算法描述1、定義變量into_number1,d_number2,a,b,c,d;2、輸入o_number1Lscanf(“%d”,&number);3、求出a、b、c、d:a=o_number/1000;b=o_number%1000/100;c=o_number%100/10;d=o_number%10;4、求出d_number2
:d_number=a*8*8*8+b*8*8+c*8+d;5、輸出d_number2
:printf(“%d”,d_number);完整的程序main(){into_number,d_number,a,b,c,d;
scanf("%d",&o_number);a=o_number/1000;b=o_number%1000/100;c=o_number%100/10;d=o_number%10;d_number=a*8*8*8+b*8*8+c*8+d;
printf(“O:%d,D:%d",o_number,d_number);}printf(“pleaseinputaoctalnumber:\n”);getch();實(shí)訓(xùn)編寫一個(gè)體重測量儀:要求從鍵盤輸入身高和體重后,能夠計(jì)算出體重指數(shù)。體重指數(shù)=體重(kg)/(身高)2;算法描述:1、定義3個(gè)變量:floatindex,weight,height;2、輸入體重:scanf(“%f”,&weight);3、輸入身高:scanf(“%f”,&height);4、計(jì)算指數(shù):index=weight/(height*height);5、輸出指數(shù):printf(“%f”,index);完整程序main(){floatweight,height,index;
scanf("%f",&weight);
scanf("%f",&height);index=weight/(height*height);
printf("Theindexofyourweightis:%f",index);}printf(“\npleaseinputyourweight:");printf(“\npleaseinputyourheight:");getch();總結(jié):1、順序結(jié)構(gòu)是最簡單的一種結(jié)構(gòu),它按照操作執(zhí)行的先后順序來編寫程序。2、編程應(yīng)該遵循:先根據(jù)功能要求設(shè)計(jì)出算法(用自然語言描述或用流程圖描述),然后再根據(jù)算法編寫程序。3、程序應(yīng)該結(jié)構(gòu)清晰、界面美觀、容易操作
編寫一個(gè)體重測量儀:要求從鍵盤輸入身高和體重后,能夠計(jì)算出體重指數(shù)。
體重指數(shù)=體重(kg)/(身高)2;要求實(shí)現(xiàn)這樣的判斷:如果體重指數(shù)<25,屬于正常;
否則屬于肥胖.實(shí)訓(xùn):體重測量儀改進(jìn)版16.2、選擇結(jié)構(gòu)程序設(shè)計(jì)如果index<25,輸出“Youareright!”否則輸出“Youarefat!”main(){floatweight,height,index;
scanf("%f",&weight);
scanf("%f",&height);index=weight/(height*height);
printf("Theindexofyourweightis:%f",index);
}printf(“\npleaseinputyourweight:");printf(“\npleaseinputyourheight:");if(index<25)printf(“Youareright!”);elseprintf(“Youarefat!”);一、if語句的使用1、if語句的標(biāo)準(zhǔn)形式if(表達(dá)式)語句1else語句2表達(dá)式語句1語句2例:如果工資salary大于1600元,則多余部分按15%征稅,否則按5%征稅.If(salary>1600)revenue=(salary-1600)*0.15;elserevenue=(salary-1600)*0.05;YN
從鍵盤輸入一個(gè)數(shù),求出該數(shù)絕對值所對應(yīng)的開方開始定義變量a,b,c輸入aa>=0b=ab=-ac=sqrt(b)輸出c結(jié)束YN算法1實(shí)訓(xùn)#include"math.h"main(){floata,b,c;printf("\npleaseinputanumber:\n");scanf("%f",&a);
if(a>=0)b=a;elseb=-a;c=sqrt(b);printf("Thesqrtof%fis%f\n",a,c);getch();}程序1開始定義變量a,b,c輸入aa<=0b=ab=-ac=sqrt(b)輸出c結(jié)束N算法2Y程序2#include"math.h"main(){floata,b,c;printf("\npleaseinputanumber:\n");scanf("%f",&a);b=a;
if(a<=0)b=-a;c=sqrt(b);printf(“Thesqrtof%fis%f\n",a,c);getch();}2、if語句最簡單的形式if(表達(dá)式)語句表達(dá)式語句1NYmain(){inta,b,max;scanf(“%d%d”,&a,&b);max=a;if(b>max)max=b;printf(“max=%d”,max);}思考:當(dāng)輸入45和32時(shí),下面這個(gè)程序的輸出結(jié)果是什么?體重測量儀改進(jìn)版2編寫一個(gè)體重測量儀:要求從鍵盤輸入身高和體重后,能夠計(jì)算出體重指數(shù)。
體重指數(shù)=體重(kg)/(身高)2;要求實(shí)現(xiàn)這樣的判斷:
偏瘦:體重指數(shù)<18
正常:18<=體重指數(shù)<25;
微胖:25<=體重指數(shù)<30;
較胖:30<=體重指數(shù)<35;
肥胖:35<=體重指數(shù)<40;
很胖:體重指數(shù)>=40;
如果體重指數(shù)小于18,偏瘦否則如果體重指數(shù)小于25,標(biāo)準(zhǔn)
否則如果體重指數(shù)小于30,微胖
否則如果體重指數(shù)小于35,較胖
否則如果體重指數(shù)小于40,肥胖
否則很胖3、if語句的第三種形式if(表達(dá)式1)語句1elseif(表達(dá)式2)語句2elseif(表達(dá)式3)語句3
elseif(表達(dá)式4)語句4else表達(dá)式5
表達(dá)式1語句1YN表達(dá)式2語句2YN表達(dá)式3Y語句3N表達(dá)式4Y語句4N語句5從鍵盤輸入一個(gè)學(xué)生的分?jǐn)?shù),要求實(shí)現(xiàn)這樣的判斷功能:如果分?jǐn)?shù)大于100,輸出”Inputerror!”如果分?jǐn)?shù)介于100到90之間,輸出”VeryGood!”如果分?jǐn)?shù)介于80到90只,輸出”Good!”如果分?jǐn)?shù)介于70到80之間,輸出”Middle”如果分?jǐn)?shù)介于60到70之間,輸出”Pass”如果分?jǐn)?shù)小于60,輸出”NoPass!”實(shí)訓(xùn)算法1描述1、定義一個(gè)變量score;2、輸入score的值;3、如果score>100,輸出“Inputerror!”4、否則如果score>=90,輸出“VeryGood!”5、否則如果score>=80,輸出“Good!”6、否則如果score>=70,輸出“Middle!”7、否則如果score>=60,輸出“Pass!”8、否則輸出“NoPass!”9、否則輸出“Inputerror!main(){floatscore;printf("pleaseinputanumber:\n");scanf("%f",&score);
if(score>100)printf("Inputerror!");elseif(score>=90)printf("verygood!");elseif(score>=80)printf("good!"); elseif(score>=70)printf("middle!"); elseif(score>=60)printf("pass!"); elseprintf("nopass!"); getch();}elseif(score>=0)printf(“Nopass!”);elseprintf(“Inputerror!”);}總結(jié)if語句的三種基本形式if(表達(dá)式)語句1else語句21、最基本的形式2、最簡單的形式if(表達(dá)式)語句3、層次形式if(表達(dá)式1)語句1elseif(表達(dá)式2)語句2elseif(表達(dá)式3)語句3
elseif(表達(dá)式4)語句4else表達(dá)式5
實(shí)訓(xùn)假如從鍵盤輸入67,下面這個(gè)程序的結(jié)果是什么,如果輸入89,90,101呢?main(){floatscore;scanf("%f",&score);if(score>=60)if(score>=90)printf("A");elseprintf("B");elseif(score>=0)printf("C");elseprintf("Inputerror!");}二、if語句的嵌套if(表達(dá)式1)if(表達(dá)式2)語句1else語句2elseif(表達(dá)式3)語句3else語句4一般使用形式假如從鍵盤輸入5,下面程序的輸出結(jié)果是什么?main(){intx,y;scanf("%d",&x);if(x>=0)if(x>10)y=x*x-5;elseif(x>5)y=x*x*x+2; elsey=x;elseif(x<-10)y=x*x+5;elsey=x*x+11;printf("%d",y);}思考題某單位的工資是這樣計(jì)算的:
工資=基本工資+工齡工資;工齡為1年:工齡工資=基本工資*0.1;工齡為2—3年:工齡工資=基本工資*0.25;工齡為4—5年:工齡工資=基本工資*0.5;工齡為6—8年:工齡工資=基本工資*0.8;工齡大于8年的:工齡工資=基本工資*工齡*0.1;基本工資為1500元。要求從鍵盤輸入教師的工齡,可以根據(jù)工齡計(jì)算該教師的基本工資。使用if語句來編寫如下的程序:實(shí)訓(xùn)算法描述:1、定義兩個(gè)實(shí)型變量:工資salary、工齡工資a_salary;定義一個(gè)整型變量:工齡age;2、輸入工齡age;3、如果age==1;a_salary=1500*0.1;4、如果2<=age<=3;a_salary=1500*0.25;5、如果4<=age<=5;a_salary=1500*0.5;6、如果6<=age<=8;a_salary=1500*0.8;7、如果8<=age;a_salary=1500*age*0.1;8、salary=1500+a_salary;9、輸出salary;main(){floatsalary,a_salary;intage;scanf("%d",&age);if(age==1)a_salary=1500*0.1;elseif(age>=2&&age<=3)a_salary=1500*0.25;elseif(age>=4&&age<=5)a_salary=1500*0.5; elseif(age>=6&&age<=8)a_salary=1500*0.8; elseif(age>8)a_salary=1500*age*0.1;salary=1500+a_salary;printf("%.1f",salary);}main(){floatsalary,a_salary;intage;scanf("%d“,&age);
switch(age){case1:a_salary=1500*0.1;break;case2:a_salary=1500*0.25;break;case3:a_salary=1500*0.25;break;case4:a_salary=1500*0.5;break;case5:a_salary=1500*0.5;break;case6:a_salary=1500*0.8;break;case7:a_salary=1500*0.8;break;case8:a_salary=1500*0.8;break;default:a_salary=1500*age*0.1;}salary=1500+a_salary;printf("salary:%.1f",salary);}復(fù)習(xí)判斷一個(gè)學(xué)生成績的“優(yōu)、良、中、差”:假如從鍵盤輸入的字母是‘A’,輸出評語“YouareExcellent!”;如果輸入‘B’,輸出評語“Youarewell!”;如果輸入‘C’,輸出評語“Youarepassing!”;如果輸入‘D’,輸出評語“Youarenotpassing!”。如果輸入的不是這四個(gè)字母,則出現(xiàn)提示“Inputerror!”請編寫一個(gè)程序,實(shí)現(xiàn)該判斷功能。1、定義一個(gè)字符型變量score;2、輸入字符score;3、如果score==‘A’,輸出“Excellent!”4、如果score==‘B’,輸出“well!”5、如果score==‘C’,輸出“pass!”6、如果score==‘D’,輸出“Notpass!”7、如果以上都不是,則輸出“Inputerror!”算法描述If語句實(shí)現(xiàn)main(){charscore;scanf(“%c”,&score);if(score==‘A’)printf(“excellent!”);elseif(score==‘B)printf(“well!”);elseif(score==‘C’)printf(“pass!”);elseif(score==‘D’)printf(“Nopass”);elseprintf(“Inputerror!”);}switch語句實(shí)現(xiàn)main(){charscore;scanf(“%c”,&score);switch(score){case‘A’:printf(“Excellent!”);case‘B’:printf(“Well!”);case‘C’:printf(“Pass!”);case‘D’:printf(“Nopass!”);default:printf(“Inputerror!”);}}break;break;break;break;三、switch語句的使用switch(表達(dá)式)
{case常量表達(dá)式:語句1case常量表達(dá)式:語句2……case常量表達(dá)式:語句ndefault:語句n+1}四、條件運(yùn)算符的使用程序段1if(a>b)max=a;elsemax=b;max=(a>b)
?a:
b一般使用形式:
表達(dá)式1?表達(dá)式2:表達(dá)式3程序段2if(x>=0)y=x;elsey=-X;y=(X>=0)?x:-x;優(yōu)先級(jí)僅僅比賦值運(yùn)算符和逗號(hào)運(yùn)算符高,自右至左的結(jié)合性.
某企業(yè)發(fā)放的年終獎(jiǎng)金根據(jù)職工該年的積分計(jì)算。積分等于或低于0分的,獎(jiǎng)金為0;積分在1到19分之間的,獎(jiǎng)金為積分?jǐn)?shù)乘以100;積分在20到29之間的,獎(jiǎng)金為積分?jǐn)?shù)乘以150;積分在30到39之間的,獎(jiǎng)金為積分?jǐn)?shù)乘以200;積分在40到49分之間的,獎(jiǎng)金為積分?jǐn)?shù)乘以250;積分在50分以上的,獎(jiǎng)金都為積分?jǐn)?shù)乘以300。編寫一程序,從鍵盤輸入積分?jǐn)?shù),可以求出該職工的年終獎(jiǎng)。分別用if和switch語句來實(shí)現(xiàn)綜合實(shí)訓(xùn)6.3、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)所謂循環(huán),就是對一段程序重復(fù)執(zhí)行多次循環(huán)體語句:程序中需要被重復(fù)執(zhí)行的部分循環(huán)的初始條件:循環(huán)的執(zhí)行條件:i=0;i<50;實(shí)現(xiàn)循環(huán)的三種方法:while語句do_while語句for語句while語句while語句的一般形式:while(循環(huán)的執(zhí)行條件){循環(huán)體語句
}條件循環(huán)體YNprintf("pleaseinputthescoreofexam:");scanf("%f",&E_score);printf("\npleaseinputthescoreofperformance:");scanf("%f",&P_score);printf("\npleaseinputthescoreof:");scanf("%f",&M_score);F_score=E_score*0.4+P_score*0.3+M_score*0.3;printf("%.1f",F_score);while(i<50)
{
}i=0;i=i+1;main(){floatE_score,P_score,M_score,F_score;int}do_while語句do_while語句的一般形式是:do{
循環(huán)體語句
}while(循環(huán)的執(zhí)行條件);條件循環(huán)體YNIf(number%i==0)printf(“%6d”,i);while(i<sqrt(number));i=2;i=i+1;{}main(){intnumber,i;scanf(“%d”,&number);}#include”math.h”dofor語句for語句的一般形式是:for(循環(huán)變量初始值;循環(huán)的條件;循環(huán)變量變化)
循環(huán)體語句main(){intnumber,i;scanf(“%d”,&number);for(i=2;i<sqrt(number);i++)if(number%i==0)printf(“%6d”,i);}#include”math.h”循環(huán)變量賦初始值循環(huán)條件循環(huán)體語句循環(huán)變量變化YNfor(循環(huán)變量初始值;循環(huán)的條件;循環(huán)變量變化)
循環(huán)體語句綜合實(shí)訓(xùn)編寫一個(gè)程序,輸出1到200間所有可以被18整除的數(shù)。1、如果1%18==0,輸出1;2、如果2%18==0,輸出2;3、如果3%18==0,輸出3;4、如果4%18==0,輸出4;5、如果5%18==0,輸出5;200、如果200%18==0,輸出200;If(i%18==0)printf(“%d”,i);i=1;i<=200;i++for(
)inti;main(){}變形1:If(i%18==0)printf(“%d”,i);i<=200;i++for(
;
)inti;main(){}i=1;結(jié)論1:表達(dá)式1可以省略,但是分號(hào)不能省.If(i%18==0)printf(“%d”,i);i=1;i++for(
;
)inti;main(){}變形2:{If(i>200)break;}結(jié)論2:表達(dá)式2也可以省略,如果省略,分號(hào)不能省,而且需要在循環(huán)體中加使循環(huán)能夠結(jié)束的語句If(i%18==0)printf(“%d”,i);i=1;i<=200;for(
)inti;main(){變形3:}{i++;}結(jié)論3:表達(dá)式3也可以省略,如果省略,分號(hào)不能省,應(yīng)該在循環(huán)體中加入使循環(huán)趨于結(jié)束的語句If(i%18==0)printf(“%d”,i);i=1;i++;for(;;;)inti;main(){}If(i>200)break;{}變形4:結(jié)論4:三個(gè)表達(dá)式都可以省略,但是分號(hào)不能省.循環(huán)結(jié)構(gòu)程序設(shè)計(jì)復(fù)習(xí)和訓(xùn)練實(shí)例2:
百錢百雞實(shí)例1:
兔子繁殖問題兔子繁殖問題題目:一個(gè)飼養(yǎng)場引進(jìn)一對剛出生的新品種兔子,這對兔子從出生的第三個(gè)月開始,每月新生一對兔子,新生的兔子也如此繁殖。如果所有的兔子都不死去,問到第三年末,該飼養(yǎng)場共有兔子多少對?
解析1123581321f1f22、printf(“%d%d”,f1,f2);f13、f1=f1+f2;f2f2=f1+f2;4、printf(“%d%d”,f1,f2);f15、f1=f1+f2;f2f2=f1+f2;循環(huán)體迭代:
不斷以新值代替舊值的操作Fibonacci數(shù)列1、f1=1;f2=1;printf(“%ld,%ld”,f1,f2);f1=f1+f2;f2=f1+f2;while(i<=18)i=1;i=i+1;f1=1;f2=1;inti;longf1,f2;main()/*循環(huán)控制變量初始化*//*循環(huán)條件*//*循環(huán)體*/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版車輛貸款保證合同規(guī)范樣本2篇
- 2024科技創(chuàng)新項(xiàng)目前期咨詢服務(wù)協(xié)議版
- 2024版權(quán)授權(quán)協(xié)議書范本
- 武漢警官職業(yè)學(xué)院《光學(xué)實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 文山學(xué)院《設(shè)施園藝學(xué)實(shí)踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024版房屋出售委托協(xié)議3篇
- 二零二五年電子制造企業(yè)技術(shù)工人勞動(dòng)合同范本2篇
- 二零二五年度人工智能教育股份分紅與人才培養(yǎng)協(xié)議3篇
- 圖木舒克職業(yè)技術(shù)學(xué)院《別墅空間設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 天津石油職業(yè)技術(shù)學(xué)院《工程力學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 高二物理競賽霍爾效應(yīng) 課件
- 金融數(shù)學(xué)-(南京大學(xué))
- 基于核心素養(yǎng)下的英語寫作能力的培養(yǎng)策略
- 現(xiàn)場安全文明施工考核評分表
- 亞什蘭版膠衣操作指南
- 四年級(jí)上冊數(shù)學(xué)教案 6.1口算除法 人教版
- DB32-T 3129-2016適合機(jī)械化作業(yè)的單體鋼架塑料大棚 技術(shù)規(guī)范-(高清現(xiàn)行)
- 6.農(nóng)業(yè)產(chǎn)值與增加值核算統(tǒng)計(jì)報(bào)表制度(2020年)
- 人工挖孔樁施工監(jiān)測監(jiān)控措施
- 供應(yīng)商物料質(zhì)量問題賠償協(xié)議(終端)
- 物理人教版(2019)必修第二冊5.2運(yùn)動(dòng)的合成與分解(共19張ppt)
評論
0/150
提交評論