05-2、循环过程例题
- 格式:ppt
- 大小:484.00 KB
- 文档页数:12
循环结构程序设计习题与答案1、循环语句的三要素分别是、、.2、for语句括号内的3个表达式的作用分别是、、.3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环.4、在循环结构中,break语句的作用是;continue语句的作用是.5、当循环条件一开始就为假时,对于while语句、do…while语句、for语句,分别执行循环体次、次、次.6、下面程序段的执行次数:int a=0;while<a=0>{ printf<"good\n">;a--;}7、下面程序段的执行次数:int a=0;while<a==0>{ printf<"good\n">;a--;}8、下面程序段的执行次数:int a=1;while<a=1>{ printf<"good\n">;a++;}9、下面程序段的执行次数:int a=1;while<a==1>{ printf<"good\n">;a++;}10、下列程序段的运行结果是.for<i=5;i>=0;i-->printf<"%d ",i>;11、下列程序段的运行结果是.for<n=1;n<20;n=n+3>printf<"%d ",n>;12、下列程序段的运行结果是.for<ch='a' ;ch<='e' ;ch++>printf<"%d",ch-97>;13、下列程序段的运行结果是.for<i=1,j=5 ; i<j ; i++,j-->printf<"i=%d j=%d\n",i,j>;14、下列程序段的运行结果是.for<n=1 ; n*n<20 ; n++>printf<"%d \n",n+n>;二、选择题1、下列程序段中,死循环的是〔〕A、for <i=1; ;>B、i=32767;{ if<++i%2==0> continue; doif<++i%3==0> break; { if<i<0> break;} }while<++i>;C、i=1;D、for<i=1; ; >while<i-->; if<++i<10> break;2、下列程序段中,不是死循环的是〔〕A、inti=10;B、for< ; 1;>while<1>{ i=i%100+1;if<i>100> break;}C、int a=0;D、int x=21;do while<x>{ ++a; --x;}while<a>=0>;三、阅读程序,写出程序运行结果.1、#include"stdio.h"main<>{inti=0,sum=1;do{sum+=i;i++;}while<i<5>;printf<"%d\n",sum>;}程序运行结果:2、#include"stdio.h"main<>{inta,b;b=10;a=1;while<a<=b>a*=2;printf<"%d\n",a>;}程序运行结果:3、#include"stdio.h"main<>{int x=2;while<x-->;printf<"%d\n",x>;}程序运行结果:4、#include"stdio.h"main<>{int x=3;do{printf<"%d\n",x-=2>;}while<!x>;}程序运行结果:5、#include"stdio.h"main<>{inti;for<i=1;i<=5;i++>switch<i%5>{case 0:printf<"*">;break; case 1:printf<"#">;break; case 2:printf<"&">;break; default:printf<"\n">;}}程序运行结果:6、#include"stdio.h"main<>{charch;while<<ch=getchar<>>!='!'>putchar<++ch>;}程序运行结果:7、#include"stdio.h"main<>{inti,j;for<i=0;i<=5;i++>{for<j=1;j<10;j++>if<j==5> break;if<i<2> continue;if<i>2> break;printf<"j=%d\n",j>;}printf<"i=%d\n",i>;}程序运行结果:8、#include"stdio.h"main<>{int x ,y;x=37,y=13;while<x!=y>{if<x>y>x=x-y;if<y>x>y=y-x;}printf<"x=%d\n",x>;}程序运行结果:四、编程题1、输出下列图案12 43 6 94 8 12 165 10 15 20 252、输出下列图案*********3、编程求2-4+6-8+…-100+102的值.4、输出公元1500年至2500年所有的闰年的年号.5、从键盘上输入若干学生的C语言成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入.循环结构程序设计〔参考答案〕一、填空题、1.循环条件循环体循环控制变量2.循环变量赋初值循环测试条件循环变量更新3.执行整个周期外层循环条件为假4.提前结束包含它的循环语句的执行提前结束本次循环周期开始执行下一次循环周期5.0 1 06.07. 18.无数9. 110.5432111.1 4 7 10 13 16 1912.0123413.I=1,j=5I=2,j=414.14916二、选择题1. B2. D三、程序运行结果1.112.163.-14.15.#&*6.bgufsoppo7.i=5J=38.x=1四、编程题1.#include"stdio.h"main<>{inti,j;for<i=1;i<=5;i++>{for<j=1;j<=i;j++>printf<"%d ",i*j>;printf<"\n">;}}2.#include"stdio.h"main<>{inti,j;for<i=5;i>=1;i-=2>{for<j=1;j<=i;j++>printf<"*">;printf<"\n">;}}3.#include"stdio.h"main<>{inti,y=1,s=0;for<i=2;i<=102;i+=2>{ s=s+y*i;y*=-1; 〔y=-y>; } printf<"2-4+6+...-100+102=%d",y>;}4.#include"stdio.h"main<>{inti;for<i=1500;i<=2500;i++>if<i%4==0&&i%100!=0||i%400==0> printf<"%d ",i>;}5.#include"stdio.h"main<>{floatcj,min,max=0;printf<"请输入学生成绩,输入负数时结束:\n">; scanf<"%f",&cj>;min=cj;while<cj>=0>{if<cj>max>max=cj;if<cj<min>min=cj;scanf<"%f",&cj>;}printf<"max=%f\nmin=%f",max,min>;}。
循环程序设计习题与答案模块三循环程序设计习题及答案一、填空题1、当在数据处理中要重复执行相同的操作时,宜采用程序结构来实现。
2、循环的 3 要素是、、。
3、在循环语句体中包含另一个循环语句的用法称为。
4、执行循环语句体中的break 语句后将使用包含它的循环语句。
5 、要结束当前正在执行循环体语句而直接进入下一循环周期,需要执行语句。
6、在for 语句中表达式允许省略,但不能少,语句for( ; ;) ;构成的是循环。
7、在for 语句中,省略表达式 2 时,则循环为循环。
8、执行语句for(i=1;i++<4; );后变量i 的值是。
9、要使用循环程序提前结束本次循环周期并开始下一个循环周期,应在循环体内有条件使用语句。
10、在每次循环周期均要执行一次的语句,称为。
11、for 语句括号内的3 个表达式的作用分别是、和循环控制变量的更新。
二、选择题1、若k 为整形变量,则while 循环共循环()。
k=5;while(k>=0) k-1;A、无限循环B、6 次C、5 次D、4 次2、与while( ! n) ; 中表达式!dn 等价的是()。
A、dn>=0 B 、dn!=0C、dn == 0D、dn != 13、以下程序段,while 循环执行的次数是()int k=0;while( k == 1) k++;A、无限次B、有语法错,不能执行C、一次也不执行D、执行 1 次4、在C语言中,当do while 语句中的条件为()时,结束该循环。
A、0B、1C、TRUED、非05、下面程序段的输出结果是()do{ b-=a;a++;}while(b--<0);A、10,-1B、2,8C、9,0D、4,-36、以下描述正确的是()A、由于do while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
B、do while 循环由do 开始,用while 结束,在while( 表达式)后面不能写分号C、在do while 循环体中,一定要有能使while 后面匠值变为零的操作D、do while 循环中,根据情况可以省略while7、若有如下程序段,其中s、a、b、c 均已定义为整型变量,且a、c 均已赋值(c大于0)。
循环练习题及答案练习题一:基础循环1. 编写一个程序,使用循环结构打印出1到10的数字。
2. 编写一个程序,使用循环结构打印出1到100之间所有3的倍数。
3. 编写一个程序,使用循环结构找出1到100之间所有偶数的和。
答案一:1. 程序代码:```pythonfor i in range(1, 11):print(i)```2. 程序代码:```pythonfor i in range(1, 101):if i % 3 == 0:print(i)```3. 程序代码:```pythonsum_even = 0for i in range(1, 101):if i % 2 == 0:sum_even += iprint("偶数之和:", sum_even)```练习题二:条件循环1. 编写一个程序,使用循环结构打印出1到50之间所有5的倍数,直到遇到第一个偶数为止。
2. 编写一个程序,使用循环结构计算并打印出1到100之间所有7的倍数的乘积。
答案二:1. 程序代码:```pythonfor i in range(1, 51):if i % 5 == 0:if i % 2 == 0:print(i)breakprint(i)```2. 程序代码:```pythonproduct = 1for i in range(1, 101):if i % 7 == 0:product *= iprint("7的倍数的乘积:", product)练习题三:嵌套循环1. 编写一个程序,使用嵌套循环打印出如下的三角形图案: ```11 21 2 3...1 2 3 (10)```2. 编写一个程序,使用嵌套循环打印出以下图案:```AB BC C C...Z Z Z ...```答案三:1. 程序代码:```pythonfor i in range(1, 11):for j in range(1, i + 1):print(j, end=' ')print()2. 程序代码:```pythonfor i in range(65, 91): # ASCII值 65 到 90 对应 A 到 Z for j in range(1, i - 64 + 1): # 减去64是因为ASCII 值A是65print(chr(i), end='')print()```结束语:通过上述练习题及答案,我们不仅复习了循环结构的基本概念,还学习了如何使用条件循环和嵌套循环来解决实际问题。
题目:while循环语句例题及解析在编程语言中,while循环是一种常见的循环语句,它能够根据给定的条件重复执行一段代码。
通过while循环,开发者可以实现对一个条件的反复检查,并在满足条件时执行相应的操作。
本文将通过一些例题及其解析,帮助读者更好地理解和掌握while循环的用法和特点。
1. 例题1:使用while循环计算1到100的和给定一个整数n,计算1到n的和。
当n=100时,应计算1+2+3+...+100的结果。
解析:这是一个经典的求和问题,可以通过while循环轻松实现。
我们需要一个变量sum来存储累加的结果,初始值为0。
通过while循环,对从1到n的数字依次累加到sum中,直到累加到n为止。
```pythonn = 100sum = 0i = 1while i <= n:sum += ii += 1print("1到d的和为:d" (n, sum))```在上述代码中,我们使用了变量n来表示需要计算的范围,sum来存储累加的结果,i作为循环的控制变量。
通过while循环,当i小于等于n时,执行累加操作并将i递增1。
最终输出1到100的和为5050。
2. 例题2:使用while循环找出100以内的所有质数给定一个整数n,找出所有小于等于n的质数。
当n=100时,应找出所有小于等于100的质数。
解析:质数是指除了1和本身外,没有其他正因子的数。
在这个例题中,我们可以利用while循环逐个检查1到n之间的每个数,判断其是否为质数。
具体的算法思路如下:- 我们需要一个列表prime_list来存储所有找到的质数,初始为空列表。
- 我们使用while循环,从2开始逐个判断每个数是否为质数。
对于每个数i,从2开始逐个检查是否存在能整除i的数,若不存在,则将i加入到prime_list中。
- 输出prime_list中找到的所有质数。
```pythonn = 100i = 2prime_list = []while i <= n:j = 2while j <= (i/j):if i j == 0:breakj += 1if j > i/j:prime_list.append(i)i += 1print("100以内的质数有:", prime_list)```在上述代码中,我们先对每个数i进行了从2到i的遍历,通过while 循环对每个数遍历寻找质数。
循环规律练习题循环规律是数学中常见的一个概念,通过找出数列、图形或其他模式中的规律,可以预测后续的数值或图形。
本文将为大家提供一些循环规律的练习题,帮助大家加深对这一概念的理解和应用。
练习1:数列循环规律观察以下数列,找出其中的循环规律,并计算第20项的数值。
1, 3, 5, 7, 1, 3, 5, 7, ...答案解析:该数列可以看出两个数列的循环组合,第一个数列为1, 3, 5, 7,第二个数列与之相同。
因此,该数列的循环规律为4个数一循环,首项为1,第20项也是1。
练习2:图形循环规律观察以下图形,找出其中的循环规律,并画出下一个图形。
□□□□□□□□□□□□答案解析:每行每列都有4个□,因此可以看出该图形的循环规律为每行每列都是4个□。
下一个图形为:■■■■■■■■■■■■练习3:数值循环规律观察以下数值的循环规律,找出其中的规律并计算出缺失的数值。
2, 7, 14, __, 32, 47, ...答案解析:该数列中的数值之间的差值在逐渐增大,第一个数值是2,第二个数值是7,差值为5;第二个数值是7,第三个数值是14,差值为7;第三个数值是14,第四个数值应为14+9=23;以此类推,差值依次增加2。
因此,第四个数值为23。
练习4:图形循环规律观察以下图形,找出其中的循环规律,并画出下一个图形。
▲▲▲▲▲▲▲▲▲▲答案解析:每一行的▲的个数等于行数,因此,下一个图形为:■■■■■■■■■■练习5:数列循环规律观察以下数列,找出其中的循环规律,并计算第50项的数值。
0, 1, 1, 2, 3, 5, 8, 1, 9, ...答案解析:该数列中的每一项都等于前两项的和。
因此,循环规律为每两项一循环,首项为0和1,第50项也是0和1的组合,因此,第50项为0。
通过以上练习题,我们可以看到循环规律的应用范围广泛,并且考察的形式各异。
对于学习数学或解决实际问题都十分有帮助。
希望大家通过这些练习题,能够更好地理解和掌握循环规律的概念,提高自己的数学思维和解题能力。
循环运算的练习题练习题一:有一个整数数组,数组中的元素均为正整数,请编写一个循环运算的程序,计算出数组中所有元素的和。
解题思路:1. 创建一个整型变量sum,并初始化为0,用于存储数组元素的和。
2. 遍历数组,通过循环取出数组中的每一个元素。
3. 将每个元素累加到sum中。
4. 循环结束后,sum中存储的即为数组中所有元素的和。
代码示例:```pythonnum_list = [1, 2, 3, 4, 5] # 示例数组sum = 0 # 初始化和为0for num in num_list:sum += numprint("数组中所有元素的和为:", sum)```练习题二:输入一个正整数n(n>1),请编写一个循环运算的程序,输出n的所有因数。
解题思路:1. 创建一个整型变量n,用于存储输入的正整数。
2. 使用循环遍历从1到n的每个正整数,作为n的可能因数。
3. 判断当前的正整数是否是n的因数,若是则输出。
4. 循环结束后,输出最终结果。
代码示例:```pythonn = int(input("请输入一个正整数: "))print(n, "的因数有:")for i in range(1, n+1):if n % i == 0:print(i)```练习题三:编写一个循环运算的程序,判断一个数是否为素数。
解题思路:1. 创建一个整型变量num,用于存储待判断的数字。
2. 使用循环遍历从2到num-1的每个正整数,作为可能的因数。
3. 判断是否存在num的因数,若存在则说明num不是素数,跳出循环。
4. 循环结束后,通过判断是否跳出循环来确定num是否为素数。
代码示例:```pythonnum = int(input("请输入一个正整数: "))for i in range(2, num):if num % i == 0:print(num, "不是素数")breakelse:print(num, "是素数")```通过以上三个练习题,我们可以加深对循环运算的理解和掌握。
循环结构例题循环结构例题1、用迭代法求方程x=cos(x)的根,要求误差小于10-6。
迭代法步骤如下:(1)取x1=0.0,x2=cos(x1)。
(2)判断|x2-x1|<10-6。
若x2-x1的绝对值大于10-6,则执行x1=x2,重复执行步骤(1);否则执行步骤(3)。
(3)计算结束,输出结果。
#include#includemain(){ double x1,x2;x1=0.0;x2=cos(x1);while(fabs(x2-x1)>1e-6) { x1=x2;x2= cos(x1);}printf(“x=%f\n”,x2);}2、计算斐波那契数列(Fibonacci),直到某项大于1000为止,并输出该项的值。
Fibonacci数列: f1=1,f2=1,f3=2,f4=3,…….f(n)=f(n-2)+f(n -1)。
程序步骤:(1)f1=1,f2=1,f=f1+f2;(2)判断f的值是否大于1000,若小于或等于1000,则执行步骤(3);若大于1000,则执行步骤(4);(3)f1=f2,f2=f,f=f1+f2,再执行步骤(2);(4)循环结束,输出f的值。
#includemain(){ int f1,f2,f;f1=1; f2=1;f=f1+f2;while(f<=1000){ f1=f2;f2=f;f=f1+f2;}printf(“f=%d\n”,f); }总结:while语句一般应用于循环次数未知的情况,for语句一般应用于循环次数确定的情况。
一、循环结构的嵌套定义:在一个循环体中又完整的包含了另一个循环,称为循环嵌套。
任意类型的循环结构都可以相互嵌套,循环嵌套可以是多层,但每一层循环在逻辑上必须是完整的。
例题:判断X是否为素数。
如果是X,输出X是素数;否则输出X不是素数。
#includemain(){ int x,i;scanf(“x=%d”,&x);for(i=2;i<x;i++)< p="">if(x%i==0) break;if(i==x)printf(“x是素数”); elseprintf(“x不是素数”);}例题:编写程序,找出2——100以内的所有素数。
第四章循环结构例题及思考题单重循环(for…next语句)Dim i As Integer, p As Double, s As Double p = 1s = 0For i = 1 To 19p = p * is = s + pNextPrint s例3:设S(n)=1-1/3+1/5-1/7+…+1/(2n-1),求S(100)的值, 0.78Dim s As Single, i As Integers = 0For i = 1 To 100s=s+(-1)^(i+1)/(2*i-1)NextPrint Round(s, 2)思考题:求1/(1*2)+1/(2*3)+1/(3*4)+….+1/(N*(N+1))的值,N=20。
0.95Dim s As Single, i As Integers = 0For i = 1 To 20s = s + 1 / (i * (i + 1))NextPrint Round(s, 2)2. 当m的值为50时,计算下列公式之值:t=1-1/(2*2)-1/(3*3)-…-1/(m*m)0.37Dim s As Single, i As Integers = 1For i = 2 To 50s = s - 1 / (i * i)NextPrint Round(s, 2)3. 当k值为20时,求S的值。
(1^2/(1*3))*(4^2/(3*5))*(6^2/(5*7))*…*(2k)^2/((2k-1)(2k+1)) 0.39Dim s As Single, i As Integer, t As Single s = 1 / 3For i = 2 To 20t =((2 * i)^2)/((2 * i-1)*(2*i+1))s = s * tPrint i, t, sNextPrint Round(s, 2)4.求Y=1-1/2+1/3-1/4+...-1/2*n 前30项之和。