版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)知識(shí)點(diǎn)體系問(wèn)題的提出三種基本循環(huán)結(jié)構(gòu)循環(huán)控制語(yǔ)句循環(huán)嵌套循環(huán)應(yīng)用一、問(wèn)題的提出?如何計(jì)算1+2+3+…+10的和并輸出結(jié)果?讀者應(yīng)該已經(jīng)想到,將這10個(gè)數(shù)直接加起來(lái),輸出即可。那如何計(jì)算1+2+3+……+100這樣前100個(gè)自然數(shù)的和呢?void
main(){printf(“10自然數(shù)的和=%d”,1+2+3+4+5+6+7+8+9+10);}循環(huán)結(jié)構(gòu)一、問(wèn)題的提出?我們之所以感到計(jì)算機(jī)無(wú)所不能,是因?yàn)橛?jì)
算機(jī)能不厭其煩地重復(fù)執(zhí)行大量枯燥的工作。計(jì)數(shù)控制標(biāo)記控制循環(huán)結(jié)構(gòu)術(shù)語(yǔ)循環(huán)條件——結(jié)構(gòu)中的測(cè)試表達(dá)式循環(huán)體——每個(gè)循環(huán)周期均要執(zhí)行的語(yǔ)句序列循環(huán)控制變量——控制條件真/假值的變量。對(duì)循環(huán)控制變量應(yīng)做如下處理:賦初值;將其代入正確的循環(huán)條件;更新/調(diào)整【累加型】計(jì)算1+2+3+……+nsi
=
si-1
+
i【累乘型】計(jì)算n!=1
·
2·
3
·
… ·
npi
=
pi-1
·is=0;for(i=1;i<=n;i++)s
=
s
+
i
;p=1;for(i=1;i<=n;i++)p
=
p
*
i
;注意:整型定義為long
或unsigned
long
型智人之法:歸納法(遞推法)循環(huán)結(jié)構(gòu)的應(yīng)用場(chǎng)合1*1+2*2+3*3=?s=1*1+2*2+…s=1*1+2*2+3*3…+100*1001*1+2*2+……+99*99+100*100=?for(i=1,s=0;i<=100;i++)s
+=
i*i
;二、循環(huán)結(jié)構(gòu)的分類循環(huán)的概念:條件成立,重復(fù)執(zhí)行某些步驟。C語(yǔ)言循環(huán)結(jié)構(gòu)分成三種:當(dāng)型循環(huán)
直到型循環(huán)for循環(huán)(本質(zhì)上也屬于當(dāng)型循環(huán))二、當(dāng)型循環(huán)結(jié)構(gòu)的流程圖假循環(huán)條件真AcD循環(huán)體二、當(dāng)型循環(huán)結(jié)構(gòu)的語(yǔ)法格式while(循環(huán)條件){循環(huán)體;}while(i<=5){sum=sum+i;i=i+1;}i<=5sum=sum+ii=i+1NOYES二、當(dāng)型循環(huán)結(jié)構(gòu)(1+2+3+4+5)while(i<=5){sum=sum+i;i=i+1;
}
void
main(){int
i,sum;sum=0;i=1;printf(“%d”,sum);}輸出sum開(kāi)始sum=0i=1i<=5sum=sum+ii=i+1YES結(jié)束NOi為循環(huán)變量二、當(dāng)型循環(huán)結(jié)構(gòu)_循環(huán)執(zhí)行過(guò)程#include
<stdio.h>void
main(){int
i,sum;sum=0;i=1;while(i<=5){sum=sum+i;i=i+1;}printf(“%d”,sum);}sumi循環(huán)前:01第1次循環(huán)后:12第2次循環(huán)后:33第3次循環(huán)后:64第4次循環(huán)后:105第5次循環(huán)后:156如何求解1+4+7+10+13+16;三、直到型循環(huán)結(jié)構(gòu)的流程圖件PAc假條真D循環(huán)條件循環(huán)體三、直到型循環(huán)結(jié)構(gòu)的語(yǔ)法格式do{循環(huán)體;}while(循環(huán)條件);i<=5sum=sum+ii=i+1NOYESdo{sum=sum+i;i=i+1;}
while(i<=5);三、直到型循環(huán)結(jié)構(gòu)(1+2+3+4+5)開(kāi)始sum=0i=1sum=sum+ii=i+1輸出sum結(jié)束NOi<=5YES#include
<stdio.h>void
main(){int
i,sum;sum=0;i=1;do{sum=sum+i;i=i+1;}
while(i<=5);printf(“%d”,sum);}四、for循環(huán)結(jié)構(gòu)的流程圖句假表達(dá)式2真語(yǔ) 塊ScD表達(dá)式1表達(dá)式3for
(表達(dá)式1;
表達(dá)式2;表達(dá)式3){語(yǔ)語(yǔ)句句;;}首先執(zhí)行表達(dá)式1。如果表達(dá)式2的值為非0,就重復(fù)執(zhí)行語(yǔ)句和表達(dá)式3,直到表達(dá)式2的值為0時(shí)止循環(huán)起始條件循環(huán)結(jié)束條件循環(huán)增量四、for循環(huán)結(jié)構(gòu)的語(yǔ)法格式四、for循環(huán)結(jié)構(gòu)的語(yǔ)法格式for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語(yǔ)句塊S;表達(dá)式1表達(dá)式2語(yǔ)句塊S表達(dá)式3YESNOfor(i=1;i<=5;i++){sum=sum+i;}i=1i<=5sum=sum+i;i++四、for循環(huán)結(jié)構(gòu)(1+2+3+4+5)輸出sum開(kāi)始sum=0i=1i=i+1i<=5YESsum=sum+i結(jié)束NOfor(i=1;i<=5;i=i+1){sum=sum+i;}#include
<stdio.h>void
main(){int
i,sum;sum=0;printf(“%d”,sum);}四、for循環(huán)語(yǔ)句與while循環(huán)語(yǔ)句的區(qū)別(1+2+3+4+5)i=1;while(i<=5){sum=sum+i;i=i+1;}#include
<stdio.h>void
main(){int
i,sum;sum=0;printf(“%d”,sum);}for(i=1;i<=5;i++){sum=sum+i;}#include
<stdio.h>void
main(){int
i,sum;sum=0;printf(“%d”,sum);}真正的累加算法并沒(méi)有改變,只是表達(dá)方式有點(diǎn)區(qū)別。for循環(huán)語(yǔ)句是
C的特色,表達(dá)方式簡(jiǎn)潔。for循環(huán)結(jié)構(gòu)本質(zhì)上也是當(dāng)型循環(huán)結(jié)構(gòu)。for循環(huán)說(shuō)明:最簡(jiǎn)單的應(yīng)用形式:
for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值)語(yǔ)句例如:for(i=1;i<=10;i++)s=s*i;三個(gè)表達(dá)式均可缺省,但起分割作用的兩個(gè)分號(hào)不可省。例如:for(
;
;
)
等效于
while(1)表達(dá)式1省略,應(yīng)在for之前對(duì)循環(huán)變量賦初值i=1;for(;i<=5;i++)printf(“%d\n”,i);for(i=1;i<=5;i++)printf(“%d\n”,i);表達(dá)式2省略,則不判斷條件,循環(huán)無(wú)終止進(jìn)行下去表達(dá)式3省略,則應(yīng)另設(shè)法保證循環(huán)的結(jié)束此功能一定在循環(huán)體中完成例:for(i=1;i<=5;)
{printf(“%d\n”,i);i++;}(3)表達(dá)式1和表達(dá)式3可為逗號(hào)表達(dá)式,因此可以對(duì)多個(gè)變量賦初值及修改例如:for(i=1,j=10;i<=j;i++,j--)k=i+j;原則上表達(dá)式2不可省略,若省略需要在循環(huán)體中用其它手段(break、goto等)結(jié)束循環(huán)。(4)for語(yǔ)句的循環(huán)體還可為另一個(gè)循環(huán)語(yǔ)句for(i=1;i<=2;i++)for(j=1;j<=2;j++){printf(“%3d”,i+j);printf(“\n”);}output:
2334例如:【例】while和do-while循環(huán)的比較(1)
void
main(){int
i,sum=0;scanf("%d",&i);while(i<=10){sum=sum+i;i++;}printf(“sum=%d\n”,sum);}(2)void
main(){int
i,sum=0;scanf("%d",&i);do{sum=sum+i;i++;}while(i<=10);printf("sum=%d\n",sum);}循環(huán)至少執(zhí)行一次循環(huán)沒(méi)有被執(zhí)行輸入:12輸出:
sum=12輸入:12輸出:
sum=0三種循環(huán)語(yǔ)句的比較for
語(yǔ)句與while語(yǔ)句執(zhí)行過(guò)程相同,但for語(yǔ)句簡(jiǎn)潔、清晰,它將初始條件、判斷條件和循環(huán)變量的在一行書寫,顯得直觀、明了。while和do-while語(yǔ)句的循環(huán)控制變量初始化是在循環(huán)語(yǔ)句之前完成,而for語(yǔ)句循環(huán)變量的初始化是在for中(表達(dá)式1)中,也可以在for語(yǔ)句前實(shí)現(xiàn)。for語(yǔ)句和while語(yǔ)句是判斷條件后執(zhí)行循環(huán)體;而do-while是先執(zhí)行循環(huán)體后判斷條件,無(wú)論條件是否滿足都要執(zhí)行一次循環(huán)體。選擇三種循環(huán)的一般原則如果循環(huán)次數(shù)已知,用for如果循環(huán)次數(shù)未知,用while如果循環(huán)體至少要執(zhí)行一次,用do-while這只是“一般”原則,不是“原則”注意在for和while語(yǔ)句之后一般沒(méi)有分號(hào)有分號(hào)表示循環(huán)體就是分號(hào)之前的內(nèi)容(空循環(huán)體)while
(i
<
100);i++;for
(i
=
0;
i
<
100;
i++);printf("%d",
i);for通常有一個(gè)循環(huán)變量控制循環(huán)的次數(shù),不要在循環(huán)體內(nèi)改變這個(gè)變量四、啟發(fā)式教學(xué)for(i=1;i<=5;i++){sum=sum+i;}printf(“%d”,sum);#include
<stdio.h>void
main(){int
i,sum;sum=0;}for(i=1;i<=100;i++)問(wèn)題1:程序功能是什么?for(i=1;i<=100;i+=2)問(wèn)題2:程序功能是什么?for(i=30;i<=100;i+=2)問(wèn)題3:程序功能是什么?問(wèn)題4:循環(huán)體一共執(zhí)行了多少次?四、循環(huán)知識(shí)點(diǎn)總結(jié)分析:①
在解決問(wèn)題前,首先需要找出前后通項(xiàng)之間的遞推關(guān)系;②
在循環(huán)中,寫出遞推表達(dá)式,然后累加或累乘到結(jié)果變量中。對(duì)于如下的表達(dá)式:①累加和表達(dá)式:x1+x2+x3+…+xn②累乘表達(dá)式:t1*t2*t3*…*tn說(shuō)明:①其中需要累加的項(xiàng)xi或累乘的項(xiàng)ti稱為通項(xiàng)。②上述問(wèn)題通常采用循環(huán)算法解決。③累加和的循環(huán)表達(dá)式通常寫成:sum=sum+xi④累乘的循環(huán)表達(dá)式通常寫成:term=term*ti四、啟發(fā)式教學(xué)①如何求2+22+222+……(p94_13)term=1;for(m=1;m<=k;m++)term=term*m;此程序段的功能是什么?假真break表達(dá)式1真表達(dá)式2假循環(huán)語(yǔ)句的下一條語(yǔ)句循環(huán)語(yǔ)句的下一條語(yǔ)句假表達(dá)式1真表達(dá)式2假真continue五、循環(huán)輔助語(yǔ)句break
statementprintf(“Input
a
value
between
1
–
7:
”);scanf(“%d”,&value);for
(i =
1;
i
<=
7;
i++){if
(
i
==
value
)break;printf(“\n%d”,i);}printf(“I’m
out
of
the
loop!\n”);value???ii
<=
7i
==
valueInput
a
value
between
1-7:
_Input
a
value
between
1-7:
411
<=
7
true1
==
4
false4Input
a
value
between
1-7:
4122
<=
7
true2
==
4
falseInput
a
value
between
1-7:
41233
<=
7
true3
==
4
falseInput
a
value
between
1-7:
412344
<=
7
true4
==
4
trueInput
a
value
between
1-7:
5123
I’m
out
of
the
loop!Nowbrweahka?t
can退出一yo層u
循環(huán)
con或cluswdeitcahbout
break?continue
statementExample:for
(
i
=
0;
i
<=
5;
i++
){if
(
i
%
2
)continue;elseprintf(“%d
is
an
even
number.
”,
i);printf(“Print
iff
even
!
\n”);}i_00
<=
5
true01
<=
5
true12
<=
5
true3
<=
5
true4
<=
5
true5
<=
5
true1234101i
<=
5
i
%
26
<=
5
false
00
is
an
even
number._0is
an
even
number.
iff
even
!_0is
an
even
number.
iff
even
!2
is
an
even
number._0is
an
even
number.
iff
even
!2is
an
even
number.
iff
even
!_0is
an
even
number.
iff
even
!2is
an
even
number.
iff
even
!4
is
an
even
number._0is
an
even
number.
iff
even
!2is
an
even
number.
iff
even
!4is
an
even
number.
iff
even
!_Nowcownhtaint
ucaen?you中c斷on此c次lu循de環(huán)a體bo的ut執(zhí)行,co開(kāi)nt始in下ue一?次56#include
<stdio.h>main(){int
i,
n;for
(i=1;
i<=5;
i++){printf("Please
enter
n:");scanf("%d",
&n);if
(n
<
0)break;printf("n
=
%d\n",
n);}printf("Program
is
over!\n");}Please
enter
n:10↙n
=
10Please
enter
n:
-10↙Program
is
over!break語(yǔ)句的用法#include
<stdio.h>main(){int
i,
n;er
n:");for
(i=1;
i<=5;
i++){printf("Please
entscanf("%d",
&n);if
(n
<
0)continue;printf("n
=
%d\n",
n);}printf("Program
is
over!\n");}Please
enter
n:
10↙n=10Please
enter
n:-10↙Please
enter
n:
20↙n=20Please
enter
n:-20↙Please
enter
n:
30↙n=30Program
is
over!continue語(yǔ)句的用法說(shuō)明:1、break語(yǔ)句可用于switch語(yǔ)句結(jié)構(gòu)中也可用于循環(huán)中。2、continue語(yǔ)句只可用于循環(huán)中。3、在循環(huán)嵌套中break與continue都只影響包含它的那層循環(huán)4、少用為妙習(xí)題:選擇下面程序的運(yùn)行結(jié)果#include
<stdio.h>void
main(void){inti;for(i=1;i<=5;i++){if(i%2)
printf("*");else
continue;printf("#");}printf("$\n");}A)*#*#*#$B)#*#*#*$C)*#*#$D)#*#*$一般形式:語(yǔ)句標(biāo)號(hào);goto……語(yǔ)句標(biāo)號(hào):……或語(yǔ)句標(biāo)號(hào):…………goto語(yǔ)句標(biāo)號(hào);goto語(yǔ)句void
main(){int
i,s;i=1;s=0;loop: /*標(biāo)號(hào)作用*/if(i<=100){s+=i;++i;gotoloop;}printf("%d\n",s);}5050通常goto語(yǔ)句與
if條件語(yǔ)句連用【例】用goto語(yǔ)句求s=1+2+3……100是goto的過(guò)錯(cuò)?還是程序員的過(guò)錯(cuò)?/*被goto跳過(guò)*/破壞了結(jié)構(gòu)化設(shè)計(jì)風(fēng)格容易帶來(lái)錯(cuò)誤隱患goto
next;int
sum
=
0;…next:Evil
goto’s
?
Maybe
Not…凌波微步,未必摔跤現(xiàn)代觀點(diǎn)認(rèn)為:混亂根源不在goto,而在標(biāo)號(hào)任何程序都可以不用goto就實(shí)現(xiàn)其功能但在某些情況下,使用goto可以讓程序更清晰兩種適合使用goto的情況跳向共同的出口位置,進(jìn)行退出前的處理工作跳出多重循環(huán)的一條捷徑{…{…goto
error;}}使用goto的原則主張少用、慎用,而不是禁用保證使用之后,程序仍然是單入口,單出口不要使用一個(gè)以上的標(biāo)號(hào)不要讓goto制造出永遠(yuǎn)不會(huì)被執(zhí)行的代碼六、循環(huán)嵌套內(nèi)循環(huán)交叉循環(huán)外循環(huán)入口內(nèi)循環(huán)出口內(nèi)循環(huán)出口外循環(huán)外循環(huán)出口六、循環(huán)嵌套嵌套循環(huán)的概念:一個(gè)循環(huán)結(jié)構(gòu),完整地包含在另一個(gè)循環(huán)結(jié)構(gòu)中。嵌套循環(huán):for(…){….for(…){….}…..}內(nèi)循環(huán)外循環(huán)六、循環(huán)嵌套執(zhí)行過(guò)程for(i=3;i<=6;i+=2)for(j=12;j<=38;j+=13)printf(("%d,%d\n",i,j);i=3j=12j=25j=38j=12j=25j=38i=5i=3j=12j=j+13i<=6YESNONOj<=38YES輸出i,ji=i+2退出雙重循環(huán)循環(huán)嵌套在循環(huán)體中,又包含有循環(huán)結(jié)構(gòu)即構(gòu)成循環(huán)嵌套1
2
3
4
5
6
7
8
9--------------------------------------12
43
6
94
8
12
165
10
15
20
256
12
18
24
30
367
14
21
28
35
42
498
16
24
32
40
48
56
649
18
27
36
45
54
63
72
81行循環(huán)中包含列循環(huán)輸出下三角形乘法九九表例7
8
9-------------3
6
9491
2
3------------12
44
8
125
10
156
12
184
5
6-------------1620
2524
30
367
16243240489
182736455456
6463
72
81思路:行號(hào)為i,列號(hào)為j(1<=i<=9)(1<=j<=i)則:第i行中一共要輸出i
個(gè)乘積i=7j=5i*j#include
<stdio.h>void
main
(
){
int
i=1,
j;while
(i
<=
9
)printf
("%4d",i++);/*i:行計(jì)數(shù)器
j:列計(jì)數(shù)器
*//*
控制打印表頭*/printf("\n----------------------------------\n");for
(i=1;i<=9;i++)
/*
行循環(huán)入口*/計(jì)數(shù)器置1
*/{j=1;while(j<=i
)/*嵌套的內(nèi)循環(huán)。輸出第i行*//*輸出乘積*//*
列計(jì)數(shù)器+1
*/{printf
(“%4d”,
i*j);j
++;}printf
("\n");/*
一行輸出結(jié)束后,輸出\n
*/}}打印九九乘法表(三角形)內(nèi)循環(huán)終值與外循環(huán)變量有/*
列關(guān)用for語(yǔ)句實(shí)現(xiàn)打印乘法九九表(三角形)#include
<stdio.h>void
main
(
){
int
i,j;for
(
i=1;
i<10;
i++
)printf
(“%4d”,i);
/*
打印表頭*/printf
("\n--------------------------\n");for(i=1;
i<10;
i++)
/*
控制打印表體*/j<=i;for
(
j=1; j++
)printf
(
(j==i)
?
"%4d\n":"%4d",i*j);}若要打印完整的九九乘法表,則哪里需要修改?七、循環(huán)應(yīng)用_【案例】(研究性教學(xué)、計(jì)算思維)【案例】求1!+2!+3!+……+n!分析:該問(wèn)題本質(zhì)上是求累加和,所以通過(guò)循環(huán)求出每一通項(xiàng)的值,然后將其累加到累加和上。如何求出通項(xiàng)的值?有2種方法。七、循環(huán)應(yīng)用【案例】求1!+2!+3!+……+n!(第一種解決方案)term=1;for(j=1;j<=i;j++)term=term*j;sum=sum+term;#include<stdio.h>void
main(){int
i,j,n;float
term,sum;scanf("%d",&n);sum=0;for(i=1;i<=n;i++){}printf("n=%d,sum=%f",n,sum);}七、循環(huán)應(yīng)用【案例】求1!+2!+3!+……+n!(第二種解決方案)term=term*i;
//i!=(i-1)!*i;遞推關(guān)系
sum=sum+term;#include<stdio.h>void
main(){int
i,j,n;float
term,sum;scanf("%d",&n);sum=0;term=1;for(i=1;i<=n;i++){}printf("n=%d,sum=%f",n,sum);}比較其時(shí)間效率例:打印出所有的“水仙花數(shù)”(一個(gè)3位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。153=13+53+33)#include
"stdio.h"void
main(
){
int
i,j,k,n;for
(n=100;n<1000;n++){
i=n/100;j=n/10-i*10;k=n%10;/*百位數(shù)*//*十位數(shù)*//*個(gè)位數(shù)*/if(n==i*i*i+j*j*j+k*k*k)printf("%d\n",n);
}}【案例】設(shè)計(jì)一個(gè)程序,輸入一個(gè)n位數(shù)(n>=3),將各數(shù)字分開(kāi),并按其反序輸出。分析:問(wèn)題的關(guān)鍵是如何將一個(gè)數(shù)字的各位分開(kāi)?如1234,將其分解成1,2,3,4。初值:step1:x0=1234r1=x0%10
=
4x1=x0/10
=
123r2=x1%10
=
3x2=x1/10
=
12r3=x2%10
=
2x3=x2/10
=
1r4=x3%10
=
1x4=x3/10
=
0step2:step3:step4:程序:#include<stdio.h>void
main(){int
x,r;scanf("%d",&x);while(x!=0){r=x%10;x=x/10;printf("%d",r);}printf("\n");}遞推公式:運(yùn)行結(jié)果輸入一個(gè)整數(shù):5353443535【案例】編一程序求出滿足不等式的最小n值。分析:此題不等式左邊和式中的數(shù)據(jù)項(xiàng)(求和項(xiàng))個(gè)數(shù)是未知的,也正是需要求出的的n。因此用while循環(huán)比較方便。對(duì)于和式中的每個(gè)數(shù)據(jù)項(xiàng)(求和項(xiàng)),i=1,2,...n,可采用循環(huán)累加的方法來(lái)計(jì)算出不等式的和。設(shè)循環(huán)變量為i,它應(yīng)從1開(kāi)始取值,每次增加1,直到不等式的值不小于5為止,此時(shí)的i值就是所求的n。設(shè)累加和用變量s表示12
31
1n1
+
+
+
+
?
5采用while循環(huán)編寫出程序如下:#include<stdio.h>void
main(){int
i=0;double
s=0;while(s<5)s=s
+
1.0/++i;printf("n=%d\n",i);}采用for循環(huán)編寫程序,則如下所示:#include<stdio.h>void
main(){int
i;double
s=0;for(i=1;
s<5;
i++)s+=1.0/i;printf("n=%d\n",i-1);/*注意:此i-1的值為所求的n值*/}該程序的輸出結(jié)果應(yīng)為:n=83八、循環(huán)的綜合應(yīng)用_邏輯推理問(wèn)題【案例】(誰(shuí)做的好事)已知有有四位同學(xué)中的一位做了好事,不留名,表?yè)P(yáng)信來(lái)了之后,校長(zhǎng)問(wèn)這四位是誰(shuí)做的好事。A說(shuō):不是我。
B說(shuō):是C。C說(shuō):是D。D說(shuō):他胡說(shuō)。已知三個(gè)人說(shuō)的是真話,一個(gè)人說(shuō)的是假話。現(xiàn)在要根據(jù)這些信息,找出做了好事的人。循環(huán)的綜合應(yīng)用_邏輯推理問(wèn)題1.算法分析⑴我們把四個(gè)人說(shuō)的四句話寫成關(guān)系表達(dá)式。四個(gè)人分別用’A’、’B’、’C’、’D’表示(必須用4個(gè)連續(xù)常數(shù)表示,也可以是1、2、3、4)。定義變量thisman表示做好事的人。將相關(guān)的陳述寫成關(guān)系表達(dá)式和邏輯表達(dá)式四個(gè)人說(shuō)的話關(guān)系表達(dá)式A說(shuō):不是我。thisman!=‘A’B說(shuō):是C。thisman==‘C’C說(shuō):是D。thisman==‘D’D說(shuō):他胡說(shuō)。thisman!=‘D’循環(huán)的綜合應(yīng)用_邏輯推理問(wèn)題⑵關(guān)系表達(dá)式的計(jì)算結(jié)果只有0(假)和1(真)兩種結(jié)果?,F(xiàn)在“已知三個(gè)人說(shuō)的是真話,一個(gè)人說(shuō)假話”,也就是表中的4個(gè)關(guān)系表達(dá)式中有3個(gè)是真的,1個(gè)是假的。因此4個(gè)關(guān)系表達(dá)式的值的和應(yīng)該等于3。定義變量cond表示四個(gè)關(guān)系表達(dá)式的和:cond=(thisman!='A')+(thisman=='C')+(thisman=='D')+(thisman!='D');那么,cond==3循環(huán)的綜合應(yīng)用_邏輯推理問(wèn)題⑶窮舉試探。我們現(xiàn)在并不知道是誰(shuí)做的好事,但我們知道做好事的人是A,B,C,D四個(gè)人中的某一個(gè)。因此,我們可以一個(gè)一個(gè)地試探。
先假設(shè)是A做的好事,即thisman=‘A’,然后看
cond==3條件是否成立,然后再假設(shè)是B做的好事,即
thisman=‘B’,再測(cè)試條件cond==3是否成立,如此繼續(xù)下去,將所有可能的情況(本例有4種情況)都測(cè)試一遍,在實(shí)際編程過(guò)程中,都是使用循環(huán)來(lái)一個(gè)一個(gè)的測(cè)試循環(huán)的綜合應(yīng)用_邏輯推理問(wèn)題#include<stdio.h>void
main(){char
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人教學(xué)工作計(jì)劃2022年生物
- 大學(xué)學(xué)習(xí)計(jì)劃3篇
- 個(gè)人銷售工作計(jì)劃展望7篇
- 銷售合同范文集合7篇
- 小學(xué)生鑒定評(píng)語(yǔ)(集合15篇)
- 2022年小班教師保教工作計(jì)劃
- 積木課程設(shè)計(jì)課教案
- 防治工作計(jì)劃模板集合7篇
- 九年級(jí)下冊(cè)數(shù)學(xué)教學(xué)工作計(jì)劃四篇
- 信達(dá)商社2025年度策略報(bào)告:景區(qū)板塊有望迎來(lái)新一輪產(chǎn)能擴(kuò)張政策利好+線下零售調(diào)改帶來(lái)行業(yè)性變革機(jī)遇
- 員工流動(dòng)式管理培訓(xùn)方案
- 小學(xué)數(shù)學(xué)名師工作室培養(yǎng)方案
- 初中科學(xué)公式大全
- 學(xué)校矛盾糾紛化解工作方案
- 展廳展板安裝方案范本
- 觀賞魚產(chǎn)業(yè)實(shí)施方案
- 有關(guān)新加坡公司治理的思考
- 大概念教學(xué)讀書分享
- 駕駛員資格申請(qǐng)表
- Module 6 Unit1 Can I have some sweets (說(shuō)課稿)外研版(三起)英語(yǔ)四年級(jí)上冊(cè)
- 主要負(fù)責(zé)人重大隱患帶隊(duì)檢查表
評(píng)論
0/150
提交評(píng)論