版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
程序流程控制C語(yǔ)言是一種結(jié)構(gòu)化、模塊化的通用程序設(shè)計(jì)語(yǔ)言。通過對(duì)程序流程控制的學(xué)習(xí),建立運(yùn)用3種基本結(jié)構(gòu)(順序結(jié)構(gòu)、分支結(jié)構(gòu)、選擇結(jié)構(gòu))進(jìn)行編程的思想。模塊一順序程序設(shè)計(jì)能力目標(biāo):正確認(rèn)識(shí)順序結(jié)構(gòu)的執(zhí)行特點(diǎn)根據(jù)流程圖,寫出相應(yīng)的程序進(jìn)行順序程序的設(shè)計(jì)任務(wù)一考察順序結(jié)構(gòu)的執(zhí)行特點(diǎn)請(qǐng)觀察下面的流程圖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);}在寫程序中,注意流程線的方向。在程序中,正確定義變量。順序結(jié)構(gòu)的執(zhí)行特點(diǎn):程序按照語(yǔ)句從上到下的排列順序依次執(zhí)行,每條語(yǔ)句必須執(zhí)行且只能執(zhí)行一次。知識(shí)盤點(diǎn):任務(wù)二熟悉順序程序2.根據(jù)流程圖,完成C程序。#include”stdio.h”main(){charch1,ch2;printf(“請(qǐng)輸入一個(gè)大寫字母:”);ch1=getchar();ch2=ch1+32;printf(“相應(yīng)的小寫字母為:”);putchar(ch2);}3.如果輸入的字符不是大字字母,這樣的轉(zhuǎn)換還有意義嗎?怎樣才能避免輸入非大寫字母?請(qǐng)看題目:輸入一個(gè)大寫字母,轉(zhuǎn)換成小寫字母輸出。1.填寫流程圖開始輸入大寫字母ch1ch2=ch1+32輸出小寫字母ch2結(jié)束答:這樣的轉(zhuǎn)換沒有意義,如果要避免輸入非大寫字母,可以在轉(zhuǎn)換前加一個(gè)是否是大寫字線的判斷。模塊二分支程序設(shè)計(jì)能力目標(biāo):根據(jù)實(shí)際問題,正確書寫關(guān)系、邏輯表達(dá)式正確認(rèn)識(shí)分支結(jié)構(gòu)的執(zhí)行特點(diǎn)運(yùn)用if語(yǔ)句的3種形式及switch語(yǔ)句進(jìn)行分支程序的設(shè)計(jì)任務(wù)一認(rèn)識(shí)關(guān)系運(yùn)算符和關(guān)系表達(dá)式1.觀察C語(yǔ)言提供的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);}請(qǐng)記錄運(yùn)行結(jié)果:真=1,假=03.完成下表:表達(dá)式表達(dá)式的值表達(dá)式的結(jié)果-3+1-22+7*323真a=001==00假真假任務(wù)二認(rèn)識(shí)邏輯運(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知識(shí)盤點(diǎn):邏輯運(yùn)算符的概念邏輯運(yùn)算符的優(yōu)先級(jí)邏輯表達(dá)式的概念任務(wù)三書寫關(guān)系、邏輯表達(dá)式1.寫出判斷一個(gè)字符是否是空白符(‘\t’、’\n’、’’)的邏輯表達(dá)式:(ch==‘‘)||(ch==‘\n’)||(ch==‘\t’)2.寫出判斷某一年是否為閏年的邏輯表達(dá)式。(1)分析:閏年的條件是符合下列2個(gè)條件之一:能被4整除,但不能被100整除;能被400整除(2)請(qǐng)分別寫出2個(gè)條件的邏輯表達(dá)式:year%4==0&&year%100!=0year%400==0(3)如果將2個(gè)邏輯表達(dá)式合并為一個(gè)式子,該如何寫?(year%4==0&&year%100!=0)||(year%400==0)任務(wù)四考察條件控制語(yǔ)句if語(yǔ)句1.考察分支結(jié)構(gòu)的執(zhí)行特點(diǎn)請(qǐng)觀察下面的流程圖:開始輸入一個(gè)正整數(shù)xx%6==0輸出“yes!”輸出“no!”結(jié)束該流程圖中,根據(jù)其真假使流程分支的判斷條件是什么?該流程圖所表示的程序功能是什么?答:x%6==0答:判斷一個(gè)正整數(shù)是否是6的倍數(shù)。2.認(rèn)識(shí)if語(yǔ)句(第一種形式)(1)請(qǐng)觀察下面的流程圖:x>0x=x+1該圖用if語(yǔ)句表示為:if(x>0)x=x+1;(2)試寫出if語(yǔ)句的一般形式:(3)歸納if語(yǔ)句的流程圖:表達(dá)式語(yǔ)句if(表達(dá)式)語(yǔ)句知識(shí)盤點(diǎn):3.認(rèn)識(shí)if…else語(yǔ)句(第二種形式)(1)請(qǐng)觀察下面的流程圖:x>0y=xy=-x
真假該流程圖表示的意思是什么?(2)if…else語(yǔ)句的形式:if(表達(dá)式)語(yǔ)句1else語(yǔ)句2(3)請(qǐng)?zhí)顚懥鞒虉D:
真假語(yǔ)句1答:求x的絕對(duì)值。表達(dá)式語(yǔ)句2知識(shí)盤點(diǎn):if…else語(yǔ)句構(gòu)造了兩路分支的選擇結(jié)構(gòu),也是一種最基本的選擇結(jié)構(gòu)。如果“表達(dá)式”計(jì)算為真,執(zhí)行語(yǔ)句1;否則執(zhí)行語(yǔ)句2。其中“語(yǔ)句”部分可以是簡(jiǎn)單語(yǔ)句或者復(fù)合語(yǔ)句?!氨磉_(dá)式”可以是關(guān)系表達(dá)式、邏輯表達(dá)式,也可以是算術(shù)表達(dá)式。4.認(rèn)識(shí)if…else…if語(yǔ)句(1)題目:輸入一個(gè)數(shù)x,如果x<1,則y=x;如果x>=10,則y=3x-10,否則,y=2x-1,輸出y的值。
該題將面臨幾種選擇?答:3種選擇。(2)請(qǐng)觀察下面的流程圖,回答問題。x<1x>=10y=xy=2*x-1y=3*x-10①對(duì)照上圖形式在圖內(nèi)填空表達(dá)式1語(yǔ)句1語(yǔ)句2表達(dá)式3語(yǔ)句4真假真假真假真假真假②根據(jù)上圖,寫出對(duì)應(yīng)的語(yǔ)句形式。if(表達(dá)式1)語(yǔ)句1elseif()語(yǔ)句2elseif(表達(dá)式3)
else語(yǔ)句4表達(dá)式2語(yǔ)句3表達(dá)式2語(yǔ)句3(3)根據(jù)所得語(yǔ)句形式,填寫程序,并記錄上機(jī)調(diào)試結(jié)果。#include”stdio.h”main(){floatx,y;printf(“請(qǐng)輸入x的值:”);scanf(“%f”,&x);if((x<1)
elseif(x>=10)y=3*x-10;else
printf(“y的值為:%.2f\n”,y);}請(qǐng)記錄上機(jī)調(diào)試結(jié)果:y=x;y=2*x-1;知識(shí)盤點(diǎn):
if…else…if語(yǔ)句是通過一連串的判斷,來實(shí)現(xiàn)互斥分支,它排列了一系列的操作,每一種操作是在相應(yīng)的條件下才能執(zhí)行。該語(yǔ)句執(zhí)行時(shí),依次對(duì)各個(gè)條件進(jìn)行判斷,符合某一條件,則轉(zhuǎn)去執(zhí)行該條件下的操作,其余部分被跳過;若無條件為真,就執(zhí)行最后一個(gè)else所指定的操作。5.else與if的配對(duì)規(guī)則請(qǐng)觀察以下程序段和流程圖,完成問題。程序段:if(x>7)if(x<13)printf(“l(fā)eft!\n”);elseprintf(“right!\n”);x>7x<13輸出left!輸出right!流程圖:x>7x<13輸出left!輸出right!真真假假真假真假(1)判斷以上2個(gè)流程圖中,哪一個(gè)與程序段相吻合?為什么?答:根據(jù)else與if的配對(duì)規(guī)則,第二個(gè)圖與程序段相吻合。(2)寫出該程序段的運(yùn)行結(jié)果。X的取值運(yùn)行結(jié)果61218無結(jié)果left!right!(2)題目:有一個(gè)函數(shù):-1(x<0)編程,輸入一個(gè)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);}原因:請(qǐng)判斷下列哪些寫法是正確的?為什么?正確。寫法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;原因:正確。不正確。(1)記錄上機(jī)調(diào)試運(yùn)行結(jié)果:(2)說明該程序的功能是什么?(3)思考:如果將程序段中的所有break語(yǔ)句去掉,輸入字符‘C’,運(yùn)行結(jié)果是什么?答:運(yùn)行結(jié)果為:及格不及格輸入數(shù)據(jù)錯(cuò)誤!知識(shí)盤點(diǎn):2.請(qǐng)歸納switch語(yǔ)句的一般形式:預(yù)期運(yùn)行結(jié)果:B<CR>上機(jī)調(diào)試結(jié)果:及格任務(wù)六分支的應(yīng)用2.由上述分析,填寫下列流程圖。n<10n<100r=1.0r=0.9r=0.7真假真假真假n<50r=0.83.根據(jù)流程圖,填寫程序。4.請(qǐng)記錄上機(jī)調(diào)試結(jié)果:n<50r=0.8模塊三循環(huán)程序結(jié)構(gòu)能力目標(biāo):正確認(rèn)識(shí)循環(huán)程序的執(zhí)行特點(diǎn)運(yùn)用3種循環(huán)語(yǔ)句(while語(yǔ)句、dowhile語(yǔ)句、for語(yǔ)句)進(jìn)行循環(huán)程序設(shè)計(jì)運(yùn)用2個(gè)循環(huán)輔助語(yǔ)句(break語(yǔ)句、continue語(yǔ)句),更好地控制程序流程任務(wù)一認(rèn)識(shí)while語(yǔ)句1.初識(shí)while語(yǔ)句(1)思考:在程序設(shè)計(jì)中,通常會(huì)遇到輸出一個(gè)星號(hào)‘*’,可以用一個(gè)printf()語(yǔ)句,那么輸出5個(gè)星號(hào)‘*’、10個(gè)星號(hào)‘*’,甚至更多的星號(hào)‘*’,該如何處理呢?(2)觀察下面兩個(gè)程序,完成問題。程序一main(){printf(“*\n”);printf(“*\n”);printf(“*\n”);printf(“*\n”);printf(“*\n”);}程序二main(){inti=1;while(i++<=5)printf(“*\n”);}①上面兩個(gè)程序分別實(shí)現(xiàn)什么功能?②兩個(gè)程序中,哪一個(gè)簡(jiǎn)便?在程序中能否用循環(huán)語(yǔ)句來實(shí)現(xiàn)對(duì)重復(fù)操作的控制?答:它們都實(shí)現(xiàn)輸出5個(gè)星號(hào)‘*’。答:程序二簡(jiǎn)便,在程序中能用循環(huán)語(yǔ)句來實(shí)現(xiàn)對(duì)重復(fù)操作的控制。2.學(xué)習(xí)while語(yǔ)句的形式(1)請(qǐng)觀察下面while語(yǔ)句的形式,完成問題。①兩條語(yǔ)句的關(guān)鍵字是什么?②關(guān)鍵字后的括號(hào)內(nèi)是什么表達(dá)式?③關(guān)鍵字后的語(yǔ)句部分可以是哪些語(yǔ)句?(2)試寫出while語(yǔ)句的一般形式。while關(guān)系表達(dá)式、邏輯表達(dá)式簡(jiǎn)單語(yǔ)句、復(fù)合語(yǔ)句while(表達(dá)式)語(yǔ)句3.學(xué)習(xí)while語(yǔ)句的執(zhí)行過程(1)請(qǐng)觀察while語(yǔ)句的流程,完成問題。表達(dá)式語(yǔ)句真假表達(dá)式②①(2)請(qǐng)記錄該程序的上機(jī)調(diào)試結(jié)果,畫出以下程序的流程圖,并指出循環(huán)條件、循環(huán)體及循環(huán)控制變量的三個(gè)工作。請(qǐng)記錄上機(jī)調(diào)試結(jié)果:①流程圖:②循環(huán)條件是
循環(huán)體是
循環(huán)控制變量是
,3個(gè)工作分別是
、
、
。I<3printf(“%c\n”,ch);II=1I<3I++(3)請(qǐng)觀察下面2個(gè)程序段,完成問題。語(yǔ)句一I=1;while(I++<=10)printf(“hello!\n”);語(yǔ)句二I=1;while(--I<=10)printf(“world!\n”);①判斷下面哪一個(gè)程序段是正確的?②循環(huán)控制變量更新的趨勢(shì)是什么?③程序在什么時(shí)候才能判斷循環(huán)是否終止?語(yǔ)句一讓循環(huán)條件為假判斷循環(huán)條件時(shí)4.討論用while語(yǔ)句編程求1+2+…+10之和。(同時(shí)畫出該程序的流程圖)程序:流程圖:知識(shí)盤點(diǎn):任務(wù)二認(rèn)識(shí)do…while語(yǔ)句1.學(xué)習(xí)do…while語(yǔ)句的形式(2)試寫出do…while語(yǔ)句的一般形式。dowhilesum=sum+i;i=i+1;i<=10do{}While(表達(dá)式);2.學(xué)習(xí)do…while語(yǔ)句的執(zhí)行過程請(qǐng)觀察do…while語(yǔ)句的流程,完成問題。語(yǔ)句表達(dá)式真假語(yǔ)句表達(dá)式①3.do…while語(yǔ)句與while語(yǔ)句的區(qū)別(2)由上述運(yùn)行結(jié)果看出,do…while語(yǔ)句與while語(yǔ)句的區(qū)別是什么?ABC*ABABC無結(jié)果答:當(dāng)?shù)冢贝螆?zhí)行循環(huán)體時(shí),因?yàn)楸磉_(dá)式為“真”,兩種循環(huán)得到的結(jié)果相同;否則,二者結(jié)果就不同。(前提:二者循環(huán)體中的語(yǔ)句相同)任務(wù)三認(rèn)識(shí)for語(yǔ)句1.學(xué)習(xí)for語(yǔ)句的形式答:輸入10個(gè)數(shù),并求這10個(gè)數(shù)的和。for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語(yǔ)句2.學(xué)習(xí)for語(yǔ)句的執(zhí)行過程請(qǐng)觀察for語(yǔ)句的流程,完成問題。表達(dá)式1表達(dá)式2語(yǔ)句表達(dá)式3真假③②④3.討論for語(yǔ)句的靈活性(1)寫出以下程序段的運(yùn)行結(jié)果。(2)討論:在for語(yǔ)句的表達(dá)式1、表達(dá)式2、表達(dá)式3中可能會(huì)出現(xiàn)哪幾種情況?運(yùn)行結(jié)果:運(yùn)行結(jié)果:運(yùn)行結(jié)果:運(yùn)行結(jié)果:運(yùn)行結(jié)果:4.運(yùn)用for語(yǔ)句編程編程求1×2×…×10之積。(同時(shí)畫出該程序的流程圖)程序:流程圖:任務(wù)四
認(rèn)識(shí)循環(huán)嵌套1.學(xué)習(xí)循環(huán)嵌套的形式(1)請(qǐng)觀察下面兩個(gè)圖,完成問題。(b)圖(2)閱讀信息,完成問題。信息:C語(yǔ)言提供的3種循環(huán)結(jié)構(gòu):whiledowhilefor都可以相互嵌套,自由組合。問題:在已有幾種循環(huán)嵌套形式后,補(bǔ)充3種合法的形式。嵌套形式:①while()②do{while(){do{}{}while();}}while();③④⑤for(;;)⑥{while(){}}2.觀察二重循環(huán)(1)請(qǐng)閱讀程序,完成問題。①程序定義了哪些變量?②程序中采用幾重循環(huán)嵌套?③程序中外層循環(huán)為哪幾行?外層循環(huán)的循環(huán)體中有幾條語(yǔ)句?④程序中內(nèi)層循環(huán)為哪幾行??jī)?nèi)層循環(huán)的循環(huán)體中有幾條語(yǔ)句?答:兩個(gè)變量,m和n答:二重循環(huán)答:外層循環(huán)從7行到12行,外層循環(huán)的循環(huán)體中有2條語(yǔ)句。答:內(nèi)層循環(huán)從9行到10行,內(nèi)層循環(huán)的循環(huán)體中有1條語(yǔ)句。(2)請(qǐng)觀察循環(huán)嵌套部分的流程,完成問題。
m=1m<=5n=1n<=5輸出m*nn++輸出'\n'm++真假真假for156②完成下表。(該表給出了內(nèi)外層循環(huán)控制變量的變化情況)246810369121548121620510152025(3)請(qǐng)閱讀程序,完成問題,并記錄上機(jī)調(diào)試結(jié)果。請(qǐng)記錄上機(jī)調(diào)試結(jié)果:請(qǐng)思考:為什么會(huì)出現(xiàn)這種結(jié)果?與上例程序有什么區(qū)別?任務(wù)五認(rèn)識(shí)循環(huán)輔助語(yǔ)句:break語(yǔ)句和continue語(yǔ)句1.學(xué)習(xí)break語(yǔ)句(1)請(qǐng)閱讀程序,完成問題。①該程序for語(yǔ)句部分的循環(huán)體內(nèi)有幾條語(yǔ)句?②除了當(dāng)r>10時(shí),可退出for循環(huán)外,是否有其他的方式退出for循環(huán)?3條語(yǔ)句。答:可以通過當(dāng)V>100.0時(shí),執(zhí)行break語(yǔ)句退出循環(huán)。(2)請(qǐng)觀察該程序for語(yǔ)句部分的流程,完成問題。r=1V=PI*r*r*hr<=10V>100.0輸出V
r++真
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版學(xué)校食堂肉類食材采購(gòu)及食品安全風(fēng)險(xiǎn)評(píng)估與培訓(xùn)服務(wù)合同3篇
- 二零二五年度高端定制家具采購(gòu)合同范本9篇
- 2025版小區(qū)停車場(chǎng)租賃合同附停車場(chǎng)升級(jí)改造及智慧化服務(wù)協(xié)議3篇
- 二零二五版鍋爐采購(gòu)、安裝及智能化節(jié)能系統(tǒng)合同3篇
- 2025年度美容行業(yè)美容院美容產(chǎn)品品牌推廣合同范本4篇
- 全新2025年度技術(shù)咨詢合同3篇
- 2025版團(tuán)購(gòu)業(yè)務(wù)金融風(fēng)險(xiǎn)管理合同3篇
- 公共基礎(chǔ)-2021年試驗(yàn)檢測(cè)師《公共基礎(chǔ)》真題
- 土壤生物技術(shù)改良策略考核試卷
- 居民健康自我管理培訓(xùn)考核試卷
- 2024版塑料購(gòu)銷合同范本買賣
- JJF 2184-2025電子計(jì)價(jià)秤型式評(píng)價(jià)大綱(試行)
- GB/T 44890-2024行政許可工作規(guī)范
- 2024年安徽省中考數(shù)學(xué)試卷含答案
- 2025屆山東省德州市物理高三第一學(xué)期期末調(diào)研模擬試題含解析
- 2024年滬教版一年級(jí)上學(xué)期語(yǔ)文期末復(fù)習(xí)習(xí)題
- 兩人退股協(xié)議書范文合伙人簽字
- 2024版【人教精通版】小學(xué)英語(yǔ)六年級(jí)下冊(cè)全冊(cè)教案
- 汽車噴漆勞務(wù)外包合同范本
- 2024年重慶南開(融僑)中學(xué)中考三模英語(yǔ)試題含答案
- 2023年最新的校長(zhǎng)給教師春節(jié)祝福語(yǔ)
評(píng)論
0/150
提交評(píng)論