循环结构程序设计练习题(最新修改)
(完整版)c语言第六章循环结构程序设计(习题册答案)
第六章循环结构程序设计基础练习(A)一、选择题1、C语言中while和do-while循环的主要区别是(A)。
A) do-while的循环体至少无条件执行一次B) while的循环控制条件比do-while的循环控制条件严格C) C)do-while允许从外部转到循环体内D) do-while的循环体不能是复合语句2、以下描述中正确的是(C)。
A) 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号C) 在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作D)do-while循环中,根据情况可以省略while3、设有程序段int k=10;while(k) k=k-1;则下面描述中正确的是(A)。
A)while循环执行10次B)循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次4、下列循环语句中有语法错误的是( D )。
A) while(x=y) 5;B) while(0) ;C) do 2;while(x==b);D) do x++ while(x==10);5、已知int i=1;执行语句while (i++<4) ;后,变量i的值为(C)。
A) 3 B) 4 C) 5 D) 66、语句while(!E);中的表达式!E等价于(A)。
A)E==0 B)E!=1 C)E!=0 D)E==17、下面程序段的运行结果是(A)。
a=1; b=2; c=2;while(a<b<c) { t=a; a=b; b=t; c--; }printf(“%d,%d,%d”,a,b,c);A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,18、下面程序的运行结果是(C)。
#include <stdio.h>main(){int num=0;while(num<=2){num++;printf(“%d\n”,nu m);}}A)1 B)1 C)1 D)12 2 23 39、以下能正确计算1×2×3×…×10的程序段是(C)。
第6章 循环结构程序设计习题
第六章循环结构程序设计一.选择题1.21.运行以下程序后,如果从键盘上输入65 14 <回车>,则输出结果为()。
#include<stdio.h>void main(){int m,n;printf("enter m,n:");scanf("%d%d",&m,&n);while(m!=n){while(m>n) m-=n;while(n>m) n-=m;}printf("m=%d\n",m);}A) m=3 B) m=2 C) m=1 D) m=02.以下程序段的输出结果是()。
int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;A. 12B. 15C. 20D. 253.printf("%d\n",m);设有程序段:int k=10;while(k=0)k=k-1;则下面描述正确的是()A. while循环体执行了10次B. 循环是无限循环C. 循环体语句一次都不执行D. 循环体语句执行一次4.以下正确的描述是()A.Continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循环体内使用break语句或者continue语句的作用相同D.从多层循环嵌套中退出时,只能使用goto语句5.下面程序段()for(t=1;t<=100;t++){scanf("%d",&x);if(x<0)continue;printf("%3d",x);}#include<stdio.h>void main(){int x=3;do{printf("%3d",x-=2);}while(!(--x));}A. 1B. 3 0C. 1 -2D. 死循环7.以下程序段的输出结果是()。
01-循环结构程序设计课后练习及题解
循环结构程序设计练习1、编写程序,计算:m=1-2+3-4+…+9-10,并输出结果2、编写程序,输入一行字符,以换行为结尾,分别统计出其中英文字母、空格、数字和其他字符的个数.3、猴子吃桃问题.猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将剩下的桃子吃掉一半,又多吃一个.以后每天早上都吃了前一天剩下的一半零一个.到第 10 天早上想再吃时,见只剩下一个桃子了.求第一天共摘多少桃子.4、编写程序,求 Sn=a+aa+aaa+…+aa…aaa(有n 个a)之值,其中 a 是一个数字. 例如:2+22+222+2222+22222(n=5),n 由键盘输入.(提示:需要包含数学库文件 #include <math.h> )5、打印如下图案程序参考(注:答案不唯一,可以有不同设计方法)1、#include <stdio.h>int main(){int m=0,f=1, i,n=10,z=0;for (i=1; i<=n; i++){ m+=i*f;f= -f ;}z=z+m;printf("m=%d\n",z);return 0;}2、#include <stdio.h>int main(){char c;int i=0,j=0,k=0,l=0;printf("请输入一串字符\n");while((c=getchar())!='\n'){if(c>=65&&c<=90||c>=97&&c<=122) i++;else if(c>=48&&c<=57) j++;else if(c==32) k++;else l++;}printf("字母:%d\n 数字:%d\n 空格:%d\n 其他:%d\n",i,j,k,l); return 0;}3、#include <stdio.h>int main(){int i,sum=1;for(i=1;i<10;i++)sum=2*(sum+1);printf("第一天共摘桃子%d 个\n",sum);return 0;}4、#include <stdio.h>#include <math.h>int main(){int n,sum=0,i=1,s;printf("请输入1~9 中的1 个数字:");scanf("%d",&s);printf("请输入位数:");scanf("%d",&n);while(i<=n){sum=sum+s;s=s+2*pow(10,i);i++;}printf("和=%d\n",sum); return 0;}5、#include <stdio.h>int main(){int i,j,k;//输出上半部分for(i=0;i<=3;i++){for(j=0;j<=2-i;j++)printf(" ");for(k=0;k<=2*i;k++)printf("*");printf("\n");}//输出下半部分for(i=0;i<=2;i++){for(j=0;j<=i;j++)printf(" ");for(k=0;k<=4-2*i;k++)printf("*");printf("\n");}return 0;}。
最新2.2.3循环结构练习题(含答案)
2.2.3循环结构练习题(含答案)------------------------------------------作者xxxx------------------------------------------日期xxxx必修三2。
2.3《循环结构》练习题基础训练一、选择题1.以下说法不正确的是( )A.顺序结构是由若干个依次执行的处理步骤组成的,每一个算法都离不开顺序结构B.循环结构是在一些算法中从某处开始按照一定的条件,反复执行某些处理步骤,故循环结构一定包含选择结构C.循环结构不一定包含选择结构D.用算法框图表示的算法更形象、直观,容易理解2.框图(如下图)中的循环体是( )A.A B.BC.C D.D3.执行如图所示的程序框图,则输出的S的值是( )A.4ﻩB.错误!C。
错误! D.-14.执行如图所示的程序框图,输出的S值为( )A.2 B.4C.8ﻩD.165.(2014·安徽理,3)如图所示,程序框图(算法流程图)的输出结果是()A.34ﻩB.55C.78ﻩD.896.如果执行下边的程序框图,输入正整数N(N≥2)和实数a1,a2,…,aN,输出A,B,则( )A.A+B为a1,a2,…,aN的和B。
错误!为a1,a2,…,a N的算术平均数C.A和B分别是a1,a2,…,aN中最大的数和最小的数D.A和B分别是a1,a2,…,aN中最小的数和最大的数二、填空题7.(2014·江苏,3)下图是一个算法流程图,则输出的n的值是________.8.如图所示,程序框图(算法流程图)的输出结果是________.三、解答题9.设计一个计算2+4+6+…+100的值的算法,并画出算法框图.能力提升一、选择题1.(2014·江西文,8)阅读如下程序框图,运行相应的程序,则程序运行后输出的结果为( )A.7 B.9C.10 D.112.执行下面的程序框图,如果输入a=4,那么输出的n的值为( )A.2 B.3C.4ﻩD.5二、填空题3.阅读如下图所示的算法框图,若输入m=4,n=3,则输出a=________,i=________.4.(2014·山东理,11)执行下面的程序框图,若输入的x的值为1,则输出的n的值为________.三、解答题5.画出求错误!(共6个2)的值的算法的流程图.6.设计算法,输出1 000以内能同时被3和5整除的所有正整数,画出算法的流程图.7.设计一个计算20个数的平均数的算法,并画出相应的流程图.答案基础训练1. [答案] C[解析] 显然循环结构一定包含选择结构,故选C。
C语言循环结构练习题带答案.doc
第 5 章循环结构程序设计练习题1.单项选择题( 1)语句 while (!e);中的条件!e等价于A。
A. e==0B. e!=1C. e!=0D. ~e( 2)下面有关for循环的正确描述是D。
A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判定表达式C. 在 for循环中,不能用break 语句跳出循环体D. for循环体语句中,可以包含多条语句,但要用花括号括起来(3)C语言中D。
A.不能使用do-while语句构成的循环B. do-while 语句构成的循环必须用break 语句才能退出C. do-while 语句构成的循环,当while 语句中的表达式值为非零时结束循环D. do-while 语句构成的循环,当while 语句中的表达式值为零时结束循环( 4) C 语言中 while 和 do-while 循环的主要区别是A 。
A. do-while的循环体至少无条件执行一次B. while的循环控制条件比do-while的循环控制条件严格C. do-while允许从外部转到循环体内D. do-while的循环体不能是复合语句( 5)以下程序段C。
int x=-1;do{x=x*x;}while (!x);A.是死循环B. 循环执行二次C. 循环执行一次D. 有语法错误( 6)下列语句段中不是死循环的是__C__。
A.i=100;while (1){i=i%100+1;if (i==20) break;}B.for (i=1;;i++)sum=sum+1;C.k=0;do{++k;} while (k<=0);D.s=3379;while (s++%2+3%2)s++;( 7)与以下程序段等价的是__A__。
while (a){if (b) continue;c;}A.while (a)B.while (c){ if (!b) c; }{ if (!b) break; c; }C. while (c)D. while (a){ if (b) c; }{ if (b) break; c; }( 8)以下程序的输出结果是_B___。
循环练习题及答案
循环练习题及答案练习题一:基础循环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()```结束语:通过上述练习题及答案,我们不仅复习了循环结构的基本概念,还学习了如何使用条件循环和嵌套循环来解决实际问题。
循环结构程序设计练习题内含答案
第三单元循环结构练习题选择题:1、有以下程序执行后的输出结果是( D )。
main( ){ int i,s=0; for(i=1;i<10;i+=2)s+=i+1;printf("%d\n",s);}A.自然数 1~9的累加和B.自然数 1~10 的累加和C.自然数 1~9中的奇数之和D.自然数 1~10 中的偶数之和2、以下关于 for 语句的说法不正确的是( A )。
A. for循环只能用于循环次数已经确定的情况B. for循环是先判断表达式,后执行循环体语句C. for循环中,可以用 break 跳出循环体D. for循环体语句中,可以保含多条语句,但要用花括号括起来3、若 i和 k 都是 int 类型变量,有以下 for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是(d)。
A. 循环体执行两次B.循环体执行一次C.循环体一次也不执行D. 构成无限循环4、以下程序程序的执行后的输出结果是(c)。
main(){int i,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++) printf(“%d”,t[2 -i][i]);}A.753B.357C.369D.7515、以下程序运行后的输出结果是( A )。
void fun(char*s){ while(*s){ if(*s%2==0)printf(“%c”,*s);s++;}}main(){ char a[]={“good”};fun( a) ;printf(“ n”);}注意:字母 a 的 ASCⅡ码值为 97A.dB.goC.godD.good6、已知 int t=0 ; while ( t=1 ){...}则以下叙述正确的是( B)。
A)循环控制表达式的值为 0B)循环控制表达式的值为 1C)循环控制表达式不合法D)以上说法都不对7、设有以下程序段 Bint x=0,s=0;while (!x!=0 ) s+=++x;printf ( "%d",s );则A)运行程序段后输出0B)运行程序段后输出 1C)程序段中的控制表达式是非法的D)程序段执行无限次8、设 i ,j ,k 均为 int型变量,则执行完下面的 for 语句后, k 的值为( C)。
实验3、循环结构程序设计(有答案)
循环结构程序设计1.程序填空下面程序的功能为:计算1~100之间的偶数之和,完成以下的程序并运行出正确的结果。
# include <stdio.h>void main(){int i,s=0;/**************found*************/i=2 ;while(i<=100){s=s+i;/**************found**************/i+=2 ;}printf(“s=%d”,s);}运行结果:S=25502.程序改错(1) 下面程序的功能为:计算10!,修改以下的程序并上机运行通过。
#include <stdio.h>void main(){int n,t;for(n=1,t=1,t<10,t++);n=n*t;printf(“10!=%d\n”,n);}正确的程序:#include <stdio.h>void main(){int n,t;for(n=1,t=1;t<=10;t++) //句尾不能有“;”n=n*t;printf(“10!=%d\n”,n);}运行结果:10!=3628800(2) 下面程序的功能为:计算1~100之间能被3和7整除的数之和,修改以下的程序并上机运行通过。
#include <stdio.h>void main(){int i,s;s=0;while(i<=100);{if(i%3==0||i%7==0)s+=i;i=i+1;}printf(“s=%d”,s);}正确的程序:#include <stdio.h>void main(){int i,s;s=0; i=1;while(i<=100) //句尾不能有“;”{if(i%3==0&&i%7==0)s+=i;i=i+1;}printf(“s=%d”,s);}运行结果:S=2103、有一个分数序列:2/1、3/2、5/3、8/5、13/8、……,编写一个C程序,求出这个数列的前30项之和。
循环结构程序设计习题()
循环结构程序设计习题一、选择题1、循环语句for(i=0,j=0;(j!=25)&&(i<3);i++)的循环执行次数是(C)A.无限循环 B.2次 C.3次 D.4次2、循环语句for(i=0,j=0;(j!=4)||(i<3);j++,i++)的循环执行次数是(D)A.无限循环 B.2次 C.3次 D.4次3、在与switch语句配套的case语句中所使用的表达式(D)A 只能是常量B 可以是变量或常量C 只能是常量或常量表达式D 无论是常量还是变量,只要在执行时已经有确定的值就可以了4、if语句中用来作为判断条件的表达式是(D)A 逻辑表达式B 关系表达式C 算术表达式D 以上都是二、填空题1. 在C语言中,单目运算符的结合方向(运算方向)是_自右向左___________;唯一的一个三目运算符是_条件运算符(?:)___________。
2. 能正确表示“当ch为小写字母为真,否则为假”的表达式是_ch>=’a’&&ch<=’z’_。
3. 循环语句for(;;) printf("OK \n");和do { printf("OK\n");} while(0);执行完毕循环,循环次数分别是_____无限__________和___一次_____________。
4. 若有说明int i,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为___900____________5. .结构化程序设计的三种基本结构是:选择结构、循环结构和__顺序结构___三、阅读程序,写出程序的运行结果1. 运行结果:_______________int func(int n) {if (n==0)return 0;else if (n==1) return 1;else return n*n+func(n-2);}main( ) {printf("%5d%5d\n",func(4),func(5)); }change(&a,b);printf("a=%d,b=%d\n",a,b);}2. 运行结果:__ 2 4 6 8 10_____________main(){ int i=1;while(i<=10)if(++i%2!=0) continue;else printf(“%3d”,i);}3.运行结果:___ MNO JKL MNO GHI____________ Main( ){int j;for(j=4;j>=2;j--)switch(j){case 0: printf("%4s","ABC");case 1: printf("%4s","DEF");case 2: printf("%4s","GHI");breakcase 3: printf("%4s","JKL");default: printf("%4s","MNO");}printf("\n");}五、编程题1、编写程序输出100以内的素数。
第6章 循环结构程序设计练习题
第6章 循环结构程序设计习题1、编程:对任意输入的大于0的整数,输出此数的所有整数因子。
例如:输入12,则输出:12:1 2 3 4 6 12.#include <stdio.h> void exe5_m_1() {int a,k;scanf(“%d”,&a); if (a>0) {printf(“%d:”,a);for ____________________ if ______________ printf(“%d”,k);}printf(“\n”);}2、任意输入10个数,求它们的最大值,并输出。
3、求100-999中的水仙花数(若三位数abc,a 3+b 3+c 3=abc,则称abc 为水仙花数。
例如153,13+33+53=153,则153称为水仙花数。
)4、利用公式:)!14()!14(...!5!3!1sin 141453++--++-=+-n x n x x x x x n n 计算sinx 的近似值,x 值由键盘输入,省略的项都<10-55、打印九九表,格式如下: 1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=61*7=7 1*8=81*9= 92*2=4 2*3=6……2*9=183*3=9 …… …… 9*9=816、根据公式e=1+1/(1!)+1/(2!)+1/(3!)+……。
求e 的近似值,精度要求为10-6。
7、读入10个数,计算它们的和、积、平方和及和的平方。
8、计算并输出1!,2!,3!,4!,……,35!。
9、输入20个数,统计其中正、负和零的个数。
10、利用公式:)12)(12()2(......756653443*12222+-⨯⨯⨯⨯⨯⨯⨯⨯⨯=n n n π计算π的值(取前100项)。
11、利用公式:)12(1)1( (9171513114)+⨯-++-+-=n n π计算π的值(省略的项都<10-5)。
C语言各章节单元测试题及答案——循环结构程序设计
第3章循环结构程序设计3.1 典型考试题剖析3.1.1 选择题【例1】若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c 均已赋值(c大于0)s=a;for(b=1;b<=c;b++) s=s+1;则与上述程序段功能等价的赋值语句是_______。
A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c;✧考点:本例考查for循环。
✧分析:初始赋值时s=a,那么s的值一定与a有关,C、D答案中不含a所以排除掉。
只用清楚for循环的次数,不管b以前的值为多少,第一次循环时b=1,当b>c时循环结束,那么显然s要加c次1。
所以s的值为a与c的和。
✧答案:B【例2】设x和y均为int型变量,则执行下面的循环后,y值为。
for(y=1,x=1;y<=50;y++){if(x>=10) break;if(x%2==1){x+=5;continue;}x-=3;}A) 2 B) 4 C) 6 D) 8✧考点:本例考查for循环中break和continue的用法,以及区别。
✧分析:break用在循环中,只能退出一层循环。
尤其是在嵌套循环中,只能退出它所在的那一层循环。
不能期望用break从最内层循环一下子退出最外层循环(可以用goto实现)。
continue语句只能用在循环中,它的作用是跳过其后面的语句,直接将控制转移到下一轮循环条件的测试。
语句“if(x>=10) break;”中的break只有当x>=10时,才会执行,并且跳出for循环;语句“x+=5;continue;”是每次执行完一次跳过其后面的语句,直接将控制转移到下一轮循环条件的测试for(y=1,x=1;y<=50;y++)中。
✧答案:C【例3】以下程序中,while循环的循环次数是_______。
main(){ int i=0;while(i<10){ if(i<1) continue;if(i==5) break;i++;}......}A) 1 B) 10 C) 6 D) 死循环,不能确定次数✧考点:本例考查while循环的用法,以及continue和break的分别。
C语言程序设计习题集第4章循环结构(答案)
第4章循环结构题择一、选1、有以下程序段intk=0;while(k=1)k++;是(A)while循环执行的次数A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次,t的值为0i nt类型,进入下面的循环之2、t为前while(t=1){⋯⋯}则以下叙述中正确的是(B)A)循环控制表达式的值为0B)循环控制表达式的值为 1C)循环控制表达式不合法D)以上说法都不对3、在C程序中,与while(m)中表达式m完全等价的是(B)A)m==0B)m!=0C)m==1D)m!=14、有以下程序,程序运行后的输出结果是(C)。
main(){inti=1,sum=0;while(i<=4){sum=sum+i;i=i+1;}printf(“%n”d,sum);}A)4B)5C)10D)死循环5、有以下程序,程序运行后的输出结果是(D)。
main(){inti=1,sum=0;while(i<=4)sum=sum+i;i=i+1;printf(“%n”d,sum);}A)4B)5C)10D)死循环6、有如下程序main(){intn=9;while(n>6){n--;printf(“%d”,n);}}该程序段的输出结果是(B)A)987B)876C)8765D)98767、以下程序的输出结果是(B)main(){intnum=0;while(num<=2){num++;printf(“%n”d,num);}}A)1B)1C)1D)l2223348、有以下程序,若运行时输入3.62.4<回车>,则输出的结果是(B)。
main(){floatx,y,z;scanf(“%f%f”,&x,&y);z=x/y;while(1){if(fabs(z)>1.0){x=y;y=z;z=x/y;}elsebreak;}printf(“n%”f,y);}A)1.500000B)1.600000C)2.000000D)2.4000009、执行以下程序段时x=-1;do{x=x*x;}while(!x);则下面描述正确的是(A)A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误10、有以下程序段其输出结果是(C)intx=3;do{printf("%d",x-=2);}while(!(--x));A)1B)30C)1-2D)死循环11、有如下程序main(){intx=23;do{printf(“%d”,x);x--;}while(!x);}该程序的执行结果是(B)A)321B)23C)不输出任何内容D)陷入死循环12、有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3); 此处do—while循环的结束条件是(D)A)P的值不等于12345并且n的值小于3B)P的值等于12345并且n的值大于等于3C)P的值不等于12345或者n的值小于3D)P的值等于12345或者n的值大于等于313、以下不构成无限循环的语句或语句组是(A)A)n=0;do{++n;}while(n<0);B)n=0;while(1){n++;}C)n=10;while(n);{n--;}D)for(n=0,i=1;;i++)n+=i;14、若i为整型变量,则以下循环执行的次数是(B) for(i=2;i==0;)printf(“%-d-”);,iA)无限次B)0次C)1次D)2次15、执行语句for(i=1;i++<4;)后,变量i的值是(C)A)3B)4C)5D)不定16、有以下程序main(){inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的运行结果是(C)A)741B)963C)852D)87542117、以下程序执行后sum的值是(C)A)15B)14C)不确定D)0main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf(“n%”d,sum);}18、有如下程序{inti,sum=0;for(i=1;i<=3;sum++)sum+=i;printf(“%n”d,sum);}该程序的执行结果是(C)A)6B)3C)死循环D)019、执行语句for(i=3;i>0;i--);i--;后,变量i的值是(C)A)0B)10C)-1D)120、执行下面程序片段的结果是(A)。
python for循环试题
1、在Python中,for循环通常与哪个关键字一起使用来遍历序列?A、whileB、inC、ifD、else(答案)B2、以下哪个是Python for循环的正确结构?A、for i = 0 to 9:B、for i in range(10):C、for (i = 0; i < 10; i++):D、for i from 0 to 9:(答案)B3、在Python的for循环中,range(5)会生成多少个数字?A、4B、5C、6D、无限多(答案)B4、以下哪个代码片段会打印出数字0到4?A、for i in range(5): print(i+1)B、for i in range(5): print(i)C、for i in range(1, 6): print(i)D、for i in range(0, 5): print(i-1)(答案)B5、在Python的for循环中,如果想要同时遍历序列的索引和值,可以使用哪个函数?A、enumerateB、mapC、filterD、zip(答案)A6、以下哪个代码片段会打印出列表中的所有元素?A、for i in list: print(i)B、for i in range(list): print(i)C、for i in list.keys(): print(i)D、for i in list.values(): print(i)(答案)A(假设list是一个已定义的列表)7、在Python中,如果想要在for循环中提前结束循环,可以使用哪个关键字?A、continueB、breakC、returnD、exit(答案)B8、以下哪个代码片段会打印出“Hello”三次,并在每次打印后跳过当前循环的剩余部分?A、for i in range(3): print("Hello"); continueB、for i in range(3): print("Hello"); breakC、for i in range(3): if i < 3: print("Hello"); continueD、for i in range(3): print("Hello")(答案)A。
循环结构程序设计练习题
循环结构程序设计练习题1、运行以下语句后,A的值为______。
Dim A As IntegerA=1Do Until A=100 A) 99 B) 100A=A+2 C) 溢出D) 101Loop2、以下程序运行结果是()。
S=0For H=1 T o 10 A)15 B)25If Int(H/2)<>H/2 Then C)35D)45S=S+HEnd IfNext HPrint S3、在窗体上画一个command1的命令按钮,然后编写如下事件过程:X = 0N = Inputbox("")For I = 1 T o NFor J = 1 T o IX = X + 1Next JNext IPrint X程序运行后单击命令按钮,如果输入3,则在窗体上显示的内容是( )A) 3 B) 4C) 5 D) 64、设有以下循环结构Do循环体Loop While <条件>则以下叙述中错误的是( )A)"条件"是一个为0的常数,则一次也不执行循环体B)"条件"可以是关系表达式、逻辑表达式或常数C)循环体中可以使用exit Do语句D)如果"条件"总是为true,则不停地执行循环体5、下面程序的循环次数是()For J=8 T o 35 Step 3Print J A)7B)8Next J C)9D)106、对正实数x 的第四位小数四舍五入的vb表达式是()。
A) 0.001*Int(X+0.005) B ) 0.001*(1000*X+0.5)C) 0.001*Int(1000*X+5) D) 0.001*Int(1000*(X+0.0005))7、下面程序运行后在文本框中的结果是()For K=1 T o 3For M=1 T o K A)12B)14For N=M T o 3 C)18D)24X=X+1Next N,M,KT ext1.T ext=X8、下面程序运行后的输出结果是()For H=1 T o 13 Step 2H=H+1 :Print H;A)2 4 6 8 10 12B)1 3 5 7 9 11 13 Next H C)2 5 8 D)2 5 8 11 14 9、下面程序的作用是什么()M=0:N=0For H=1 T o 10X=Val(Inputbox(“请输入数据”,””,0))If X<0 ThenM=M+XElseif X>0 ThenN=N+1End IfNext HPrint M,NA)计算从键盘上输入的数据之和,并统计输入数据的数目B) 分别计算从键盘上输入的正数之和与负数之和C) 分别统计从键盘上输入的正数和负数的数目D) 计算从键盘上输入的负数之和,并统计正数的数目10、下列关于for循环的叙述中,正确的是()A) 循环体至少被执行一次B) 循环体有可能不被执行C) 步长不允许是小数D) 循环初值等于终值时循环体不被执行11、下列程序的输出结果是哪一个()Do While X<20X=X+1:X=X*X A)36B)25Loop C)16 D)12Print X12、下面程序的运行结果是()A=1:B=1DoA=A+1:B=B+1Loop Until B>5Print "K=";A;Spc(3);"B=",B+AA)K=7 B=14B)K=5 B=10C)K=6 B=6 D)K=6 B=1213、下面语句组中,不能实现20次循环的有()A) N=0 B) N=0Do DoN=N+1 N=N+1Loop Until N>=20Loop Until N<20C) N=0 D) N=0Do Do Whle N <20N=N+1 N=N+1Loop While N<20 Loop14、下面程序能计算1+(1+2)+(1+2+3)+…+(1+2+3…+9)的是()A) S=0 B) S=0:T=0For H=1 T o 9 For H=1 T o 9S=S+1 S=S+TNext H Next HC) S=0 D) S=0For H=1 T o 9 For H=1 T o 9T=0 For J=1 T o HFor J=1 T o H T=T+HT=T+J Next JNext J S=S+TS=S+T Next HNext H15、下面程序的运行结果是()Dim X(1 T o 10)As IntegerMax=1e-30For H=1 T o 10X(H)=HIf X(H)>=Max Then Max=X(H)1Next HErase XPrint “Max=”;Max;“X(10)=”;X(10)A) Max=10 X(10)=10B)Max=10 X(10)=0C) Max=0 X(10)=10 D)Max=0 X(10)=016、阅读以下程序,执行该程序后,数组a和数组b的值是()Dim A(50),B(50)For N=1 T o 50:A(N)=N:Next NFor N=1 T o 50B(N)=A(N)+A(N-1)Print B(N);Next NA) 数组a和数组b各存储1~50的自然数B) 数组a存储1~50的自然数,数组b存储1~99的自然数C) 数组a存储1~50的自然数,数组b存储1~99的奇数D) 数组a存储1~50的自然数,数组b存储2~100的偶数17、运行下面程序后的输出结果是()For H=1 T o 4 A) 1 2 3 4Print H;B) 1 2 3 4 5Next H C) 1 2 3 4 4Print H D) 1;2;3;4;518、判断下面程序是计算哪一个数学式子的()N=Val(Inputbox(“请输入n的值”)T=1:S=0For H=1 T o 2*N+1 Step 2T=T*H:S=S+TNext HPrint SA) 1+3+5+…+2n+1B) 1*3*5*…*(2n+1)C) 1!+3!+5!+…+(2n+1)! D) 1+1*3+1*3*5+…+1*3*..*(2n+1)19、运行以下程序后,显示的结果是()Dim D(6,6)For H=1 T o 6For J=1 T o 6D(H,J)=6*H*H*JNext J,HFor H=1 T o 6Print D(H,H);Next HA) 1 2 3 4 5 6 B) 1 4 9 16 25 36C) 6 48 162 384 750 1296D) 1 2 3 4 5 62 4 6 8 10 123 6 9 12 15 184 8 12 16 20 2420、运行以下程序后,显示的结果是()Dim N(5) As IntegerN(0)=2For H=2 T o 5 A)1 2 3 4 5N(H)=N(H-2)*H*H B)1 2 6 24 120Print N(H);C)8 0 128 0Next I D)2 4 12 48 24 21、当x的值分别为5,9,8,2,-999时,下面程序运行后的结果是()B=0X= Val(Inputbox(“请输入一个数”))Do While X<>-999 And D<>2If X>B Then B=XX= Val(Inputbox(“请输入一个数”))LoopPrint B A)9 B)8 C)2 D)-99922、有如下事件过程,其运行结果是()For I=1 T o 4Print T ab(2*I+1);11*I;Next IA) 11 22 33 44 B)11 C) 11 D) 1122 22 2233 33 3344 44 4423、有如下事件过程,其运行结果是()Private Sub Form_Click()A=0For h=1 T o 10A=A+1B=0For J=1 T o 10 A) 10 20 B) 20 110A=A+1 C) 110 20 D) 200 110B=B+2Next J,hPrint A;BEnd Sub24、有如下事件过程,程序运行三次当N分别为2、4、6时,其第二次的结果是()Private Sub Form_Click()N= Val(Inputbox(“请输入一个数”))For h=1 T o NJ=1J=J*hNext hPrint h,JEnd SubA) 5 24 B) 4 24 C) 5 4 D) 4 425、有如下事件过程,其运行结果是()Private Sub Form _Click()For I=0 T o List1.Listcount-1If I Mod 2=0 ThenPrint List1.List(I)End IfNextEnd SubPrivate Sub Form _Load()List1.Additem “中国”List1.Additem “日本”A)中国韩国B) 日本新加坡List1.Additem “韩国”C) 中国韩国香港List1.Additem “新加坡”D) 中国日本韩国新加坡香港List1.Additem “香港”End Sub二、填空题1、下面语句循环的次数是(7 )For X=-0.5 T o -3.5 Step -0.52、运行下面程序后,显示结果是(225 )Dim A(15)For H=1 T o 15A(H)=H^2Next HPrint A(H-1)3、下面程序运行后的输出结果是(160 )For J=1 T o 202If J Mod 5<>0 Then A=A+JNext JPrint A4、以下程序是找出50以内的所有能构成直角三角形的整数组,请补充完整该程序.For A=1 T o 50For B=A T o 50C=Sqr(A*A+B*B)If ()Then Print A;B;CNext BNext A5、下面程序运行后文本框中的输出结果是()K=1For J=1 T o 6K=K*JNext JT ext1.T ext=K+J6、以下程序是计算(1+1/2)*(1+1/3)*…*(1+1/10),阅读该程序,请将程序补充完整S=1()S=()Next YPrint S7、以下程序是用随机数模拟掷,统计掷50次出现的个点数的次数。
循环程序设计习题及答案
模块三循环程序设计习题及答案一、填空题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)。
(完整版)VB循环结构练习题
VB循环结构练习题一、分析程序的运行结果(每题2分,共60分)1、以下循环的执行次数是_____。
K=0Do While k<=10k=k+1Loop2、下列程序段的执行后输出的结果为_____。
I=4:A=5DoI=I+1:A=A+2Loop Until I>=7Print "A=";A3、下列程序的执行结果是____。
T = O : m = 1 : Sum = 0Dot = t + m : Sum = Sum + t : m = m + 2Loop While m <= 9Print Sum4、下列程序段的执行时,共循环____次。
For a=0 To 1For b=1 To 2For c=1 To 3I=I+1Next c Next bnext a5、下列程序段的运行结果是:Sub sele()Dim n as IntegerI=21:n=3Do While I>nI=I-nLoopPrint IEnd Sub打印结果_____。
6、执行下面的程序段后,s的值为____。
S=5For I=2.6 To 4.9 Step 2s=s+1Next I7、下列程序段的执行后输出的结果为_______。
K = 1For I = 1 To 3A = I ^ I ^ KNext IPrint A8、下列程序的执行结果是_____。
M1 = 1:m2 = 1Do While m2<>6m1 = m1*m2 : m2 = m2+1LoopPrint m19、下列程序的执行结果是_____。
Private Function P(N As Integer)For I = I To NSUM = SUM + 1Next IP = SUMEnd FunctionPrivate Sub Command1_Click()S = P(1) + P(2) + P(3) + P(4)Print S;End Sub10、以下程序用来输出1到100所有奇数的和,请补充完该程序。
循环结构程序设计习题
1. 单项选择题BADCCA(1)for(i=1;i<9;i+=1);该循环共执行了次。
A. 7B. 8C. 9D. 10(2)int a=2;while(a=0) a--;该循环共执行了次。
A. 0B. 1C. 2D. 3(4)以下for语句中,书写错误的是。
A. for(i=1;i<5;i++);B. i=1;for(;i<5;i++);C. for(i=1;i<5;) i++;D. for(i=1,i<5,i++);(5) 语句,在循环条件初次判断为假,还会执行一次循环体。
A. forB. whileC. do-whileD. 以上都不是(6)循环结构的特点是。
A. 从上至下,逐个执行B. 根据判断条件,执行其中一个分支C. 满足条件时反复执行循环体D. 以上都对(10)下列程序段执行后s 的值为。
int i=1, s=0; while(i++) if(!(i%3)) break ; else s+=i ;A. 2B. 3C. 6D. 以上均不是int i=3, s=0; while(i--) PRINTF;2. 填空题(3)循环体执行遇到continue 语句时。
(5)输入N个实数,输出其中的最大值、最小值。
#include <stdio.h>void main( ){float no1,nmax,nmin;scanf("%d",&n); scanf("%f",&no1);nmax=no1;for(i=2;i<=n;i++){scanf("%f", &nol );if(nol>nmax) nmax=nox;}printf("MAX=%f MIN=%f\n",nmax,nmin);}(6)输入若干个字符,分别统计数字字符的个数、英文字母的个数,当输入换行符时输出统计结果,运行结束。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三单元循环结构练习题选择题:1、有以下程序执行后的输出结果是()。
main( ){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf("%d\n",s);}A.自然数1~9的累加和 B.自然数1~10的累加和C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和2、以下关于for语句的说法不正确的是()。
A. for循环只能用于循环次数已经确定的情况B. for循环是先判断表达式,后执行循环体语句C. for循环中,可以用break跳出循环体D. for循环体语句中,可以保含多条语句,但要用花括号括起来3、若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是()。
A.循环体执行两次B.循环体执行一次C.循环体一次也不执行D.构成无限循环4、已知 int t=0; while(t=1){...} 则以下叙述正确的是()。
A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对5、设有以下程序段int x=0,s=0;while(!x!=0)s+=++x;printf("%d",s); 则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次6、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为()。
for(i=0, j=10; i<=j; i++, j- -) k=i+j;A.6B.9C.10D.117、C语言中,break; 语句可以用于循环语句和( )语句中。
A.ifB.switchC.forD.while8、for(i=0; i<=15; i++) printf("%d", i ); 循环结束后,i 的值为()。
A.14B.15C.16D.179、与语句“while(!x)”等价的语句是()。
A. while(x==0)B. while(x!=0)C. while(x==1)D. while(x!=1)10、下述程序段中,while循环执行次数是()。
int k=0;while(k=1) k++;A.无限次B. 有语法错误,不能执行C.一次也不执行D. 执行一次11、以下程序中,while循环的次数是()。
#include <stdio.h>void main( ){int i=0;while(i<10) { if(i<1) continue; if(i= =5)break; i++;}}A. 1B. 死循环,不能确定次数C. 6D. 1012.下面程序段int k=2;while (k=0) {printf(“%d”,k);k--;}则下面描述中正确的是。
A)while循环执行10次 B)循环是无限循环C)循环题语句一次也不执行 D)循环体语句执行一次13.以下程序段的循环次数是。
for (i=2; i==0; ) printf(“%d” , i--) ;A)无限次 B)0次 C)1次 D)2次14. int i=100;以下不是死循环的程序段是。
A)while (1) {i=i%100+1 ;if (i>100) break ;} B)for ( ; ; ) ;C) int k=0; do { ++k; } while (k>=0); D)int s=36;while(s) ;--s ;15.下述程序段的运行结果是。
int a=1,b=2, c=3, t;while (a<b<c) {t=a; a=b; b=t; c--;} printf(“%d,%d,%d”,a,b,c);A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,116.下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择填空。
main ( ){ int m=0,n=0;char c;while ((【】) !=’\n’){if (c>=’A’ && c<=’Z’) m++;if (c>=’a’ && c<=’z’) n++;} }A)c=getchar( ) B)getchar( ) C)c==getchar( ) D)scanf(“%c”,&c)17.下述语句执行后,变量k的值是。
int k=1;while (k++<10);A)10 B)11 C)9 D)无限循环,值不定18.下面for循环语句。
int i,k;for (i=0, k=-1; k=1; i++, k++)printf(“***”);A)判断循环结束的条件非法 B)是无限循环C)只循环一次 D)一次也不循环19. 以下for循环的执行次数是。
for (x=0,y=0; (y=123) && (x<4) ; x++) ;A)无限循环 B)循环次数不定 C)4次 D)3次20.以下是死循环的程序段是。
A) for (i=1; ; ) {if (i++%2==0) continue ;if (i++%3==0) break ;}B) i=32767; do { if (i<0) break ; } while (++i) ;C) for (i=1 ; ;) if (++I<10) continue ;D. i=1 ; while (i--);21.以下程序段。
x=-1;do{ x=x*x; }while (!x);A)是死循环 B)循环执行2次 C)循环执行1次 D)有语法错误22.下面程序的功能是在输入的一批正数中求最大者,输入0结束循环,选择填空。
main ( ){ int a,max=0;scanf(“%d”,&a);while (【】) { if (max<a) max=a ; scanf (“%d”,&a); } printf(“%d”,max);}A)a==0 B)a C)!a==1 D)!a23.以下不是死循环的语句是。
A)for (y=9,x=1;x>++y;x=i++) i=x ;B)for ( ; ; x++=i ) ;C)while (1) { x++ ; }D)for (i=10 ; ; i--) sum+=i ;读程题:1.以下程序的输出结果是。
main(){ int i, a[6]={2,3,4,5,6,7};for(i=1; i<6; i+=2)printf("%d ", a[i]);}2.写出下面程序运行的结果。
main ( ){ int i=5 ;for (; i<5 ;){ i++;if(i%4==0)printf(“%-2d”,i);else continue;}}3.写出下面程序运行的结果。
main ( ){ int a,b;for (a=1,b=1 ; a<=100 ; a++) {if (b>=20) break;if (b%3==1) { b+=3 ; continue ; }b-=5;}printf(“%d\n”,a);}4.写出下面程序运行的结果。
main ( ){ int k=1,n=263 ;do { k*= n%10 ; n/=10 ; } while (n) ;printf(“%d\n”,k);}5.若执行以下程序时从键盘上输入3和4,则输出结果是。
main( ){ int a,b,s;scanf("%d%d",&a,&b);s=a;if(a<b) s=b;s*=s;printf("%d\n",s);}6.写出下面程序运行的结果。
main ( ){ int i ;for(i=1;i<10;i++){if(i%3) i++;++i ;printf(“%d ”,i) ;}}文件、结构体、位运算(本部分内容期末只考查位运算)1、左移运算:int a=4,c=a>>1;变量c的值是()。
A.2B.8C. 9D. 02、在位运算中,操作数每右移一位,其结果相当于()。
A.操作数乘以2B.操作数除以2C. 操作数乘以4D. 操作数除以23、表达式“12|012”的值是()。
A.1B.0C. 14D. 124.以下程序的输出结果是()。
main(){int a,b;a=4|3;b=4&3;printf(“%d %d”,a,b);}A.7 0B.0 7C. 1 1D. 43 05.表达式0x13|0x17的值是()。
A.0x13B.0x17C. 0xE8D. 0xC86.表达式19&23的值是()。
A.0x7B.0x13C. 0xf8D. 0xec7、若有以下说明:struct st{int a;int b[2];}a;则下述正确的是(已知int型变量占两个字节)()。
A.结构体变量a与结构体成员a同名,定义非法。
B.程序只在执行到该定义是才为结构体变量a分配存储单元。
C.程序运行时为结构体变量a分配六个自己存储单元D.以上说法都不对8、若有以下定义和语句:struct student{int num;char name[12];struct{ int year;int month;int day;} birth;}struct student s;设变量s中“生日”是“2013年1月1日”,下列对“生日”的正确赋值方式是()。
A.year=2013;month=1;day=1;B.birth.year=2013; birth.month=1; birth.day=1;C.s.year=2013; s.month=1; s.day=1;D.s.birth.year=2013; s.birth.month=1; s.birth.day=1;9、若有以下定义和语句:struct st{int x;char y;}s;则下列赋值正确的是()。
A.st.x=10;B.st.s.x=10;C. struct st={10,7};D.struct st a={10,7};10、以下数据类型中不是构造类型的是()。
A.数组型B.指针型C.结构体D.共用体11、若有以下定义,则能打印出字母M的语句是()。
struct person{char name[12];int num;};struct person class[8]={“Linan”,20, “zhanghai”,18, “Maming”,23, “wanghua”,25, “chenqi”,17};A.printf(“%c”,class[3].name);B.printf(“%c”,class[3].name[1]);C.printf(“%c”,class[2].name[1]);D.printf(“%c”,class[2].name[0]);12、下列程序段正确的是()。