资源描述:
《C语言for循环地嵌套题(含解析汇报和问题详解).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实用文档第33、34课时for循环的嵌套实验题一:1、下面有关for循环的正确描述是:DA)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来2、对for(表达式1;;表达式3)可理解为:BA)for(表达式1;0;表达式3)B)for(表达式1;1;表达式3)C)for(表达式1;表达式1;表达式3)D)for(表达式1;表达式3;表达式3)3、若i为整型变量,则以下循环执行次数是:Bfor(i=2;2==0;)pri
2、ntf("%d",i--);A)无限次B)0次C)1次D)2次4、以下for循环的执行次数是:Cfor(x=0,y=0;(y=123)&&(x<4);x++);A)是无限循环B)循环次数不定C)执行4次D)执行3次实用文档解析:第一次:;y=123&&0<4成立x++àx=1;第二次:(y=123)&&(1<4)成立,x++àx=2第三次:(y=123)&&(2<4)成立,x++àx=3第四次:(y=123)&&(3<4)成立,x++àx=4第五次:(y=123)&&(4<4)不成立,退出循环。5、以下不是无限循环的语句为:AA)for(y=0,x=1;x>++y;x=i
3、++)i=x;B)for(;1;x++=i);C)while(1){x++;}D)for(i=10;1;i--)sum+=i;6、下面程序段的运行结果是:Cfor(y=1;y<10;)y=((x=3*y,x+1),x-1);printf("x=%d,y=%d",x,y);A)x=27,y=27B)x=12,y=13C)x=15,y=14D)x=y=27第一次:1<10为真,x=3,x+1=3+1=4,y=(4,x-1)y=(4,2)=2第二次:2<10为真,x=3*2=6,7y=(7,x-1)=(7,5)y=5第三次:5<10为真,x=3*5=1516y=(16,x-1)
4、=(16,14)y=14实用文档第四次:14<10为假,7、下面程序段的运行结果是for(x=3;x<6;x++)printf((x%2)?("**%d"):("##%d"),x);解析:第一次:3<6为真,3%2=1**3x++àx=4第二次:4<6为真,4%2=0##4(换行)x++àx=5第三次:5<6为真,5%2=1**5x++àx=6第四次:6<6为假,结束循环A)**3B)##3C)##3D)**3##4##4**4**4##5**5**5##58、下列程序段不是死循环的是A)inti=100;whiLe(1){i=i%100+1;if(i>100)bre
5、ak;}B)for(;1;);C)intk=0;do{++k;}while(k>=0);实用文档D)ints=36;while(36);--s;9、执行语句for(i=1;i++<4;);后变量i的值是A)3B)4C)5D)不定实验题二:编程题1、编写程序,求1-3+5-7+…-99+101的值。(1+5+9+13+17+…+101)-(3+7+11+15+…+99)方法一:main(){inti,j,sum1=0,sum2=0,sum;for(i=1;i<=101;i+=4)sum1+=i;for(j=3;j<=99;j+=4)sum2+=j;sum=sum1-sum2
6、;printf(“1-3+5-7+…-99+101=%d”,sum);}实用文档方法二:main(){ int i,sum=0,s=1; for(i=1; i<=101;i+=2) { sum=sum+i*s; s=-s; /*控制符号交替变换*/ } printf("sum=%d",sum);}2、编写程序,求e的值。e»1+1/1!+1/2!+1/3!+..+1/n!(1)用for循环,计算前50项。(2)用循环,要求直至最后一项的值小于10-4源程序一:(1)用for循环实现实用文档main( )
7、{ int i,n; double sum=1,t=1; printf("input n:"); scanf("%d",&n); for(i=1;i<=n;i++) { t=t*i; /* 实现阶乘*/ sum=sum+1/t; } printf("e=%lf",sum);}源程序二:(2)用while循环实现#includemain( ){ int i; doubel sum=1,