C语言问题,关于循环语句

[复制链接]
查看11 | 回复5 | 2012-2-13 21:45:50 | 显示全部楼层 |阅读模式
没有循环体?后面的“;”就是循环体,就一个语句,只不过没有“{}”而已。A中while后面有个;号,后以--x没有执行会造成死循环。B中while中的x=5一直是真所以会死循环。C中每一次x++自加,在循环体中x--又减少了,所以条件x<10一直为真,会死循环。D中do在前面,会先执行循环体中的一次,然后再判定条件,所以++x,中x到101时不满足条件退出了循环。故选择D。...
回复

使用道具 举报

千问 | 2012-2-13 21:45:50 | 显示全部楼层
D 不是死循环while(条件满足){ 循环部分。 如果循环为空 则用一句;表示}因此A while(x) ;由于x始终不等于0 ,因为在循环部分没有对X 的值有任务操作。B while(x =5);x = 5 的条件一直为真 因此这是个赋值操作,结果肯定是赋值成功C在for语句中 即对x++ 又对x-- 因此...
回复

使用道具 举报

千问 | 2012-2-13 21:45:50 | 显示全部楼层
我觉得D都不会构成死循环A: x初始化为10 while(x); 就是在执行死循环(当x为真就执行空语句)B:x初始化为10while(x=5);x=5是将x赋值为5,则此时为真。所以执行while的空语句。所以死循环C:for语句里面,x初始化成0,然后在循环体内,x的值一直在0和1之间跳动,一直符合for语句的条件判断,所以一...
回复

使用道具 举报

千问 | 2012-2-13 21:45:50 | 显示全部楼层
循环体是一条语句,如果要想跟上多条的话就得用{}括起来构成复合语句,但是符合语句从语法上来说仍然是一条语句,所以循环体只能是一条语句是这么来的,c语言中的空语句就是一个";"这也是语句可以作为循环体,只不过没做任何事情!...
回复

使用道具 举报

千问 | 2012-2-13 21:45:50 | 显示全部楼层
A)int x=10;
while(x);--x;while(x); 就是 while(10); 在C里,数值转化为逻辑值,非0即是逻辑1,所以死循环B)int x=10;
while(x=5);同上,死循环C)int x; for (x=0;x<10;x++)
x--;执行一个循环 X值 ...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行