【C语言应该这样学】for语句与while语句今生相遇

目录

1.for语句的特例

​2.总结while()和for()的风格


1.for语句的特例

        需要强调的是,如果在for语句中没有循环条件,则认为表达式始终为真。for语句常用于“遍历”,请看一下经典for语句特例

例1.1
for(;;)
{
 循环体语句;
}
或者来个更变态的
for(;;);

例1.1 for(;;)相当于while(1)无限循环。

例1.2
for(;i<100;i++)
;

变形1
#include"stdio.h"
int main() {
	int i = 1;
	for (; i < 100 ;) {
		printf(" % d", i);
		i++;
	}
}


变形2(自行包含头文件)
int main() {
	int i = 1;
	for (; i < 100 ; i++) {
		printf(" % d", i);
		
	}
}

变形3
int main() {
	int i = 1;
	for (; i < 100 ;) {
        i++;
		printf(" % d", i);
		
	}
}


变形4
int main() {
	int i = 1;
	for (; i < 100 ; )
		printf(" % d", i);
		i++;
}

 例1.2 变形1和变形2答案一致,仔细想想为什么,又为什么和变形3的不一致?

以下是变形4的答案,无限出现1。为什么?这说明跟到for语句后面如果只有一条语句(当然;空语句也算),可以不加花括号{ }。但超过两条及以上语句却不加花括号,for语句则认定跟到它最近的一条语句为for语句的循环体。

接着重新看一下例1.2变形1

例1.2
变形1
#include"stdio.h"
int main() {
	int i = 1;
	for (; i < 100 ;) {
		printf(" % d", i);
		i++;
	}
}

终极变形:
int main(){
    int i = 1;
    while(i < 100){
    printf(" % d", i);
		i++;
}
}

运行结果不出所料,两者一致:

2.总结while()和for()的风格

for语句的简写风格
for(expression1 ; expression2 ; expression3)
              statement


改为while语句的简写风格
expression1;
while(expression2){
    statement
    expression3;

}


statement循环体不知道包含几条语句,所以statement
后面我没有加上分号;

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式历练者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值