版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1第四講
結(jié)構(gòu)化程序設(shè)計(jì)與C語(yǔ)言
2主要內(nèi)容結(jié)構(gòu)化程序設(shè)計(jì)——三種基本結(jié)構(gòu)程序設(shè)計(jì)的過(guò)程分析問(wèn)題算法設(shè)計(jì)編碼測(cè)試C程序要素函數(shù)主函數(shù)系統(tǒng)函數(shù)格式化輸入輸出函數(shù)常用數(shù)學(xué)函數(shù)程序設(shè)計(jì)方法面向機(jī)器結(jié)構(gòu)化程序設(shè)計(jì)方法--面向過(guò)程,特點(diǎn):簡(jiǎn)單:三種基本結(jié)構(gòu)程序可讀性強(qiáng)易維護(hù)是面向?qū)ο蟪绦蛟O(shè)計(jì)的基礎(chǔ)面向?qū)ο蟪绦蛟O(shè)計(jì)方法,基本原則計(jì)算機(jī)程序是由單個(gè)能夠起到子程序作用的單元或?qū)ο蠼M合而成。4順序結(jié)構(gòu)選擇結(jié)構(gòu)三種基本結(jié)構(gòu)的圖示循環(huán)結(jié)構(gòu)三種基本結(jié)構(gòu)任何算法都是由三種基本結(jié)構(gòu)的程序模塊組合而成的組合程序:順序結(jié)構(gòu):語(yǔ)句之間為順序執(zhí)行關(guān)系的結(jié)構(gòu)選擇結(jié)構(gòu):根據(jù)條件作判斷,再?zèng)Q定執(zhí)行哪一種操作的結(jié)構(gòu)循環(huán)結(jié)構(gòu):從某處開(kāi)始,按照一定條件,反復(fù)執(zhí)行某一處理過(guò)程,可細(xì)分為兩類:當(dāng)型和直到型循環(huán)結(jié)構(gòu)6三種基本結(jié)構(gòu)的共同特點(diǎn)三種基本結(jié)構(gòu)可表示一個(gè)良好算法的基本單元。特點(diǎn):(1)只有一個(gè)入口。(2)只有一個(gè)出口。(3)結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到——無(wú)死語(yǔ)句。(4)結(jié)構(gòu)內(nèi)不存在“死循環(huán)”——無(wú)終止的循環(huán),需要有外部事件觸發(fā)的例外。注1:一個(gè)菱形判斷框有兩個(gè)出口,而一個(gè)選擇結(jié)構(gòu)只有一個(gè)出口。注2:不要將菱形框的出口和選擇結(jié)構(gòu)的出口混淆。目錄71.分析問(wèn)題→2.算法設(shè)計(jì)→3.編碼→4.測(cè)試P14分析問(wèn)題的方法輸入輸出處理——解決問(wèn)題的基本方法數(shù)學(xué)中解答應(yīng)用題已知什么求什么解題思路82.算法設(shè)計(jì)——程序設(shè)計(jì)之第一步算法:解決問(wèn)題所需的具體步驟算法設(shè)計(jì):采用自頂向下的設(shè)計(jì)方法P14自頂向下的設(shè)計(jì)方法:整體規(guī)劃,自上而下、逐步將復(fù)雜問(wèn)題分解成若干個(gè)簡(jiǎn)單問(wèn)題,各個(gè)擊破。例:畫女孩算法設(shè)計(jì)還應(yīng)該:由具體到抽象(個(gè)例→通用)求5!→n!編程問(wèn)題的基本算法獲得數(shù)據(jù)--輸入執(zhí)行計(jì)算--處理顯示結(jié)果--輸出算法的描述方法自然語(yǔ)言流程圖P3偽代碼9①自然語(yǔ)言
求三個(gè)數(shù)中的最大值的算法如下:第1步:輸入三個(gè)正整數(shù)a,b,c;第2步:如果a大于b,則將a的值賦給max,否則將b的值賦給max;第3步:如果c大于max,則將c的值賦給max;第4步:打印“最大值為”=max10②流程圖P3求:1~100的偶數(shù)之和基本組件課堂作業(yè):畫流程圖
12請(qǐng)畫出處理以下問(wèn)題的算法流程圖:輸入3個(gè)數(shù)a,b,c;若a>b,則max=a;否則max=b;若c>max,則max=c;輸出max③偽代碼
inputthreeintegernumbersprint“請(qǐng)輸入三個(gè)整數(shù)”inputa,b,cjudgethemaxonefromthreenumbersifa>bthenmax=aelsemax=bifc>maxthenmax=c
outputtheresultprint:“最大數(shù)是”;max
13143.編碼——程序?qū)崿F(xiàn)P3編碼是將算法轉(zhuǎn)化為程序的過(guò)程編碼的主要工作內(nèi)容輸入:確定數(shù)據(jù)的存儲(chǔ)方式--數(shù)據(jù)類型處理:完成處理的語(yǔ)句輸出:確定輸出格式算法=數(shù)據(jù)結(jié)構(gòu)+程序例:將算法轉(zhuǎn)化為C語(yǔ)言程序#include<stdio.h>voidmain(void){inta,b,c,max;
printf("輸入三個(gè)整數(shù):");scanf("%d%d%d",&a,&b,&c);
if(a>b)max=a;elsemax=b;if(c>max)max=c;
printf("最大數(shù)是:%d",max);}//sample01_02.cpp15返回P48164.測(cè)試可運(yùn)行的程序并不一定是正確的程序,還要根據(jù)問(wèn)題的實(shí)現(xiàn)目標(biāo),設(shè)計(jì)測(cè)試用例來(lái)檢查所編寫的程序是否還存在邏輯錯(cuò)誤。測(cè)試的過(guò)程就是查找錯(cuò)誤的過(guò)程。測(cè)試用例的設(shè)計(jì)是測(cè)試程序的核心。精心設(shè)計(jì)一批測(cè)試用例[輸入數(shù)據(jù),預(yù)期輸出結(jié)果]
,然后分別用這些測(cè)試用例運(yùn)行程序,看程序的實(shí)際運(yùn)行結(jié)果與預(yù)期輸出結(jié)果是否一致。例:C語(yǔ)言程序的測(cè)試sample01_02.cpp
#include<stdio.h>voidmain(void){inta,b,c,max;printf("輸入三個(gè)整數(shù):");scanf("%d%d%d",&a,&b,&c);
if(a>b)max=a;elsemax=b;if(c>max)max=c;
printf("最大數(shù)是:%d",max);}
17測(cè)試用例設(shè)計(jì):測(cè)試用例一:輸入:1
2
3輸出:3測(cè)試用例二:輸入:3
2
1輸出:3測(cè)試用例三:輸入:1
3
2輸出:3
目錄18C語(yǔ)言要素解釋P2-P7,P95-96通過(guò)P7~16例講解注釋預(yù)處理指令數(shù)據(jù)類型常量和變量用戶自定義標(biāo)識(shí)符語(yǔ)句表達(dá)式函數(shù)1.2簡(jiǎn)單程序擴(kuò)展
P7C語(yǔ)言計(jì)算器解決方案(1)變量聲明:聲明用于存放數(shù)據(jù)的變量;(2)變量初始化:通過(guò)變量賦值或通過(guò)鍵盤輸入給出變量的初始值;(3)輸出結(jié)果:將運(yùn)算結(jié)果輸出到屏幕或窗口;(4)在對(duì)變量初始化時(shí),要保證作除法運(yùn)算有意義,即保證除數(shù)不為零;注:整除——2個(gè)整數(shù)相除結(jié)果仍為整數(shù)P13(5)取余運(yùn)算僅對(duì)于整數(shù)有意義。注:模運(yùn)算僅對(duì)整數(shù)而言P13P8整數(shù)運(yùn)算/整除運(yùn)算符(求商)
整數(shù)除整數(shù)結(jié)果整數(shù),其中一個(gè)是實(shí)數(shù)結(jié)果也是實(shí)數(shù)如:1/2=0,9/4=2,3/2=1,3.0/2=1.5%模(求余)運(yùn)算符
針對(duì)整型數(shù)據(jù)做除法取余數(shù)如:5%6=5,9%4=1,100%4=021整數(shù)類型intP10Integer[‘?nt?d??]整數(shù)存儲(chǔ)特點(diǎn):直接二進(jìn)制存儲(chǔ)存儲(chǔ)字節(jié):TC:2字節(jié)32767~-32768
VC:4字節(jié)2147483647~-214748364822整數(shù)變量的定義分配內(nèi)存空間,按名存取操作不同的定義形式intx,y;intx;inty;23整數(shù)的輸入和輸出%d——格式控制符scanf(“%d”,&x);printf(“x=%d”,x);2425示例sample01_04.cppvoidmain(void){intx,y,q,c;x=230;y=107;
q=x/y;c=x%y;printf(“quotient=%d,remainder=%d”,q,c);}整數(shù)變量聲明賦值語(yǔ)句——初值整數(shù)運(yùn)算:/,%輸出26整數(shù)運(yùn)算特性的運(yùn)用取位算法,例一個(gè)整數(shù)n由abcd4位數(shù)組成。如,1024a=abcd/1000%101024/1000%10=1b=abcd/100%101024/100%10=10%10=0c=abcd/10%101024/10%10=102%10=2d=abcd%101024%10=4整除運(yùn)算取頭幾位求余運(yùn)算取末幾位27示例sample01_06.cppvoidmain(void){intx,y,q,c;
printf(“inputx:”);
scanf(“%d”,&x);
printf(“inputy:”);
scanf(“%d”,&y);
q=x/y;
c=x%y;
printf(“quotient=%d,remainder=%d”,q,c);}輸入語(yǔ)句:變量值的輸入加強(qiáng)程序通用性運(yùn)行體驗(yàn)printf作用?Printf輸出格式?P2/*簡(jiǎn)單計(jì)算器程序*/#include<stdio.h>#include<stdlib.h>voidmain(void){ intlOperator,rOperator; //定義兩個(gè)整型變量,用于存放左右操作數(shù) intnResult1,nResult2,nResult3,nResult4,nResult5;//定義五個(gè)整型變量,用于存放結(jié)果 lOperator=4; rOperator=5; nResult1=lOperator+rOperator;/*計(jì)算lOperator+rOperator將和存入nResult1*/ nResult2=lOperator-rOperator; /*計(jì)算lOperator-rOperator將差存入nResult2*/ nResult3=lOperator*rOperator;
/*計(jì)算lOperator*rOperator將積存入nResult3*/ nResult4=lOperator/rOperator; /*計(jì)算lOperator/rOperator將商存入nResult4*/ nResult5=lOperator%rOperator;
/*計(jì)算lOperator%rOperator將余數(shù)存入nResult5*/ printf(“%d“,nResult1); /*將和顯示在屏幕上*/ printf(“%d“,nResult2); /*將差顯示在屏幕上*/ printf(“%d“,nResult3); /*將積顯示在屏幕上*/ printf(“%d“,nResult4); /*將商顯示在屏幕上*/ printf(“%d“,nResult5); /*將余數(shù)顯示在屏幕上*/}因篇幅關(guān)系,參見(jiàn)P9完善顯示結(jié)果創(chuàng)建程序sample01_03_1.cpp/*簡(jiǎn)單計(jì)算器程序*/#include<stdio.h>voidmain(void){ intlOperator,rOperator; //定義2個(gè)整型變量,存放左右操作數(shù)
intnResult1,nResult2,nResult3,nResult4,nResult5;//定義5個(gè)整型變量,存放結(jié)果
lOperator=4; rOperator=5; nResult1=lOperator+rOperator;//計(jì)算lOperator+rOperator將和存入nResult1 nResult2=lOperator-rOperator;//計(jì)算lOperator-rOperator將差存入nResult2 nResult3=lOperator*rOperator;//計(jì)算lOperator*rOperator將積存入nResult3 nResult4=lOperator/rOperator;//計(jì)算lOperator/rOperator將商存入nResult4 nResult5=lOperator%rOperator;//計(jì)算lOperator%rOperator將余數(shù)存入nResult5 printf("和=%d\n",nResult1); /*將和顯示在屏幕上*/ printf("差=%d\n",nResult2); /*將差顯示在屏幕上*/ printf("積=%d\n",nResult3); /*將積顯示在屏幕上*/ printf("商=%d\n",nResult4); /*將商顯示在屏幕上*/ printf("余數(shù)=%d\n",nResult5); /*將余數(shù)顯示在屏幕上*/}C語(yǔ)言要素解釋如下sample01_03.cpp注釋(綠色)的作用——幫助理解程序程序的開(kāi)始功能、版本、修改時(shí)間、作者、程序名函數(shù)定義前P88功能,參數(shù)、返回值、作者、修改時(shí)間語(yǔ)句后功能注釋例2-5P4231注釋的規(guī)則P4行注釋//注釋內(nèi)容遇到空格,注釋結(jié)束多行注釋/*注釋內(nèi)容
*/位置出現(xiàn)在一行語(yǔ)句的右側(cè)或單獨(dú)成為一行編譯程序忽略注釋內(nèi)容,將注釋替換為一個(gè)空格注釋不能嵌套///**///×32編譯預(yù)處理P6預(yù)處理:在正式詞法掃描和語(yǔ)法分析前進(jìn)行預(yù)處理不是語(yǔ)句,不能編譯,在編譯前將預(yù)處理命令轉(zhuǎn)換成相應(yīng)的C程序段。預(yù)處理命令用#開(kāi)頭,預(yù)處理命令后不加;分號(hào)。例如:#include<stdio.h>//頭文件,調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù)P5#include<stdlib.h>//常用函數(shù)P5#definekg_per_pound
0.453593//宏定義P96
宏名
宏定義字符串33頭文件包含(庫(kù))P5、95~96文件包含:一個(gè)源文件包含一或多個(gè)源文件的全部?jī)?nèi)容到包含文件中。P95#include<stdio.h>或#include“stdio.h”P96告訴編譯系統(tǒng),程序可訪問(wèn)的系統(tǒng)函數(shù)和符號(hào)的集合stdio.h——標(biāo)準(zhǔn)輸入輸出系統(tǒng)函數(shù)庫(kù),如:printf等一個(gè)#include只能包含一個(gè)頭文,如:#include<stdio.h>#include<stdlib.h>341.數(shù)據(jù)類型P10,P313附4C提供的基本數(shù)據(jù)類型int
(整型)integer[‘?nt?d??]
實(shí)型float
(單精度浮點(diǎn)型)double
(雙精度浮點(diǎn)型)char
(字符型)character[‘k?r?kt?]
算法的處理對(duì)象--數(shù)據(jù)數(shù)據(jù)以特定形式存儲(chǔ)--數(shù)據(jù)類型:是一組數(shù)據(jù)及在這組數(shù)據(jù)上的運(yùn)算數(shù)據(jù)類型的選擇成績(jī)體積性別P18352.常量程序運(yùn)行過(guò)程中值不會(huì)發(fā)生變化的量——常量。常量類型通常由書寫格式?jīng)Q定:int整數(shù)常量:23,0,-135double浮點(diǎn)數(shù)常量:0.263,123.8float浮點(diǎn)數(shù)常量:0.263f,123.8fchar字符常量:’a’,’A’,’0’,’\n’36常量--宏定義C語(yǔ)言常用宏來(lái)定義符號(hào)常量——宏定義。#definekg_per_pound0.453593示例#definePI3.1415926注:可用大寫字母表示,以示與一般變量的區(qū)別不帶參數(shù)的宏定義在C語(yǔ)言源程序中允許用一個(gè)標(biāo)識(shí)符來(lái)表示一個(gè)字符串,稱為“宏”。被定義為“宏”的標(biāo)識(shí)符稱為“宏名”。如:#definekg_per_pound
0.453593//宏定義P96
宏名宏定義字符串編譯時(shí)所有出現(xiàn)宏名的地方用宏定義字符串代替一般形式:
#define標(biāo)識(shí)符字符串P183.變量P10變量:程序運(yùn)行時(shí)存儲(chǔ)在變量中的數(shù)據(jù)可以改變的量。存儲(chǔ)單元:用于存放程序的輸入數(shù)據(jù)、中間結(jié)果和計(jì)算結(jié)果的,而數(shù)學(xué)中則代表未知數(shù)。存儲(chǔ)單元的大小由數(shù)據(jù)類型決定,參見(jiàn)P313附4。先聲明(定義),后使用變量聲明(定義)一般格式:
數(shù)據(jù)類型變量表例:intfahr,
celsius;例:doublepounds;有若干個(gè)變量用,號(hào)分割變量名P18變量命名用戶自定義標(biāo)識(shí)符:變量名、函數(shù)名、符號(hào)常量1.由字母、數(shù)字、下劃線_構(gòu)成,如:a1,a_1,_a2.數(shù)字不能為首字符,如:1a×3.不能是保留字,如:int
×4.大小寫敏感,如:a1,A1分別為2個(gè)變量名關(guān)鍵字:C中具有固定含義的單詞P310附2int
chardoubleifelseforwhile……printfscanfmain……建議長(zhǎng)度<=8位,見(jiàn)名知意doublepounds;P18復(fù)習(xí)——C語(yǔ)言組成元素注釋//或/**/預(yù)處理#include<stdio.h>#definemain函數(shù)“{”開(kāi)始,“}”結(jié)束變量先定義,后使用數(shù)據(jù)類型inti;floatx;doubley;chara;常量書寫形式:12,,12.0符號(hào)常量#definePI4.13159640P641語(yǔ)句P6C的語(yǔ)句是向計(jì)算機(jī)系統(tǒng)發(fā)操作指令的。一條語(yǔ)句經(jīng)編譯后會(huì)產(chǎn)生若干條機(jī)器指令。C的程序是由若干條語(yǔ)句組成的,完成一個(gè)特定的操作任務(wù)。以;為C語(yǔ)句的結(jié)束符號(hào),如intfahr,celsius;fahr=100;printf(“HelloWorld!\n”);//系統(tǒng)函數(shù)調(diào)用以下不是C的語(yǔ)句,所以沒(méi)有以;結(jié)束#include<stdio.h>intmain(void)#definekg_per_pound0.453593賦值語(yǔ)句(賦值運(yùn)算符=)P11、13對(duì)一個(gè)變量進(jìn)行賦值:是以新內(nèi)容改寫變量中原存放的內(nèi)容。一般格式:變量=表達(dá)式;例:i=i+1;pounds=10;kgs=kg_per_pound*pounds;未知值0.45359310kgskg_per_poundpounds賦值前4.535930.45359310kgskg_per_poundpounds賦值后#definekg_per_pound0.453593編程:將華氏100度轉(zhuǎn)換為攝氏溫度
分析:已知?求?解題思路?
輸入?華氏溫度f(wàn)ahr=100;Fahrenheit
[‘f?r?n,ha?t]
輸出?攝氏溫度celsius的值[‘s?lsi?s]
處理?將華氏溫度f(wàn)ahr=100轉(zhuǎn)換為攝氏溫度:celsius=5*(fahr-32)/9創(chuàng)建程序sample01_05.cpp/*將華氏溫度轉(zhuǎn)換為攝氏溫度*/#include<stdio.h>intmain(void){intfahr,celsius;fahr=100;celsius=5*(fahr-32)/9;printf(“fahr=%d,celsius=%d\n”,fahr,celsius);return0;}運(yùn)行結(jié)果:fahr=100,celsius=37注:printf格式化輸出函數(shù)“”內(nèi)字符串直接輸出%d輸出對(duì)應(yīng)的變量值\n換行試編寫程序!格式化輸出函數(shù)printfp11#include<stdio.h>printf("HelloWorld!\n");printf(“最大數(shù)是:%d“,max);printf(“fahr=%d,celsius=%d\n”,fahr,celsius);一般格式:printf("格式控制字符串",輸出參數(shù)1,…,輸出參數(shù)n);用雙引號(hào)括起來(lái),表示輸出的格式要輸出的數(shù)據(jù)printf——格式控制字符串例printf("HelloWorld!\n");printf(“fahr=%d,celsius=%d\n”,fahr,celsius);格式控制字符串:普通字符:原樣輸出格式控制說(shuō)明:按指定的格式輸出數(shù)據(jù),%…P315附6.1與數(shù)據(jù)類型有關(guān)int型:%dfloat和double型:%f默認(rèn)保留6位小數(shù)47注意雙引號(hào)之間的普通字符串依照原樣顯示在屏幕上printf("HelloWorld!\n");雙引號(hào)不輸出\n--換行輸出變量或表達(dá)式的值:格式控制符(%f或%d)printf("fahr=%d,celsius=%d\n",fahr,celsius);printf("kgs=%f",kg_per_pound*pounds);修改程序sample01_05.cpp:直接輸出表達(dá)式48分析:程序sample01_05.cpp非通用程序:只能將華氏溫度100轉(zhuǎn)換成攝氏溫度37。若能從鍵盤輸入任何華氏溫度f(wàn)ahr的值即可轉(zhuǎn)換成相應(yīng)的攝氏溫度——通用程序。前例:輸入a,b,c三個(gè)數(shù)
scanf(“%d%d%d”,&a,&b,&c);輸入fahrscanf(“%d”,&fahr);格式化輸入函數(shù)scanfP32數(shù)據(jù)輸入:格式化輸入函數(shù)scanf#include<stdio.h>scanf(“%d”,&fahr);一般格式:scanf("格式控制字符串",&輸入?yún)?shù)1,…,&輸入?yún)?shù)n);用雙引號(hào)括起來(lái),表示輸入的格式變量地址:&x注:&取址運(yùn)算符變量x的地址而非內(nèi)容scanf-格式控制字符串格式控制字符串:格式控制說(shuō)明:按指定的格式輸入數(shù)據(jù),%…與數(shù)據(jù)類型有關(guān)P316附6.2int型:%dfloat型:%fdouble型:%lf普通字符:原樣輸出,例如:
scanf("x=%lf",&x);x=9.5注:盡量不要出現(xiàn)普通字符可配合printf一起使用采用printf(“x=”);scanf(“%lf\n”,&x);x=9.551輸入提示--良好的程序風(fēng)格//輸入單位為磅的重量值printf("Enterthequantityinpounds:");scanf("%d",£s);52scanf作用舉例接受鍵盤輸入的數(shù)據(jù),存儲(chǔ)到指定變量中。scanf("%d",£s);scanf(“%lf”,£s);%d和%f的作用:設(shè)定數(shù)據(jù)類型。鍵盤擊打字符——無(wú)數(shù)據(jù)類型;變量接受數(shù)據(jù)——明確數(shù)據(jù)類型。例:鍵入:12%d
整數(shù)12%f
實(shí)數(shù)12.0%s
字符串“12”£s的作用?將鍵盤輸入的值送到pounds變量所對(duì)應(yīng)的存儲(chǔ)單元中。課堂練習(xí)將左邊“將華氏溫度轉(zhuǎn)換為攝氏溫度”的程序改為通用程序——可以將任意值的華氏溫度轉(zhuǎn)換為攝氏溫度。修改后程序/*將華氏溫度轉(zhuǎn)換為攝氏溫度*/#include<stdio.h>intmain(void){intfahr,celsius;fahr=100;celsius=5*(fahr-32)/9;printf("fahr=%d,celsius=%d\n",fahr,celsius);return0;//返回0}printf("fahr=");scanf("%d",&fahr);54案例分析學(xué)生在做奶粉市場(chǎng)調(diào)查時(shí)發(fā)現(xiàn)國(guó)產(chǎn)奶粉使用公斤為單位,進(jìn)口奶粉則使用磅為單位?,F(xiàn)在希望采用公斤統(tǒng)一計(jì)量單位,請(qǐng)寫出實(shí)行轉(zhuǎn)換的程序。分析:輸入pounds輸出kgs解題思路1公斤=0.453593磅55案例算法實(shí)現(xiàn)數(shù)據(jù)(變量)磅公斤數(shù)據(jù)類型選擇浮點(diǎn)數(shù)據(jù)功能輸入單位為磅的重量值將磅轉(zhuǎn)換成公斤顯示單位為公斤的重量值課堂練習(xí):將算法轉(zhuǎn)化為C語(yǔ)言程序完善程序
sample01_07.cpp1、依“例題”(樣)畫葫蘆(編制)將磅值轉(zhuǎn)換為公斤的程序。源程序2、輸出保留6位小數(shù)——printf函數(shù)%f格式默認(rèn)保留6位小數(shù)點(diǎn),不足位右側(cè)補(bǔ)0。
若只要保留2位小數(shù)怎么辦?
printf(“kgs=%.2f\n",kgs);注:%m.nf
輸出m列其中小數(shù)n列P315
%md
輸出m列,不足位則左端補(bǔ)空格/*將磅值轉(zhuǎn)換為公斤*/#include<stdio.h>intmain(void){floatpounds,kgs;printf("pounds=");scanf("%f",£s);kgs=0.453593*pounds;printf("kgs=%f\n",kgs);return0;}pounds=10Kgs=4.535930pounds=10kgs=4.5457磅轉(zhuǎn)換公斤:sample01_07.cpp
連接錯(cuò)/*---------------------*//*磅到公斤的轉(zhuǎn)換*//*---------------------*/#include<stdio.h>#definekg_per_pound0.453593intmain()/*小括號(hào)內(nèi)void可省*/{intpounds;doublekgs;//獲得以磅表示的重量printf("Enterthequantityinpounds:");scanf("%d",£s);//將重量轉(zhuǎn)換成公斤kgs=kg_per_pound*pounds;//顯示以公斤表示的重量printf(“thatequals%.2fkilograms",kgs);return0;//返回值0}測(cè)試用例:輸入:10輸出:4.535930P3158例:交換算法分析:inta,b;a=10;b=20;交換變量a和b中的值?1瓶可樂(lè)與1瓶雪碧交換?必須借助第三方變量tt=a;a=b;b=t;或t=b;b=a;a=t;,t59交換的過(guò)程1020未知值abt102010t=a;202010a=b;b=t;201010交換前P29作業(yè)1:編程實(shí)現(xiàn)交換算法對(duì)變量a和b分別賦初值;交換變量a和b中的值;輸出結(jié)果請(qǐng)按軟件開(kāi)發(fā)的過(guò)程完成問(wèn)題的求解問(wèn)題需求分析問(wèn)題設(shè)計(jì)算法編碼測(cè)試答題要求如下作業(yè)本封面:學(xué)號(hào)、姓名、班級(jí)、C程序設(shè)計(jì)
頁(yè)面對(duì)折,布局如下:題目分析測(cè)試用例及結(jié)果(1)黑屏上內(nèi)容測(cè)試用例及結(jié)果(2)黑屏上內(nèi)容源程序P18作業(yè)2:修改作業(yè)1——通用程序從鍵盤接收2個(gè)數(shù),存入變量a和b;交換變量a和b中的值;輸出結(jié)果請(qǐng)按軟件開(kāi)發(fā)的過(guò)程完成問(wèn)題的求解問(wèn)題需求分析問(wèn)題設(shè)計(jì)算法編碼測(cè)試交換算法
通用程序#include<stdio.h>voidmain(void){ inta,b,t; scanf("%d%d",&a,&b); t=a;a=b;b=t; printf("a=%d,b=%d\n",a,b);}64算術(shù)運(yùn)算符P11雙目(2個(gè)操作數(shù))運(yùn)算符:+、-、*、/、%優(yōu)先級(jí):()最高,*、/、%高于+、-單目運(yùn)算符--1個(gè)操作數(shù)運(yùn)算順序:從左至右按優(yōu)先級(jí)進(jìn)行運(yùn)算65算術(shù)表達(dá)式用算術(shù)運(yùn)算符將運(yùn)算對(duì)象連接起來(lái)的符合C語(yǔ)言語(yǔ)法規(guī)則的式子——算術(shù)表達(dá)式。數(shù)學(xué)表達(dá)式:(a+b)(a-c)(a+b)÷(a-c)C表達(dá)式:(a+b)*(a-c)(a+b)/(a-c)P1866函數(shù)功能模塊與函數(shù)函數(shù)的種類主函數(shù)被調(diào)函數(shù)系統(tǒng)函數(shù)輸入輸出函數(shù)數(shù)學(xué)函數(shù)……用戶自定義函數(shù)67例:設(shè)計(jì)輸出簡(jiǎn)圖的算法圖形女孩房子男孩68模塊結(jié)構(gòu)圖模塊結(jié)構(gòu)獨(dú)立函數(shù)69模塊的實(shí)現(xiàn)--函數(shù)自頂向下的分析結(jié)果得到模塊結(jié)構(gòu)圖,每一個(gè)模塊在C程序中的實(shí)現(xiàn)與函數(shù)相對(duì)應(yīng)。函數(shù)是C程序設(shè)計(jì)語(yǔ)言的基本單位P6當(dāng)用C來(lái)編程序時(shí),一個(gè)復(fù)雜的大程序可被分割成更容易控制的函數(shù)和子函數(shù)P43函數(shù)的種類主函數(shù)main()系統(tǒng)函數(shù)P317~323附7常用系統(tǒng)函數(shù):輸入輸出函數(shù),如printf常用數(shù)學(xué)函數(shù),如sin用戶自定義函數(shù)70P4371最簡(jiǎn)單的C程序voidmain(void){}它能被執(zhí)行,但無(wú)任何功能它包含一個(gè)main函數(shù)空語(yǔ)句在{}之間添加語(yǔ)句intmain(){return0;}72main函數(shù)每一個(gè)C程序有且只有一個(gè)main函數(shù)程序執(zhí)行自動(dòng)調(diào)用main函數(shù)程序順次執(zhí)行每一條可執(zhí)行語(yǔ)句形式:voidmain(void)intmain(void){聲明{聲明
可執(zhí)行語(yǔ)句序列可執(zhí)行語(yǔ)句序列}
return0;}沒(méi)有形參可省略空類型不產(chǎn)生返回值整型,產(chǎn)生返回值并返回結(jié)果返回整型值0intmain()73最基本的C程序模塊(main函數(shù))IPO結(jié)構(gòu)始終是main函數(shù)模塊的基本結(jié)構(gòu)74示例#include<stdio.h>intmain(){intx,y,z;printf(“inputx,y);scanf(“%d%d”,&x,&y);z=x*100+y;printf(“z=%d”,z);}InputProcessOutputP43C函數(shù)可調(diào)用其他函數(shù)#include<stdio.h>voidmain(void){printf(“HelloCWorld\n”);printf(“HelloCWorld”);}頭文件:math.h,功能:計(jì)算x的n次冪。返回值:x應(yīng)大于零,返回計(jì)算冪指數(shù)的結(jié)果。printf是一個(gè)實(shí)現(xiàn)復(fù)雜功能的系統(tǒng)函數(shù)只需學(xué)會(huì)調(diào)用它,而不需要寫函數(shù)函數(shù)可以多次被調(diào)用--嵌套。如printf(“%f”,pow(x,n));76如何調(diào)用(使用)一個(gè)函數(shù)printf是函數(shù)的名稱使用一個(gè)函數(shù),函數(shù)名后面一定要跟()()
里是函數(shù)的參數(shù),它提供函數(shù)所需要的數(shù)據(jù)。例如printf(“Hello!\n”)。字符串“Hello!\n”是printf所需要的參數(shù)。例如pow(x,n)pow函數(shù)包含兩個(gè)參數(shù)n和x,參數(shù)之間以逗號(hào)分隔。P43系統(tǒng)函數(shù)介紹
系統(tǒng)提供的已寫好的功能代碼,可以直接調(diào)用系統(tǒng)函數(shù)的聲明:include文件夾中系統(tǒng)函數(shù)的程序段:lib文件夾中常用函數(shù)庫(kù)文件名stdio.h:標(biāo)準(zhǔn)輸入輸出函數(shù)庫(kù)math.h:數(shù)學(xué)函數(shù)庫(kù)string.h:字符串處理函數(shù)庫(kù)7778常用數(shù)學(xué)庫(kù)函數(shù)P317附7平方根函數(shù)sqrt(x)
絕對(duì)值函數(shù)fabs(x)fabs(-3.56)的值為3.56冪函數(shù)pow(x,n):xnpow(1.1,2)的值為1.21(即1.12)指數(shù)函數(shù)exp(x):exexp(2.3)的值為e2.3以e為底的對(duì)數(shù)函數(shù)log(x):lnxlog(123.45)的值為4.815836以10為底的對(duì)數(shù)函數(shù)log10(x):log10xlog10(123.45)的值為2.091491。使用系統(tǒng)函數(shù)#include<庫(kù)文件名>按照函數(shù)調(diào)用的方法調(diào)用,如#include<stdio.h>voidmain(void){printf(“HelloCWorld\n”);printf(“HelloCWorld”);}80計(jì)算存款的本息
創(chuàng)建程序sample01_09.cpp輸入存款金額money、存期year和年利率rate,根據(jù)公式計(jì)算存款到期時(shí)的本息合計(jì)sum,輸出時(shí)保留2位小數(shù)。sum=money(1+rate)yearsum=money*pow((1+rate),year);課堂作業(yè):編程實(shí)現(xiàn)上述功能請(qǐng)寫出上述式子所對(duì)應(yīng)的C語(yǔ)言算術(shù)表達(dá)式和賦值語(yǔ)句:81上例
程序#include<stdio.h>#include<math.h>intmain(void){intmoney,year;doublerate,sum;
printf("Entermoney:");
scanf("%d",&money);printf("Enteryear:");scanf("%d",&year);printf("Enterrate:");scanf("%lf",&rate);
sum=money*pow((1+rate),year);
printf("sum=%.2f",sum);return0;}Entermoney:1000Enteryear:
3Enterrate:
0.05sum=1157.63printf("Entermoney,year,rate:");scanf("%d%d%lf",&money,&year,&rate);P43輸入部分太繁瑣簡(jiǎn)化82作業(yè)3:高速公路收費(fèi)站為提高通行速度,準(zhǔn)備采用ETC收費(fèi)方式,現(xiàn)需要測(cè)算采用ETC收費(fèi)后車流量改善程度。假設(shè):人工收費(fèi)通道每輛車通過(guò)最快需要30秒,而ETC通道每輛車通過(guò)只需6秒。計(jì)劃先將10個(gè)收費(fèi)口中的若干個(gè)改成ETC收費(fèi)口,其中ETC收費(fèi)口的數(shù)量由程序執(zhí)行時(shí)輸入。請(qǐng)測(cè)算采用ETC收費(fèi)口后,每小時(shí)車流量增加多少輛?83#include<stdio.h>intmain(){intn_ETC;//ETC通道的數(shù)目
intn_normal;//普通通道的數(shù)目
intnormal_flux;//現(xiàn)在收費(fèi)口的一小時(shí)流量
intnew_flux;//增加ETC后收費(fèi)口的一小時(shí)流量
printf("inputthenumberofETC:");scanf("%d",&n_ETC);normal_flux=1*60/0.5*10;n_normal=10-n_ETC;new_flux=1*60*60/6*n_ETC+1*60/0.5*n_normal;printf("theincreaseoffluxis%d\n",new_flux-normal_flux);
return0;}課堂作業(yè):編程實(shí)現(xiàn)上述功能#definen_normal(10-n_ETC)//84作業(yè)4勾股定理:指組成直角三角形的三邊,滿足兩條直角邊平方和等于斜邊的平方。設(shè)直角三角形兩直角邊為a
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村培訓(xùn)課件
- 二零二五年度教育機(jī)構(gòu)個(gè)人勞務(wù)派遣合作框架3篇
- 欽州隧道防腐施工方案
- 鎮(zhèn)政府資產(chǎn)清理方案
- 2025版汽車制造行業(yè)新員工試用期勞動(dòng)合同范本3篇
- 二零二五年度辦公空間貼磚分包勞務(wù)合作合同范本3篇
- 消防通道改路障施工方案
- 二零二五年度租賃合同范本下載18篇
- 二零二五年度全國(guó)性房產(chǎn)銷售居間合同協(xié)議書范本模板2篇
- 二零二五版小汽車租賃合同含車輛應(yīng)急物資包3篇
- 河南省濮陽(yáng)市2024-2025學(xué)年高一上學(xué)期1月期末考試語(yǔ)文試題(含答案)
- 割接方案的要點(diǎn)、難點(diǎn)及采取的相應(yīng)措施
- 2025年副護(hù)士長(zhǎng)競(jìng)聘演講稿(3篇)
- 2024年08月北京中信銀行北京分行社會(huì)招考(826)筆試歷年參考題庫(kù)附帶答案詳解
- 原發(fā)性腎病綜合征護(hù)理
- (一模)株洲市2025屆高三教學(xué)質(zhì)量統(tǒng)一檢測(cè) 英語(yǔ)試卷
- 蘇教版二年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)教學(xué)設(shè)計(jì)
- 碳排放核查員模擬考試題
- 奢侈品管理概論完整版教學(xué)課件全書電子講義(最新)
- DB51T2939-2022 彩燈(自貢)制作工藝通用規(guī)范
- 押金收據(jù)條(通用版)
評(píng)論
0/150
提交評(píng)論