版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
會計(jì)學(xué)1程序流程控制任務(wù)一考察順序結(jié)構(gòu)的執(zhí)行特點(diǎn)請觀察下面的流程圖1.在該圖中運(yùn)用了哪些流程圖框?起止框、輸入輸出框、一般處理框2.根據(jù)流程圖,寫出相應(yīng)的C程序。開始輸入半徑:rS=3.14*r*r輸出面積:s結(jié)束main(){floatr,s;scanf(“%f”,&r);s=3.14*r*r;printf(“s=%f\n”,s);}第1頁/共66頁在寫程序中,注意流程線的方向。在程序中,正確定義變量。順序結(jié)構(gòu)的執(zhí)行特點(diǎn):程序按照語句從上到下的排列順序依次執(zhí)行,每條語句必須執(zhí)行且只能執(zhí)行一次。知識盤點(diǎn):第2頁/共66頁任務(wù)二熟悉順序程序2.根據(jù)流程圖,完成C程序。#include”stdio.h”main(){charch1,ch2;printf(“請輸入一個大寫字母:”);
ch1=getchar();ch2=ch1+32;printf(“相應(yīng)的小寫字母為:”);putchar(ch2);}3.如果輸入的字符不是大字字母,這樣的轉(zhuǎn)換還有意義嗎?怎樣才能避免輸入非大寫字母?請看題目:輸入一個大寫字母,轉(zhuǎn)換成小寫字母輸出。1.填寫流程圖開始輸入大寫字母ch1ch2=ch1+32輸出小寫字母ch2結(jié)束答:這樣的轉(zhuǎn)換沒有意義,如果要避免輸入非大寫字母,可以在轉(zhuǎn)換前加一個是否是大寫字線的判斷。第3頁/共66頁任務(wù)三設(shè)計(jì)順序程序請看題目:輸入2個整數(shù)a、b,然后交換a、b的值輸出。1.填寫流程圖2.根據(jù)流程圖,寫出C程序。開始輸入a,b輸出交換前a,b的值輸出交換后a,b的值結(jié)束main(){inta,b,t;scanf(“%d%d”,&a,&b);printf(“交換前a=%d,b=%d\n”,a,b);t=a;a=b;b=t;printf(“交換后a=%d,b=%d\n”,a,b);}3.如果不借助中間變量t能使變量a、b的值交換嗎?如果能,該如何編程?t=a;a=b;b=t;第4頁/共66頁模塊二分支程序設(shè)計(jì)能力目標(biāo):根據(jù)實(shí)際問題,正確書寫關(guān)系、邏輯表達(dá)式正確認(rèn)識分支結(jié)構(gòu)的執(zhí)行特點(diǎn)運(yùn)用if語句的3種形式及switch語句進(jìn)行分支程序的設(shè)計(jì)第5頁/共66頁任務(wù)一認(rèn)識關(guān)系運(yùn)算符和關(guān)系表達(dá)式1.觀察C語言提供的6種關(guān)系運(yùn)算符:>、>=、<、<=、==、!=2.上機(jī)調(diào)試程序,記錄運(yùn)行結(jié)果#include”stdio.h”main(){inttrue,false;true=(1==1);false=(1==0);Printf(“真=%d,假=%d\n”,true,false);}請記錄運(yùn)行結(jié)果:真=1,假=03.完成下表:表達(dá)式表達(dá)式的值表達(dá)式的結(jié)果-3+1-22+7*323真a=001==00假真假第6頁/共66頁知識盤點(diǎn):關(guān)系運(yùn)算的概念關(guān)系運(yùn)算的優(yōu)先級關(guān)系表達(dá)式的概念第7頁/共66頁任務(wù)二認(rèn)識邏輯運(yùn)算符和邏輯表達(dá)式1.3種邏輯運(yùn)算符:&&、||、!3.寫出下列表達(dá)式的等價(jià)式x>y&&m>n等價(jià)于(x>y)&&(m>n)a!=b||x==y等價(jià)于
!x||x>y等價(jià)于
x>7&&x+y!=20等價(jià)于
3+2&&5>4||!0等價(jià)于
2.完成下表表達(dá)式表達(dá)式的值(3<2)&&(7>5)(3<2)||(7>5)!(3>2)010(a!=b)||(x==y)(!x)||(x>y)(x>7)&&(x+y!=20)(3+2)&&(5>4)||!0第8頁/共66頁知識盤點(diǎn):邏輯運(yùn)算符的概念邏輯運(yùn)算符的優(yōu)先級邏輯表達(dá)式的概念第9頁/共66頁任務(wù)三書寫關(guān)系、邏輯表達(dá)式1.寫出判斷一個字符是否是空白符(‘\t’、’\n’、’
’)的邏輯表達(dá)式:(ch==‘‘)||(ch==‘\n’)||(ch==‘\t’)2.寫出判斷某一年是否為閏年的邏輯表達(dá)式。(1)分析:閏年的條件是符合下列2個條件之一:能被4整除,但不能被100整除;能被400整除(2)請分別寫出2個條件的邏輯表達(dá)式:year%4==0&&year%100!=0year%400==0(3)如果將2個邏輯表達(dá)式合并為一個式子,該如何寫?(year%4==0&&year%100!=0)||(year%400==0)第10頁/共66頁任務(wù)四考察條件控制語句if語句1.考察分支結(jié)構(gòu)的執(zhí)行特點(diǎn)請觀察下面的流程圖:開始輸入一個正整數(shù)xx%6==0輸出“yes!”輸出“no!”結(jié)束該流程圖中,根據(jù)其真假使流程分支的判斷條件是什么?該流程圖所表示的程序功能是什么?答:x%6==0答:判斷一個正整數(shù)是否是6的倍數(shù)。第11頁/共66頁2.認(rèn)識if語句(第一種形式)(1)請觀察下面的流程圖:x>0x=x+1該圖用if語句表示為:if(x>0)x=x+1;(2)試寫出if語句的一般形式:(3)歸納if語句的流程圖:表達(dá)式語句if(表達(dá)式)語句第12頁/共66頁知識盤點(diǎn):第13頁/共66頁(4)題目:輸入一個整數(shù),如果該數(shù)為正,輸出該數(shù)。完成程序:main(){intx;scanf(“%d”,&x);if
printf(“%d”,x);}根據(jù)程序,畫出流程圖。思考:如果要求x的絕對值,用if語句(第一種形式)實(shí)現(xiàn),該如何完成?(x>0)main(){intx,y;scanf(“%d”,&x);if(x>=0)y=x;if(x<0)y=-x;printf(“絕對值為:%d\n”,y);}第14頁/共66頁3.認(rèn)識if…else語句(第二種形式)(1)請觀察下面的流程圖:x>0y=xy=-x
真假該流程圖表示的意思是什么?(2)if…else語句的形式:
if(表達(dá)式)語句1else
語句2(3)請?zhí)顚懥鞒虉D:
真假語句1答:求x的絕對值。表達(dá)式語句2第15頁/共66頁知識盤點(diǎn):if…else語句構(gòu)造了兩路分支的選擇結(jié)構(gòu),也是一種最基本的選擇結(jié)構(gòu)。如果“表達(dá)式”計(jì)算為真,執(zhí)行語句1;否則執(zhí)行語句2。其中“語句”部分可以是簡單語句或者復(fù)合語句。“表達(dá)式”可以是關(guān)系表達(dá)式、邏輯表達(dá)式,也可以是算術(shù)表達(dá)式。第16頁/共66頁(3)題目:從鍵盤上輸入兩個整數(shù)x和y,若x2+y2大于10,則輸出x2+y2個位上的數(shù)字,否則輸出兩數(shù)之和。
請畫出流程圖:由流程圖的思路,填寫程序。#include”stdio.h”main(){intx,y,s,l;printf(“請輸入2個整數(shù):”);
scanf(“%d%d”,&x,&y);s=x*x+y*y;if
{l=s%10;printf(“%d”,l);}elseprintf(“%d”,x+y);}(s>10)第17頁/共66頁4.認(rèn)識if…else…if語句(1)題目:輸入一個數(shù)x,如果x<1,則y=x;如果x>=10,則y=3x-10,否則,y=2x-1,輸出y的值。
該題將面臨幾種選擇?答:3種選擇。第18頁/共66頁(2)請觀察下面的流程圖,回答問題。x<1x>=10y=xy=2*x-1y=3*x-10①對照上圖形式在圖內(nèi)填空表達(dá)式1語句1語句2表達(dá)式3語句4真假真假真假真假
真假②根據(jù)上圖,寫出對應(yīng)的語句形式。if(表達(dá)式1)
語句1elseif()語句2elseif(表達(dá)式3)
else
語句4表達(dá)式2語句3表達(dá)式2語句3第19頁/共66頁(3)根據(jù)所得語句形式,填寫程序,并記錄上機(jī)調(diào)試結(jié)果。#include”stdio.h”main(){floatx,y;printf(“請輸入x的值:”);
scanf(“%f”,&x);if((x<1)
elseif(x>=10)y=3*x-10;else
printf(“y的值為:%.2f\n”,y);}請記錄上機(jī)調(diào)試結(jié)果:y=x;y=2*x-1;第20頁/共66頁知識盤點(diǎn):
if…else…if語句是通過一連串的判斷,來實(shí)現(xiàn)互斥分支,它排列了一系列的操作,每一種操作是在相應(yīng)的條件下才能執(zhí)行。該語句執(zhí)行時,依次對各個條件進(jìn)行判斷,符合某一條件,則轉(zhuǎn)去執(zhí)行該條件下的操作,其余部分被跳過;若無條件為真,就執(zhí)行最后一個else所指定的操作。第21頁/共66頁5.else與if的配對規(guī)則請觀察以下程序段和流程圖,完成問題。程序段:
if(x>7)if(x<13)printf(“l(fā)eft!\n”);elseprintf(“right!\n”);x>7x<13輸出left!輸出right!流程圖:x>7x<13輸出left!輸出right!真真假假真假真假第22頁/共66頁(1)判斷以上2個流程圖中,哪一個與程序段相吻合?為什么?答:根據(jù)else與if的配對規(guī)則,第二個圖與程序段相吻合。(2)寫出該程序段的運(yùn)行結(jié)果。X的取值運(yùn)行結(jié)果61218無結(jié)果left!right!第23頁/共66頁6.if語句的嵌套(1)按else與if的配對規(guī)則劃分下列關(guān)系。
if(條件1)if(條件2)
語句1else
語句2elseif(條件3)
語句3else
語句4第24頁/共66頁(2)題目:有一個函數(shù):-1(x<0)編程,輸入一個x值,
y=0(x=0)
1(x>0)
輸出y值。寫法1:
main(){intx,y;scanf(“%d”,&x);if(x<0)y=-1;elseif(x>0)y=1;elsey=0;printf(“x=%d,y=%d\n”,x,y);}原因:請判斷下列哪些寫法是正確的?為什么?正確。第25頁/共66頁寫法2:
if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;原因:寫法3:
y=-1;if(x!=0)if(x>0)y=1;elsey=0;原因:正確。不正確。第26頁/共66頁任務(wù)五考察switch語句#include”stdio.h”main(){chargrade;printf(“請輸入成績等級(A、B、C、D)\n”);grade=getchar();switch(grade){case’A’:printf(“優(yōu)秀\n”);break;case’B’:printf(“良好\n”);break;case’C’:printf(“及格\n”);break;case’D’:printf(“不及格\n”);break;default:printf(“輸入數(shù)據(jù)錯誤!\n”);}}switch語句部分流程圖:1.請閱讀下面的程序及流程圖,完成問題。優(yōu)秀良好及格不及格輸入數(shù)據(jù)錯誤grade‘A’‘B’‘C’‘D’default第27頁/共66頁(1)記錄上機(jī)調(diào)試運(yùn)行結(jié)果:(2)說明該程序的功能是什么?(3)思考:如果將程序段中的所有break語句去掉,輸入字符‘C’,運(yùn)行結(jié)果是什么?答:運(yùn)行結(jié)果為:及格不及格輸入數(shù)據(jù)錯誤!第28頁/共66頁知識盤點(diǎn):第29頁/共66頁2.請歸納switch語句的一般形式:第30頁/共66頁預(yù)期運(yùn)行結(jié)果:
B<CR>上機(jī)調(diào)試結(jié)果:及格第31頁/共66頁任務(wù)六分支的應(yīng)用第32頁/共66頁2.由上述分析,填寫下列流程圖。n<10n<100r=1.0r=0.9r=0.7真假真假真假n<50r=0.8第33頁/共66頁3.根據(jù)流程圖,填寫程序。4.請記錄上機(jī)調(diào)試結(jié)果:n<50r=0.8第34頁/共66頁模塊三循環(huán)程序結(jié)構(gòu)能力目標(biāo):正確認(rèn)識循環(huán)程序的執(zhí)行特點(diǎn)運(yùn)用3種循環(huán)語句(while語句、dowhile語句、for語句)進(jìn)行循環(huán)程序設(shè)計(jì)運(yùn)用2個循環(huán)輔助語句(break語句、continue語句),更好地控制程序流程第35頁/共66頁任務(wù)一認(rèn)識while語句1.初識while語句(1)思考:在程序設(shè)計(jì)中,通常會遇到輸出一個星號‘*’,可以用一個printf()語句,那么輸出5個星號‘*’、10個星號‘*’,甚至更多的星號‘*’,該如何處理呢?(2)觀察下面兩個程序,完成問題。程序一main(){printf(“*\n”);printf(“*\n”);printf(“*\n”);printf(“*\n”);printf(“*\n”);}程序二main(){inti=1;while(i++<=5)printf(“*\n”);}①上面兩個程序分別實(shí)現(xiàn)什么功能?②兩個程序中,哪一個簡便?在程序中能否用循環(huán)語句來實(shí)現(xiàn)對重復(fù)操作的控制?答:它們都實(shí)現(xiàn)輸出5個星號‘*’。答:程序二簡便,在程序中能用循環(huán)語句來實(shí)現(xiàn)對重復(fù)操作的控制。第36頁/共66頁2.學(xué)習(xí)while語句的形式(1)請觀察下面while語句的形式,完成問題。①兩條語句的關(guān)鍵字是什么?②關(guān)鍵字后的括號內(nèi)是什么表達(dá)式?③關(guān)鍵字后的語句部分可以是哪些語句?(2)試寫出while語句的一般形式。while關(guān)系表達(dá)式、邏輯表達(dá)式簡單語句、復(fù)合語句while(表達(dá)式)語句第37頁/共66頁3.學(xué)習(xí)while語句的執(zhí)行過程(1)請觀察while語句的流程,完成問題。表達(dá)式語句真假表達(dá)式②①第38頁/共66頁(2)請記錄該程序的上機(jī)調(diào)試結(jié)果,畫出以下程序的流程圖,并指出循環(huán)條件、循環(huán)體及循環(huán)控制變量的三個工作。請記錄上機(jī)調(diào)試結(jié)果:①流程圖:②循環(huán)條件是
循環(huán)體是
循環(huán)控制變量是
,3個工作分別是
、
、
。I<3printf(“%c\n”,ch);II=1I<3I++第39頁/共66頁(3)請觀察下面2個程序段,完成問題。語句一I=1;while(I++<=10)printf(“hello!\n”);語句二I=1;while(--I<=10)printf(“world!\n”);①判斷下面哪一個程序段是正確的?②循環(huán)控制變量更新的趨勢是什么?③程序在什么時候才能判斷循環(huán)是否終止?語句一讓循環(huán)條件為假判斷循環(huán)條件時第40頁/共66頁4.討論用while語句編程求1+2+…+10之和。(同時畫出該程序的流程圖)程序:流程圖:第41頁/共66頁知識盤點(diǎn):第42頁/共66頁任務(wù)二認(rèn)識do…while語句1.學(xué)習(xí)do…while語句的形式(2)試寫出do…while語句的一般形式。dowhilesum=sum+i;i=i+1;i<=10do{
}While(表達(dá)式);第43頁/共66頁2.學(xué)習(xí)do…while語句的執(zhí)行過程請觀察do…while語句的流程,完成問題。語句表達(dá)式真假語句表達(dá)式①第44頁/共66頁3.do…while語句與while語句的區(qū)別(2)由上述運(yùn)行結(jié)果看出,do…while語句與while語句的區(qū)別是什么?ABC*ABABC無結(jié)果答:當(dāng)?shù)冢贝螆?zhí)行循環(huán)體時,因?yàn)楸磉_(dá)式為“真”,兩種循環(huán)得到的結(jié)果相同;否則,二者結(jié)果就不同。(前提:二者循環(huán)體中的語句相同)第45頁/共66頁任務(wù)三認(rèn)識for語句1.學(xué)習(xí)for語句的形式答:輸入10個數(shù),并求這10個數(shù)的和。for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句第46頁/共66頁2.學(xué)習(xí)for語句的執(zhí)行過程請觀察for語句的流程,完成問題。表達(dá)式1表達(dá)式2語句表達(dá)式3真假③②④第47頁/共66頁3.討論for語句的靈活性(1)寫出以下程序段的運(yùn)行結(jié)果。(2)討論:在for語句的表達(dá)式1、表達(dá)式2、表達(dá)式3中可能會出現(xiàn)哪幾種情況?運(yùn)行結(jié)果:運(yùn)行結(jié)果:運(yùn)行結(jié)果:運(yùn)行結(jié)果:運(yùn)行結(jié)果:第48頁/共66頁4.運(yùn)用for語句編程編程求1×2×…×10之積。(同時畫出該程序的流程圖)程序:流程圖:第49頁/共66頁任務(wù)四
認(rèn)識循環(huán)嵌套1.學(xué)習(xí)循環(huán)嵌套的形式(1)請觀察下面兩個圖,完成問題。(b)圖第50頁/共66頁(2)閱讀信息,完成問題。信息:C語言提供的3種循環(huán)結(jié)構(gòu):whiledowhilefor都可以相互嵌套,自由組合。問題:在已有幾種循環(huán)嵌套形式后,補(bǔ)充3種合法的形式。嵌套形式:①while()②do{while(){do{}{}while();}}while();③④⑤for(;;)⑥{while(){}}第51頁/共66頁2.觀察二重循環(huán)(1)請閱讀程序,完成問題。①程序定義了哪些變量?②程序中采用幾重循環(huán)嵌套?③程序中外層循環(huán)為哪幾行?外層循環(huán)的循環(huán)體中有幾條語句?④程序中內(nèi)層循環(huán)為哪幾行?內(nèi)層循環(huán)的循環(huán)體中有幾條語句?答:兩個變量,m和n答:二重循環(huán)答:外層循環(huán)從7行到12行,外層循環(huán)的循環(huán)體中有2條語句。答:內(nèi)層循環(huán)從9行到10行,內(nèi)層循環(huán)的循環(huán)體中有1條語句。第52頁/共66頁(2)請觀察循環(huán)嵌套部分的流程,完成問題。
m=1m<=5n=1n<=5輸出m*nn++輸出'\n'm++真假真假for156第53頁/共66頁②完成下表。(該表給出了內(nèi)外層循環(huán)控制變量的變化情況)246810369121548121620510152025第54頁/共66頁(3)請閱讀程序,完成問題,并記錄上機(jī)調(diào)試結(jié)果。請記錄上機(jī)調(diào)試結(jié)果:請思考:為什么會出現(xiàn)這種結(jié)果?與上例程序有什么區(qū)別?第55頁/共66頁任務(wù)五認(rèn)識循環(huán)輔助語句:break語句和continue語句1.學(xué)習(xí)break語句(1)請閱讀程序,完成問題。①該程序for語句部分的循環(huán)體內(nèi)有幾條語句?②除了當(dāng)r>10時,可退出for循環(huán)外,是否有其他的方
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人股份代持與公司治理協(xié)議4篇
- 2025年度個人聯(lián)保借款合同金融科技試點(diǎn)版2篇
- 2025年度個人房產(chǎn)買賣合同附件清單范本3篇
- 二零二五年度美容院消防安全管理與應(yīng)急預(yù)案合同4篇
- 2025年度個人教育資助貸款延期合同4篇
- 二零二五年度新型門店合伙人收益分配管理合同4篇
- 2025年度汽車租賃保險(xiǎn)及理賠服務(wù)合同范本3篇
- 2024年中職學(xué)校教師個人工作計(jì)劃
- 花崗巖貼面施工方案
- 軸承密封套課程設(shè)計(jì)
- 【人教版】九年級化學(xué)上冊期末試卷及答案【【人教版】】
- 四年級數(shù)學(xué)上冊期末試卷及答案【可打印】
- 人教版四年級數(shù)學(xué)下冊課時作業(yè)本(含答案)
- 中小學(xué)人工智能教育方案
- 高三完形填空專項(xiàng)訓(xùn)練單選(部分答案)
- 護(hù)理查房高鉀血癥
- 項(xiàng)目監(jiān)理策劃方案匯報(bào)
- 《職業(yè)培訓(xùn)師的培訓(xùn)》課件
- 建筑企業(yè)新年開工儀式方案
- 營銷組織方案
- 初中英語閱讀理解專項(xiàng)練習(xí)26篇(含答案)
評論
0/150
提交評論