‘壹’ c语言中的for循环
首先进入第一个for
你要记住,for语句中第一个语句只执行一次,最后一个参数是把大括号内中的所有语句执行完后才执行的。那就是第一个for执行了2次,
而看在问答,是求s的结果,s只和j有直接关系,而就可以放弃第一个for循环中的缉乏光何叱蛊癸坍含开循环次数了,以为s=1,每次都把s重置了,而j的初始化,只和第一个for最后一个k有关,所以:所以,真正求值,就是在k<6的最后一次,也就是k=4的时候。
然后j=k=4,s=s+j,重复2次,
第一次:s=1+4(j)=5,
第二次:s=5+5(j)=5,
所以,5+5=10
‘贰’ C语言for(表达式1,表达式2,表达式3)语句 中表达式2为空语句则变成死循环,那么这里的空语句为真还是假
这里“表达式2为空语句则变成死循环”这样说不完整正确。
例如下面这个循环:
int i=0;
for(i=0;;i++)
{
if(i>10) break;
printf("%d",i);
}
这就不是死循环,这里将for的第二个表达式的判断移至循环体内,借助break来结束循环。
这里的空语句可以理解为永真,因为没有进行任何的判断,所以可以这样理解。
‘叁’ 2. 语句 for(表达式1;表达式2;表达式3) 中的三个表达式,如果( ) 省略,循环将无终止地进行下去。
语句 for(表达式1;表达式2;表达式3) 中的三个表达式,如果( 表达式2 ) 省略,循环将无终止地进行下去。
(1)省略1是可以的,但是需要在for语句之前定义变量。如:
int i=0;
for(;i<10;i++){};
(2)省略2会死循环,2是判断条件,为假的时候退出循环。省略会默认判断一直为真,循环一直进行。这个时候可以在for循环内手动终止循环。
for(int i=0;;i++)
if(i>=10)break;}(break可以用来终止循环,就是如果括号内为真就退出for循环,这就是手动终止)
(3)c语言for表达式2表达式3扩展阅读:
for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。
“;”号之间的条件表达式是一个关系表达式,其为循环的正式开端,当条件表达式成立时执行中间循环体。
执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体。
‘肆’ C语言中 for语句的格式为 for(表达式一;表达式2;表达式3) 表达式二能否是两个以上
不可以,表达式二实际上是一个逻辑表达式,供for循环使用,可以没有,对于表达式来说没有连写的情况,也即不存在你所说的“两个连写”。而1和3实际上不能称为表达式,他们实际上是可执行的标准语句,供for循环调用,语句是可以连写的,也可以没有。
注意表达式和语句的区别。
不过这还要拒绝于编译器,不同的编译器可能会提供不同的特性,理论上是这样的。
我好奇多问一句:你有什么样的需求需要在表达式二中写多条语句呢?
‘伍’ 在C语言中,在for循环语句中,当执行到continue语句时不是直接去执行表达式2 而是先执行表达式3 为什么
出第一次执行表达式1之外
之后的循序是:表达式2->for语句块(遇到continue后跳出当前循环)->表达式3 ->表达式2->for语句块(遇到continue后跳出当前循环)->表达式3 ->表达式2……
如果执行到continue语句时是直接去执行表达式2 而不是去执行表达式3 那么for语句就很有可能陷入死循环了
‘陆’ C语言中for(;;)是什么意思
在C语言中,for语句使用最为灵活,它的一般形式为:
for(表达式1; 表达式2; 表达式3) 语句
它的执行过程如下:
先求解表达式1。
求解表达式2,若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第3)步;若其值为假(0),则结束循环,转到第5)步。
求解表达式3。
转回上面第2)步继续执行。
循环结束,执行for语句下面的一个语句。
程序执行过程如下图所示:
‘柒’ c语言 for
for(表达式1;表达式2;表达式3)
{循环体}
这三个表达式,可以都有,也可以都没有,也可以由任意的一项或两项,这就是for的灵活性所在
解释一下三个表达式的含义
表达式1,这个一般是初始化条件,如i=1。在第一个分号之前,可以用一个,也可以好几个,用逗号隔开
表达式2,这个事循环条件,满足就继续执行循环体,不满足就跳出循环。这里一般是个逻辑判断语句。
表达式3,这个一般是改变循环条件的地方,如i++。
执行顺序是,先初始化,也就是运算表达式1,初始化完成后,这个表达式就没有用处了。
接着判断是否满足循环条件,也就是运算表达式2,如果是真,就执行循环体。
最后,运算表达式3,改变循环条件。这样第一次循环完成。
接着第二次循环,也就是运算表达式2,看是否满足循环条件,如果表达式2还满足(也就是真),接着执行循环体。完成后运算表达式3,。
如此往复循环,直到不满足表达式2后,跳出循环
‘捌’ c语言for循环输出 1 2 4 3 6 9 4 8 12 16 5 10 15 20 25
for 循环语句的一般形式为:
for (表达式1; 表达式2; 表达式3)
{
语句;
}
首先要强调两点:
1) 表达式1、表达式2和表达式3之间是用分号;隔开的,千万不要写成逗号。
2) for(表达式1;表达式2;表达式3)的后面千万不要加分号,很多新手都会犯这种错误——会情不自禁地在后面加分号。
因为 for 循环只能控制到其后的一条语句,而在C语言中分号也是一个语句——空语句。所以如果在后面加个分号,那么 for 循环就只能控制到这个分号,下面大括号里面的语句就不属于 for 循环了。
下面来看看它的执行过程:
求解表达式1。
求解表达式2。若其值为真,则执行 for 语句中指定的内嵌语句,然后执行第3步;若表达式2值为假,则结束循环,转到第5步。
求解表达式3。
转回上面第2步继续执行。
循环结束,执行 for 语句下面的语句。
从这个执行过程中可以看出,“表达式1”只执行一次,循环是在“表达式2”“表达式3”和“内嵌语句”之间进行的。