1.2.3循环语句(2)

1.2.3循环语句(2)
1.2.3循环语句(2)

1.2.3循环语句(2)

教学目标:了解条件语句,进一步体会算法的条件分支结构

教学重点:了解条件语句,进一步体会算法的条件分支结构

教学过程:

1.for 循环

for 循环用得最多,也是最灵活的循环语句。要学好它,需要从已经学过的while循环的身上,“挖掘”出有关循环流程的要素,这些要素隐藏在while,或do...while的背后,但它将直接体现在for循环的结构上。

(1)循环条件三要素

学习了两种循环,我们来挖掘一下循环流程中的“条件三要素”。

第一、条件一般需要进行一定的初始化操作。

请看我们用while循环实现1到100累加的代码:

sum = 0;

i =0

while i* i<= 100, sum = sum+ i; I=i+1;end

这段代码中,循环的条件是i <= 100;因此,一开始,i肯定需要一个确定的值。前面的:i = 0;这一行代码,在声明变量i的同时,也为i赋了初始值:1。这样,条件i <= 100 得以成立(因为i为1,所以i <= 100 当然成立)。

第二、循环需要有结束的机会。

程序中最忌“死循环”。所谓的“死循环”就是指该循环条件永远为真,并且,没有另外的跳出循环的机会(后面将学到)。

第三、在循环中改变循环条件的成立因素

这一条和第二条互相配套。

(2)三要素在for循环结构上体现

for 循环的语法:

for(条件初始化:条件:条件改变)

需要循环执行的语句;

end

可见,for的结构中,不仅提供了的“条件”的位置,同时也提供了条件初始化,和条件改变的位置。这三者虽然在同一行上,但并不是依次连接地执行。

条件初始化的表达式首先被执行(并且只被执行一次);

然后程序检查条件是否成立,如果成立就执行循环体中的语句,否则直接结束循环。

执行完一遍循环以后,程序执行“条件改变”语句。

1到100整数累加的程序,改为for循环写,是最合适的了:

sum = 0;

for i=1:1:100

sum=sum+i;

end

for 语句的复合结构,使得程序变得简捷。比如上面的例子中,原来while或者do...while 结构中,循环体内必须两句语句,现在只需一句.

题一:用for循环在屏幕上逐行输出数字:1~200。

分析:这需要一个变量,其值从1变到200,并且每变一次新值,就用print 语句在屏幕上输出其值。

题二:6能被1、2、3、6整除,这些数称为6的因子,请循环列出36的所有因子。

分析:求36的因子,就是求1~36中哪些整数可以整除36。

2.多层循环

有些问题需要多层循环嵌套才能解决。

继续分析一些题目:

题三:输出以下内容,要求使用两种方法,第一种方法采用单层循环,第二种方法采用双层循环。

123

456

789

方法一:

分析:单层循环的思路是:从1输出到9,并且,每当输出三个数字时,多输出一个换行符。方法二:

分析:双层循环的思路是:输出三行,每行输出三个数字。

题四:请用输出以下内容:

1

12

123

1234

12345

123456

1234567

12345678

123456789

这道题目,除非跟自已过不去,否则没有人会非要硬去用一层循环来实现。本题使用双层循环来实现实为最佳方法。

分析:外层循环用于控制输出9行;内层循环用于输出每行的数字。每一行都是从1开始,但第一行输出1个数字,第二行输出2个,第三行输出3个……

题五:请输出以下九九口诀表:

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=12 4*4=16

1*5=5 2*5=10 3*5=15 4*5=20 5*5=25

1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36

1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49

1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=24 7*8=56 8*8=64

1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=36 7*9=63 8*9=72 9*9=81

分析:你可以看出,本题和题四有很大的类似,都是要输出一个“三角形”(严格说是梯形?),所以解题思路也大致一样:输出九行。

课堂练习:第30页,练习A,练习B

小结:本节介绍循环语句及其简单应用

课后作业:第31页,习题1-2B第3、4、5、题(机上作业)

《循环语句》同步练习1(人教B版必修3)

《循环语句》复习班测试题 一.选择题(40分) 1.下面程序段 int k=2; while (k=0) {printf(“%d”,k);k--;} 则下面描述中正确的是C。 A)while循环执行10次B)循环是无限循环 C)循环题语句一次也不执行D)循环体语句执行一次 2.下列表达式中,( B )不满足“当x的值为偶数时值为真,为奇数时值为假”的要求。 A)x%2==0 B)!x%2!=0 C)(x/2*2-x)==0 D)!(x%2) 3.以下程序段的循环次数是 B 。 for (i=2; i==0; ) printf(“%d” , i--) ; A)无限次B)0次C)1次D)2次 4.下列关于break语句的叙述不正确的是(C) A break语句可用在循环体中,它将使执行流程跳出本层循环体。 B break语句可用在switch语句中,它将使执行流程跳出当前switch语句。 C break语句可用在if语句中,它将使执行流程跳出当前if语句。 D break语句在一层循环体中可以多次出现。 5.下面程序的输出结果是。 main (B ) { int x=9; for (; x>0; x--) { if (x%3==0) { printf(“%d”,--x); continue ; } } } A)741 B)852 C)963 D)875421 6.以下不是死循环的程序段是。D A)int i=100; B)for ( ; ; ) ; while (1) { i=i%100+1 ; if (i>100) break ; } C)int k=0; D)int s=36; do { ++k; } while (k>=0); while (s) ; --s ; 7.下述程序段的运行结果是 C 。

c语言循环语句和循环控制例题解析

一、循环控制 (一)、break语句 break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。break在switch中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。 当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。 例如: int main(int argc, char *argv[]) { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) break; /*如果i等于51,则跳出循环*/ sn+=i; /*1+2+……+50*/ } printf(%d\n,sn); } 可以看出,最终的结果是1+2+……+50。因为在i等于51的时候,就跳出循环了。自己写写怎样在while和do--while循环中增加break语句。 注意: 1. break语句对if-else的条件语句不起作用。 2. 在多层循环中,一个break语句只向外跳一层。 例如: int main(int argc, char *argv[]) { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) { if(j==2) break; printf(%d %d\n,i,j); } } 输出结果为: i j 0 0 0 1 1 0 1 1 当i==0,j==2时,执行break语句,跳出到外层的循环,i变为1。 (二)、continue语句

高中数学必修三《循环语句》教学设计

(封面) 高中数学必修三《循环语句》教学设计 授课学科: 授课年级: 授课教师: 授课时间: XX学校

高中数学必修三《循环语句》教案 一、课前分析 教学内容:FOR/NEXT循环语句。 1、教材分析 1)教学内容和地位:程序设计是教学中的重点也是难点,循环结构是其中的一种设计结构,其作用是使一段程序反复执行。FOR/NEXT语句是循环运算的专家,在程序设计中频繁出现。本节课的学习,会使学生对算法有一个更深刻的理解,为实现独立编程起到了关键性作用。 2)教学重点与难点:本节课重点是掌握FOR/NEXT循环语句的格式,并能运用其来编制简单的小程序。难点是解决问题的方法和思路,要绘制好流程图,确定循环变量和循环体。因为用流程图描述算法,能够把解决问题的步骤清晰、直观地表示出来。 2、教学目标分析: 1)认知目标:通过FOR/NEXT语句的学习,写出简单的循环程序。 2)能力目标:培养学生分析问题,解决问题的能力。 3)情感目标:激发学生学习热情,培养学生学习的积极性。 二、教学过程 1、创设问题情境 师:同学们,请先看这个图形(画5个竖行排列的“*”),想想看用以前学过的程序设计语言怎样来编写它的程序呢?(本节程序均设置为 单击命令按钮cmdstart运行即代码加在private sub cmdstart_click()) 生(稍做思考,然后回答):使用PRINT语句

PRINT “*” PRINT “*” PRINT “*” PRINT “*” PRINT “*” 师:同学们做得很好,那么,我想画10行,100行,1000行“*”呢?难道就这样顺序写下去吗?这样编写是不是太繁琐了。如果能让计算机去完成这部分重复的内容,而我们只要告诉计算机重复操作的次数就可以了,这个愿望能否实现呢?能!通过我们今天学习的FOR/NEXT循环语句,就可以很容易的实现这个愿望。 [疑问是建构教学的起点。新课伊始,就提出一个真实的问题,力求创设一种教学情境,它可以激起学生的未知欲,有利于建立新的认识结构。] 2、给出程序,并通过流程图加以理解 师出示上题程序代码并通过流程图和卡通图片分析 程序代码: cls for I=1 to 5 step 1 print”*” next 师:循环结构也称重复结构,它的作用是使一段程序能重复执行,被重复执行的部分称为循环体。但重复一般都是有条件的,即在满足

5条件语句和循环语句

第二、三课时 1.2.2-1.2.3条件语句和循环语句 教学目标: 知识与技能 (1)正确理解条件语句和循环语句的概念,并掌握其结构的区别与联系。 (2)会应用条件语句和循环语句编写程序。 过程与方法 经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力 情感态度与价值观 了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用。深刻体会到循环语句在解决大量重复问题中起重要作用。减少大量繁琐的计算。通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力。 重点与难点 重点:条件语句和循环语句的步骤、结构及功能。 难点:会编写程序中的条件语句和循环语句。 学法与教学用具 计算机、图形计算器 教学设想

【创设情境】 试求自然数1+2+3+……+99+100的和。 显然大家都能准确地口算出它的答案:5050。而能不能将这项计算工作交给计算机来完成呢?而要编程,以我们前面所学的输入、输出语句和赋值语句还不能满足“我们日益增长的物质需要”,因此,还需要进一步学习基本算法语句中的另外两种:条件语句和循环语句(板出课题) 【探究新知】 (一)条件语句 算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句。它的一般格式是:(IF-THEN-ELSE 格式) 当计算机执行上述语句时,首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句1,否则执行ELSE 后的语句2。其对应的程序框图为:(如上右图)

在某些情况下,也可以只使用IF-THEN 语句:(即IF-THEN 格式) 计算机执行这种形式的条件语句时,也是首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。其对应的程序框图为:(如上右图) 条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。 【例题精析】 〖例1〗:编写程序,输入一元二次方程20ax bx c ++=的系数,输出它的实数根。 分析:先把解决问题的思路用程序框图表示出来,然后再根据程序框图给 出的算法步骤,逐步把算法用对应的程序语句表达出来。 IF 条件 THEN 语句

人教版高中数学全套试题123循环语句

1-2-3循环语句 一、选择题 1.下列对WHILE语句说法不正确的是() A.当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体 B.当条件不符合时,计算机不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句 C.WHILE型语句结构也叫当型循环 D.当型循环有时也称为“后测试型”循环 [答案]D 2.如图所示的四个框图,其中是WHILE语句结构的是()

C ]答案[ [解析]WHILE语句先判断后执行排除A、D,当条件满足时执行循环体,排除B. 3.下列说法正确的是() A.当型(WHILE)循环结构不能转化为直到型(UNTIL)循环结构B.当型(WHILE)循环结构先执行循环体,后判断条件 C.当型(WHILE)循环结构先判断条件,后执行循环体 D.以上说法都不正确 [答案]C [解析]当型循环是先判断条件后再决定是否执行循环体,直到型循环是先执行循环体,后判断条件,它们之间可以进行转化,故选C. 4.下列需用循环语句编写程序的是() 2-3x的值x A.输入的值,输出y=x,>04,xx-??的值,输出对应的函数值输入x B.y=?,≤0+1,xx-??C.求x的立方根

D.求5+6+7+8+…+101的值 [答案]D 5.下列程序的功能是() S=1 i=1 WHILE S<=2012 i=i+2 S=S×i WEND i PRINT. END A.计算1+3+5+…+2012 B.计算×3×5×…×2012 C.求方程1×3×5×…×i=2012中的i值 D.求满足1×3×5×…×i>2012的最小整数i [答案]D [解析]执行该程序可知S=1×3×5×…×i,当S≤2012开始不成立,即S>2012开始成立时,输出i,则求满足1×3×5×…×i>2012的最小整数i. 6.下图所示的程序运行后,输出的i的值等于() i=0

高中数学程序框图,算法语言

基本算法语句 【基础知识】 1.输入、输出语句 输入语句INPUT 对应框图中表示输入的平行四边形框 输出语句PRINT 对应框图中表示输出的平行四边形框 2.赋值语句 格式为变量=表达式,对应框图中表示赋值的矩形框 3.条件语句一般有两种:IF—THEN语句;IF—THEN—ELSE语句.语句格式及对应框图如下.(1)IF—THEN—ELSE格式 当计算机执行这种形式的条件语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体1,否则执行ELSE后的语句体2. (2)IF—THEN格式 4.算法中的循环结构是由循环语句来实现的.对应于程序框图中的两种循环结构,一般程序设计语言中有当型(WHILE型)和直到型(UNTIL型)两种语句结构,即WHILE语句和UNTIL语句. (1)WHILE语句 (2)UNTIL语句 5. ......................................巧是把题目中的算法语言依照上面的对应关系翻译成框图。 .....解决算法语言试题的基本技 ..温馨提示: 【例题分析】

考点一 输入、输出和赋值语句的应用 例1 分别写出下列语句描述的算法的输出结果: (1) a =5 b =3 c =(a +b )/2 d =c*c PRINT “d =”;d (2) a =1 b =2 c =a +b b =a +c -b PRINT “a =,b =,c =”;a ,b ,c 【解答】 (1)∵a =5,b =3,c =a +b 2 =4, ∴d =c 2=16,即输出d =16. (2)∵a =1,b =2,c =a +b ,∴c =3,又∵b =a +c -b , 即b =1+3-2=2,∴a =1,b =2,c =3, 即输出a =1,b =2,c =3. 练习1 请写出下面运算输出的结果__________. a =10 b =20 c =30 a = b b =c c =a PRINT “a =,b =,c =”;a ,b ,c 【解答】经过语句a =b ,b =c 后,b 的值赋给a ,c 的值赋给b ,即a =20,b =30,再经过语句c =a 后,a 的当前值20赋给c ,∴c =20.故输出结果a =20,b =30,c =20. 考点二 条件语句的应用 例2 阅读下面的程序,当分别输入x =2,x =1,x =0时,输出的y 值分别为________、________、________. INPUT “x =”;x IF x>1 THEN y =1/(x -1) ELSE IF x =1 THEN y =x^2 ELSE y =x^2+1/(x -1) END IF END IF PRINT y END 【解答】计算机执行这种形式的条件语句时,是首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句;如果条件不符合,则直接结束该条件语句,转而执行其他语句,嵌套时注意内外分层,避免逻辑混乱.

高考数学总复习 123 循环语句 新人教版

【优化总结】2013高考数学总复习 1-2-3 循环语句新人教版1.下列关于当型循环与直到型循环的说法不.正确的是( ) A.当型循环先判断后执行,直到型循环先执行后判断 B.当型循环用WHILE语句,直到型循环用UNTIL语句 C.对同一算法来说,当型循环与直到型循环互为反条件 D.无论用哪种循环语句编写程序,循环体都至少循环一次 解析:A、B、C正好是当型循环与直到型循环的区别,都正确,而D项在当型循环中由于先判断,后执行,故可能循环体不循环一次,程序就结束了,故选D. 答案:D 2.有以下程序段,其中描述正确的是( ) k=8 WHILE k=0 k=k+1 WEND A.WHILE循环执行10次 B.循环体是无限循环 C.循环体语句一次也不执行 D.循环体语句只执行一次 解析:由于k=8不满足WHILE后面的条件k=0,所以循环体语句一次也不执行,故选C. 答案:C 3.下面的程序运行后,输出的结果为( ) i=1 DO s=2*i-1 i=i+2 LOOP UNTIL i>=7 PRINT s,i END

A.13,7 B.7,4 C.9,7 D.9,5 解析:s=2×1-1=1时,i=1+2=3;s=2×3-1=5时,i=3+2=5;s=2×5-1=9时,i=5+2=7,所以s=9,i=7. 答案:C 4.如果以下程序运行结果为240,那么在程序中WHILE后面的“表达式”应为i>________. i=16 S=1 WEILE i> S=S*i i=i-1 WEND PRINT S END 解析:该程序使用了WHILE循环语句,当表达式为真时,执行循环体;当表达式为假时,退出循环,由于输出的结果为240=16×15,所以执行了两次循环,因此表达式应为i>14. 答案:14 5.下面的程序,若输入a=3,b=-1,n=5,则输出的是________. INPUT “a=”;a INPUT “b=”;b INPUT “n=”;n i=1 DO c=a+b a=b b=c i=i+1 LOOP UNTIL i>n-2 PRINT “c=”;c END 解析:当i=1时,c=2,a=-1,b=2; 当i=2时,c=1,a=2,b=1; 当i=3时,c=3,a=1,b=3;

C语言练习2(选择和循环结构)

C语言(分支和循环结构) 一、选择题 1.以下程序输出结果是( ) main() { int m=5; if(m++>5) printf("%d\n",m); else printf("%d\n",m--);} A)7 B)6 C)5 D)4 2以下程序的输出结果为( ) # include main ( ) { int i=0, j=0, a=6; if ((++i>0)&&(++j>0)) a++; printf ("i=%d, j=%d, a=%d\n", i,j,a);} A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=7 3有如下程序 main() { int a=2,b=-1,c=2; if(a

4若i为int型,且有程序如下,则输出结果是( ) i=111; if(i%3==0) printf("####"); printf("****"); A) #### B) **** C) ####**** D) 无输出结果 5若运行时x=12,则运行结果为( ) {int x, y; scanf("%d", &x); y=x>12 ? x+10:x-12; printf("%d\n", y);} A) 0 B) 22 C) 12 D) 10 6以下程序的输出结果是( ) main() { int i=0, j=0, k=6; if ((++i>0)||(++j>0)) k++; printf("%d, %d, %d\n", i, j, k); } A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 7 7若变量都已正确说明,则以下程序段输出为( ) int a=1,b=2,c=3; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c);

人教A版高中数学必修三第一章1.2.3循环语句 同步训练(2)(I)卷

人教A版高中数学必修三第一章1.2.3循环语句同步训练(2)(I)卷 姓名:________ 班级:________ 成绩:________ 一、单选题 (共6题;共12分) 1. (2分)右图给出的是计算的值的一个程序框图,其中判断框内应填入的条件是() A . i>9 B . i>12 C . i>11 D . i>10 2. (2分)如图给出的是计算的值的一个程序框图,则判断框内应填入的条件是()

A . i≤1007 B . i≤1008 C . D . i>1007 3. (2分)在UNTIL语句的一般形式“LOOP UNTIL M”中,M表示() A . 循环变量 B . 循环体 C . 终止条件 D . 终止条件为真 4. (2分)阅读下列程序: 若输入5,则程序运行的结果为() A . 1 B . 10 C . 25 D . 26 5. (2分)在输入语句中,若同时输入多个变量,则变量之间的分隔符号是() A . 逗号

B . 空格 C . 分号 D . 顿号 6. (2分)下列程序若输出的结果为3,则输入的x值可能是() INPUT “x=”;x y=x*x+2*x PRINT y END A . 1 B . -3 C . -1 D . 1或-3 二、填空题 (共4题;共4分) 7. (1分)(2019·通州模拟) 如图是一个算法的伪代码,若输入的值为3时,则输出的的值为________. 8. (1分)判断输入的任意整数x的奇偶性,填空: INPUT x m=x MOD2

IF________THEN PRINT x是偶数 ELSE PRINT x是奇数 END IF END 9. (1分)给出一个算法: Read x If x≤0,Then f(x)←4x Else f(x)←2x End,If Print,f(x) 根据以上算法,可求得f(﹣1)+f(2)=________ 10. (1分)当执行完程序语句“wjilei<=10”后,i的值变为________ 三、解答题 (共3题;共20分) 11. (5分)设个人月收入在5000元以内的个人所得税档次为(单位:元):

循环语句习题选

循环语句习题选 1. 一个自然数与3的和是5的倍数,与3的差是6的倍数,这个自然数最小是几? [ 27 ] 2. 在400--500之间求一个数,它被2除余1,被5除余3,被9除余1,这个数是多少? [ 433 ] 3. 一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几? [ 9366, 1362 ] 4. 编程求一个四位自然数ABCD,它乘以A后变成DCBA. [ 共10个] 5. 编程求出满足以下条件的三位数:它除以11所得的商等于它各位数字之和. [ 198 ] 6. 由计算机产生五个互不相同的19到87之间的随机整数(包括19,不包括87),从中找出所有的三个数之和能被3整除的数组,并按如下格式打印出来. 例如: 42 24 34 51 52 42 + 24 + 51 = 117 = 3 * 39 [ 87年北京市小学组初赛] 7. 某数被80除所得的商,不但是7的倍数,而且用2,3,4,5,6去除余数都是1,求这个自然数. [ 24080 ] 8. 有一种最简真分数,它们的分子与分母的乘积都是140,把所有这样的真分数从小到大打印出来. [ 1/140 ; 4/35 ; 5/28 ; 7/20 ] 9. 求把2/7化为小数后,小数点后面1001位数字总和是多少? [ 4505 ] 10. 一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数. [ 14285 ] 11. 有一个六位数,其个位数字是7,现将个位数字移到首位,而其余各位数字不变,均后退一位,得到一个新的六位数,如果新的六位数是原六位数的四倍,求原来的六位数. [179487 ] 12.一个自然数的个位数字是6,如果把这个位数字移到首位,所得到的数是原数的4倍,求这个自然数. [ 153846 ] 13. 某数的末位数字是2,将2移到首位,所得到的新数正好是原数的2倍,求满足条件的最小数. [ 105263157894736842 ] 14. 有一个六位数,第一位是1,如果把它移到个位,新的六位数正好是原数的三倍,求原来的六位数. [ 142857 ] 15. 已知一个正整数的个位数字是7,将7移到该数字的首位,其他数字顺序不变, 则所得到的新数恰好是原数的7倍,编程找出满足上述要求的最小的自然数. [ 1014492753623188405797 ] 16. 一辆以固定速度行驶得汽车,司机从里程表上看到的数字是一个回文数

简单的C语言选择与循环结构10个编程练习题.

简单的C语言选择与循环结构10个编程练习题 1、以下程序的输出结果是___________________: # include void main(){ int k; for (k=2;k<6;k++,k++) printf(“##%d”,k); } 2、以下程序的输出结果是___________________: # include void main(){ int y=9; for( ; y>4 ; y- -) if (y % 3 == 0) printf(“%d”,- -y); } 3、以下程序的输出结果是___________________: #include main( ) { char c1, c2; for(c1=’0’,c2=’9’;c1

1,(x>0) 6.用if语句编程,从键盘输入一个x,计算y值 y= 0,(x=0)。 -1,(x<0) 7、求sum=52+72+92+……+152 8、求sum=1/5+1/6+1/7+1/8+…+1/15 9、编写程序(提示字符变量ch从’C’到字符’N’),输出CDEFGHIJKLMN 10、打印九九表(提示:用双重循环,关键代码:printf("%d*%d=%-d",i,j,i*j);/*-3d表示左对齐,占3位*/): 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 …… 9*1=9 9*2=18 ………………9*9=81

苏教版数学高一必修三 作业 1.3.4循环语句

一、填空题 1.下面语句输出的结果是________. Read n i←1 While i≤n If Mod(n,i)=0 Then Print i End If i←i+1 End While 解析:该算法功能是输出n的所有正约数. 答案:n的所有正约数 2.以下伪代码运行结果t=________. t←1 For i From 2 To 5 t←t×i End For Print t 解析:由条件i From 2 To 5知共循环4次. 第一次循环t←1×2=2, 第二次循环t←2×3=6, 第三次循环t←6×4=24, 第四次循环t←24×5=120. 故运行结果为120. 答案:120 3.下列求1×3×5×…×99的值的四个算法中正确的有() ①S←1 For i From 1 To 99 step 2 S←S×i End For Print S ② S←1 For k From 1 To 99 step 1 S←S×k End For Print S

③S←1 i←1 While i<99 S←S×i i←i+2 End While Print S ④ S←1 i←1 While i≤99 S←S×i i←i+2 End While Print S 解析:由循环语句的含义可知①④正确.②为1×2×3×…×99的算法,③为1×3×5…×97的算法. 答案:①④ 4.(2012·金华高一检测)如果下列伪代码运行后输出的结果是720,则在横线处应填入的正整数为________. t←10 S←1 Do S←S×t t←t-1 Until t<____ End Do Print S 解析:依题意需计算10×9×8,该循环体共执行了三次,当完成S←S×8后应结束循环,因此在横线处应填8. 答案:8 5.下列伪代码运行后输出的结果为________. i←1 While i<8 i←i+2 S←2i+3 i←i-1 End While Print S 解析:最后一次执行循环体时, S←2×(7+2)+3=21.

C语言习题:顺序、选择、循环

顺序结构程序设计 2.3.1 要点导读 () 与scanf()语句。 printf() 与scanf()语句是最通用的输入输出函数,它们可以在程序设计者的控制下以各种格式分别实现数据的输出和输入操作。它们位于库文件中。 2.字符数据的输入输出。 最简单的字符输入输出函数是getchar()和putchar()。两者分别从键盘读一个字符或向显示屏写一个字符。 2.3.2 经典例题分析 1.下列程序运行后输出的结果是。 #include <> void main() 、 { int a=0,b=0; a=10; b=20; printf(“a+b=%d”,a+b); } 分析:printf( )是输出函数,它的括号内由两部分组成: 1)控制字符串,是用双引号括起来的字符串,它包括两种信息: (1) 格式说明。由”%”和格式字符组成,如:%d、%f、%c等。它的作用是将输出 的数据转换成指定的格式输出。 (2) 普通字符。需要原样输出的字符。 - 2)”输出表列”是需要输出的一些数据,可以是表达式。 题目中a的值是10,b的值是20,在 printf(“a+b=%d”,a+b); 格式说明输出表列 中,”a+b= “是普通字符,需原样输出。输出表列是一个表达式,它的结果以整型输出。 答案:a+b=30。 2.下列程序运行后输出的结果是。

#include <> void main() { int a=732; ) printf(“%d\n”,a); printf(“%2d\n”,a); printf(“%10d\n”,a); printf(“%-10d\n”,a); } 分析:d格式符,用来输出十进制整数。其中%d,按整型数据的实际长度输出。%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。 printf(“%d\n”,a);把a的值按原样输出:732。printf(“%2d\n”,a);结果占2列,但732占3列大于2列,所以按实际位数输出:732。printf(%10d\n”,a);结果占10列,但732占3列小于10列,所以左端补7个空格。printf(“%-10d\n”,a); 结果占10列,“-”表示把数值放到左端,732占3列小于10列,所以右端补7个空格。 答案:732 732 □□□□□□□732 /*□表示空格*/ , 732□□□□□□□ 3.已知char a=‘\103’;则语句printf(“%3d”,a);执行后的输出结果为(□表示空格)。 A)□67B)’c’C)67□D)103 分析:’\103’是一个转义字符,表示一个八进制数所代表的字符,转换为十进制为67。printf(“%3d”,a);把’\103’转换为十进制数输出,结果占3列。但67占2列,小于要求的3列,所以左补空格,即□67。 答案:C。 4.下列程序运行后结果是。 #include <> #define a void main() { printf(“%f\n”,a); @ printf(“%e\n”,a); printf(“%4.2f\n”,a); printf(“%3.1f\n”,a); printf(“%10.3f\n”,a); printf(“%-10.3f\n”,a); } 分析:f格式符,用来输出实数,以小数形式输出,小数点后输出6位。所以printf(“%f\n”,a);输出结果为。 %是指,要输出的数占m列,同时小数点保留n位(四舍五入),如果输出的数大于m,

循环语句练习程序流程图

1、计算1-2+3-4+5……+99-100的值。 2、求1~1000之间可以同时被 3、5、7整除的数字。分析过程: 1、明确判断的区间为[1,1000]; 2、对[1,1000]范围内的每一个数字都要进行相同的判 断过程; 3、判断过程:一个数字是否能够同时被3、5、7整除, 如果可以,将该数字输出,否则不操作。 算法步骤: 1、利用循环结构来循环读取[1,1000]区间的每一个数字 for( i )//循环读入[1,1000]内的数字 {

//每读入一个数字,都要进行是否能够 同时被3、5、7整除的判断过程 if( ) { //输出数字 } } 2、求解水仙花数。水仙花数是一个三位数,并且该三位 数每个位数上的数字的立方和等于该三位数本身。 分析过程: 1、由概念确定判断数字的取值范围为[100,999]; 2、分解每个三位数,得出个、十、百位数字; 3、判断每个三位数的个十百数字立方和是否等于该数字 本身;如果等式为真,输出该三位数,否则不操作。 算法步骤: 1、由分析过程可知每个三位数都要进行相同的分解过 程和判断过程,可以使用循环结构来实现: for( i )//循环读入[100,999]内数字 { //1、分解读入的三位数i ge=……. shi=…….. bai=……… //2、判断ge3+shi3+bai3==i等式的真假 if(ge3+shi3+bai3==i) { //输出该三位数i } } 4、假定在银行中存款5000元,按照6.25%的年利率计算, 试过经过多少年后会连本带利翻一番,编程实现。

分析过程: 1、假设今年存款5000元,按6.25%年利率增加,明年是 5000*(1+0.0625)元,后年就是5000*(1+0.0625)2,大后年就是5000*(1+0.0625)3,依次类推; 2、在存款初值为5000元的基础上,每一年增加以后,都 要判断一下是否连本带利翻一番(即当年的存款额是否 大于等于存款初值的2倍),如果判断结果为真,则不 再按年利率增加; 3、题目要求统计出经过多少年会使得2中的判断结果为 真; 算法步骤: 1、存款初值为5000(m),当年存款额(s)为存款初值; 2、当年存款额按照年利率增加,每增加一年,将年数累加 一次,然后判断是否大于等于存款初值的2倍,如果没 有超过,则继续按年利率增加,否则不再增加。 do { //1、增加一次存款额 …………. //2、累加一次年数 …………… }while(存款额是否大于等于存款初值的2倍); 5、打印输出前100个自然数中的所有素数。 分析过程: 1、明确素数的概念:在一个大于1的自然数中,除 了1和此数本身外,没法被其他自然数整除。2是 最小的素数,其余偶数均不是素数,1和0既不是 素数也不是合数!

高中数学必修三教案-循环语句

教学目标: 1. 掌握循环语句的简单应用,初步掌握循环语句的嵌套. 2. 初步掌握用循环语句处理一些求和、求乘积问题的技能. 3. 了解用条件语句实现循环的方法,初步能在程序语句中识别出表现为条件语句的循环. 教学方法: 1. 通过编写程序,上机调试的过程,学习掌握循环语句,发展编写能力. 2. 通过具体实例,发展设计算法,编写程序来解决问题的能力. 教学过程: 一、问题情境 问题 设计计算135799?????的一个算法,并画出流程图. 二、学生活动 解决问题的算法是: 对于以上算法过程,我们可以用循环语句来实现. 三、建构教学 循环语句:循环语句一般有种:“For 循环”、“While 循环”和“Do 循环”(由于该种循环变化较多,教材中暂不介绍). (1)“For 循环”是在循环次数已知时使用的循环, 其一般形式为: 例如:问题1中算法可用“For 循环”语句表示为: Print S End 说明:①上面“For ”和“End For ”之间缩进的步骤称为循环体; ②如果省略“Step 2”,默认的“步长”为1,即循环时,I 的值每次增加1(步长也可以为负,例如,以上“For 循环”第1行可写成:For I From 99 To 1 Step -2); 流程图: 结束 开始 For I From 1 To 99 Step 2 S S I ←? End For

③“For循环”是直到型循环结构,即先执行后判断. (2)“While循环”的一般形式为: 其中A为判断执行循环的条件. 例如:问题1中的算法可“While循环”语句表示为: S← 1 I← 3 Print S End 说明: 四、数学运用 1.例题: 例1 编写程序,计算自然数1+2+3+……+99+100的和. 解:用“For循环”表示如下:用“While循环”表示如下:例2 试用算法语句表示:寻找满足1357_____10000 ?????>的最小整数的算法. 解:本例中循环的次数不定,因此可用“While循环”语句,具体描述如下:例3 抛掷一枚硬币时,既可能出现正面,也可能出现反面,预先作出确定的判断是不可能的,但是假如硬币质量均匀,那么当抛掷次数很多时,出现正面的频率应接近50%.试设计一个循环语句模拟抛掷硬币的过程,并计算抛掷中出现正面的频率. 分析抛掷硬币的过程实际上是一个不断重复地做同一件事情的过程,利用循环语句,我们很容易在计算机上模拟这一过程. S← Read n For I From 1 To n If Rnd>0.5 Then 1 ←+ S S End For

3-5条件选择语句和循环语句

3-5条件选择语句和循环语句 A、理论部分 在日常生活中,我们经常遇到各种各样的判断,然后根据判断情况去做相应的事情。例如,小朋友坐公共汽车,身高超过1.1米需要买车票,否则,就不需要买票。它的判断条件为身高是否大于1.1米。可见,要进行判断,首先要确定判断条件。 在数学计算中也需要根据不同的判断条件去选择不同的公式,如符号函数就要根据自变量取值条件去选择不同的计算公式,这些公式成为符号函数的计算分支。当我们使用LOGO编程解决类似以上问题时,考虑到整个程序的执行顺序不再是唯一的,所以掌握程序的条件选择语句成为编程的必备知识。在学习具体条件选择语句之前,因为判断条件成为条件选择的根源,所以我们先来了解一下LOGO条件选择的表达式。 一、条件选择的表达式 2、关系表达式的值 在LOGO语言中如果语法正确,关系表达式的值是唯一确定的。如果关系表达式成立时,其值为真(TRUE),不成立是,其值为假(FALSE)3、逻辑运算符 (1)AND(逻辑与) [格式]AND 关系表达式1 关系表达式2 [功能]当表达式中存在任一个关系表达式为假时,整个表达式的值为假;只有当所有关系表达式都为真时,整个表达式的值才为真。如果AND后面存在两个以上的关系表达式,LOGO语言要求要用小括号括起来。(2)OR(逻辑或) [格式]OR关系表达式1 关系表达式2 [功能] 当表达式中存在任一个关系表达式为真时,整个表达式的值为真;只有当所有关系表达式都为假时,整个表达式的值才为假。如果OR后面存在两个以上的关系表达式,LOGO语言要求要用小括号括起来。 (3)NOT(逻辑非) [格式]NOT 关系表达式 [功能]其逻辑值为NOT后面关系表达式的逻辑取反,如关系表达式为真时,整个表达式为假,相反,如关系表达为假时,整个表达式为真。NOT与AND和OR在格式上有很大区别,AND和OR可以带多个关系表达式,而NOT后面只能带一个关系表达式。 二、条件选择语句

1-2-3 循环语句

一、选择题 1.对当型循环结构叙述不正确的是( ) A .当给定的条件成立(真)时,反复执行循环体,直到条件不成立(假)时,才停止循环 B .当型循环有时也称“前测试型”循环 C .当型循环结构对应的循环语句是UNTIL 语句 D .任何一种需要重复处理的问题都可以用当型循环来实现 [答案] C 2.下列说法正确的是( ) A .当型(WHILE )循环结构不能转化为直到型(UNTIL )循环结构 B .当型(WHILE )循环结构先执行循环体,后判断条件 C .当型(WHILE )循环结构先判断条件,后执行循环体 D .以上说法都不正确 [答案] C [解析] 当型循环是先判断条件后再决定是否执行循环体,直到型循环是先执行循环体,后判断条件,它们之间可以进行转化,故选 C . 3.下列需用循环语句编写程序的是( ) A .输入x 的值,输出y =x 2-3x 的值 B .y =????? x -4,x>0,-x +1,x ≤0,输入x 的值,输出对应的函数值 C .求x 的立方根 D .求5+6+7+8+…+101的值

[答案]D 4.下列程序的功能是() S=1 i=1 WHILE S<=2012 i=i+2 S=S×i WEND PRINT i END A.计算1+3+5+…+2012 B.计算1×3×5×…×2012 C.求方程1×3×5×…×i=2012中的i值 D.求满足1×3×5×…×i>2012的最小整数i [答案]D [解析]执行该程序可知S=1×3×5×…×i,当S≤2012开始不成立,即S>2012开始成立时,输出i,则求满足1×3×5×…×i>2012的最小整数i. 5.(2012~2013·山东济南模拟)已知如下程序,其运行结果是() j=1 WHILE j*j<100 j=j+1 WEND j=j-1 PRINT“j=”;j END A.j=j-1 B.j=100

算法与程序框图汇总

算法与程序框图 一、程序框图与算法基本逻辑结构: 1.程序框图符号及作用: 程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形. 例:解一元二次方程:2 0(0)ax bx c a ++=≠ 2.画程序框图的规则: 为了使大家彼此之间能够读懂各自画出的框图,必须遵守一些共同的规则,下面对一些常用的规则做一简要介绍. (1)实用标准的框图符号. (2)框图一般按从上到下、从左到右的方向画. (3)一个完整的程序框图必须有终端框,用于表示程序的开始和结束. (4)除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号,另外,一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;还有一种是多分支判断,有几个不同的结果.

3.算法的三种基本逻辑结构: (1)顺序结构 顺序结构是最简单的算法结构,语句与语句之间, 框与框之间是按从上到下的顺序进行的,它是由 若干个依次执行的处理步骤组成的,它是任何一 个算法离不开的基本结构.如图,只有在执行完步 骤n 后,才能接着执行步骤n+1. 例:.已知梯形的上底、下底和高分别为5、8、9,写出求梯形的面积的算法,画出流程图. 解:算法如下: S1 a ←5; S2 b ←8; S3 h ←9; S4 S ←(a +b )×h /2; S5 输出S . 流程图如下: (2)条件结构 一些简单的算法可以用顺序结构来实现,顺序结构中所表达的逻辑关系是自然串行,线性排列的.但这种结构无法描述逻辑判断,并根据判断结果进行不同的处理的操作,(例如遇到十字路口看信号灯过马路的问题)因此,需要另一种逻辑结构来处理这类问题. 条件结构的结构形式如图,在此结构中含有一个判断框,算法执行到此判断框给定的条件P 时,根据条件P 是否成立,选择不同的执行框(步骤A ,步骤B ),无论条件P 是否成立,只能执行步骤A 或步骤B 之一,不可以两者都执行或都不执行.步骤A 和步骤B 中可以有一个是空的. 例:某铁路客运部门规定甲、乙两地之间旅客托运行李的费用为 0.53,50, 500.53(50)0.85, 50, c ωωωω?≤?=? ?+-?>?其中ω(单位:kg )为行李的重量. 试给出计算费用c (单位:元)的一个算法,并画出流程图. 1S 输入行李的重量ω; 2S 如果50ω≤,那么0.53c ω=?, 否则500.53(50)0.85c ω=?+-?; 3S 输出行李的重量ω和运费c . 步骤n 步骤n+1 ↓ ↓ ↓ 开始结束b h a 5 89 S (+)×/2a b h 输出S 满足条件? 步骤A 步骤B 是否 满足条件? 步骤A 是否

相关文档
最新文档