C语言 for循环的嵌套题(含解析和答案)

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第33、34课时for循环的嵌套

实验题一:

1、下面有关for循环的正确描述是: D

A) for循环只能用于循环次数已经确定的情况

B) for循环是先执行循环体语句,后判断表达式

C) 在for循环中,不能用break语句跳出循环体

D) for循环的循环体语句中, 可以包含多条语句,但必须用花括号括起来

2、对for(表达式1;;表达式3)可理解为:B

A) for(表达式1; 0;表达式3)

B) for(表达式1;1;表达式3)

C) for(表达式1;表达式1;表达式3)

D) for(表达式1;表达式3;表达式3)

3、若i为整型变量,则以下循环执行次数是:B

for (i=2;2==0;) printf("%d",i-- );

A)无限次B) 0次C) 1 次D) 2次

4、以下for循环的执行次数是:C

for (x=0,y=0; (y=123)&&(x<4); x++) ;

A)是无限循环B)循环次数不定C)执行4次D)执行3次

&&(1<4)成立,x++→x=2

第三次:(y=123)&&(2<4)成立,x++→x=3 第四次:(y=123)&&(3<4)成立,x++→x=4

第五次:(y=123)&&(4<4)不成立,退出循环。

5、以下不是无限循环的语句为:A

A) for (y=0,x=1;x > ++y;x =i++) i=x ;

B) for (;1; x++=i);

C) while (1) {x ++;}

D) for(i=10;1 ;i--) sum+=i;

6、下面程序段的运行结果是:C

for (y=1;y<10;)

y=((x=3* y,x+1),x-1);

printf ("x=%d,y=%d",x,y);

A)x=27,y=27 B)x=12,y=13 C)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,7 y=(7,x-1)=(7,5) y=5 第三次:5<10为真,x=3*5=15 16 y=(16,x-1)=(16,14) y=14

7、下面程序段的运行结果是

for(x=3;x<6;x++)

printf((x %2)?("**%d"):(" ##%d\n"),x);

解析:第一次:3<6为真,3%2=1 **3 x++→x=4 第二次:4<6为真,4%2=0 ##4(换行)x++→x=5 第三次:5< 6为真,5%2=1 **5 x++→x=6

第四次:6<6为假,结束循环

A)**3 B )##3 C)##3 D)**3##4

##4 **4 **4##5**5

**5 ##5

8、下列程序段不是死循环的是

A) int i=100;

whiLe (1)

{i=i%100+1;

if (i>100) break;

}

B) for(;1;);

C) int k=0;

do{++k;}

while (k> =0) ;

D) int s=36;

9、执行语句for(i=1;i++<4;) ;后变量i的值是

A)3 B )4 C)5 D)不定

实验题二:编程题

1、编写程序,求1-3+5-7+…-99+101的值。

(1+5+9+13+17+...+101)-(3+7+11+15+ (99)

方法一:

main()

{

int i,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;

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()

{

double sum=1,t=1;

printf("input n:\n");

scanf("%d",&n);

for(i=1;i<=n;i++)

{

t=t*i;/*实现阶乘*/

sum=sum+1/t;

}

printf("e=%lf",sum);

}

源程序二:(2)用while循环实现

#include

main()

{

int i;

doubel sum=1,t=1;

while(fabs(1.0/t)>1e-4)/*fabs求浮点型数据的绝对值*/ {

t=t*i;

sum=sum+1/t;

相关文档
最新文档