从零开始学C语言系列之第五章《for的灵活性》

往期回顾

1.【第一章】《认识C语言》
2.【第二章】C语言概述及基本知识1
3.【第二章】C语言概述及基本知识2
4.【第三章】字符串和格式化输入/ 输出
5.【第三章】 printf
6.【第三章】 scanf
7.【第三章】 putchar
8.【第三章】 getchar
9.【第三章】 sizeof
10.【第三章】 strlen
11.【第三章】 define
12.【第四章】运算符第一节
13.【第四章】运算符第二节
14.【第四章】运算符第三节
15.【第四章】运算符第四节
16.【第四章】类型转换
17.【第四章】函数与转化
18.【第五章】while
19.【第五章】for开篇



for的灵活性

递减运算符来递减计数器

#include <stdio.h>
int main(void)
{
	int i;

	for(i=5;i>0;i--)
	{
		printf("现在输出的是%d\r\n",i);
	}

    return 0;
}

在这里插入图片描述

计数器递增倍数

#include <stdio.h>
int main(void)
{
	int i;

	for(i=0;i<20;i=i+2)
	{
		printf("现在输出的是%d\r\n",i);
	}

    return 0;
}

在这里插入图片描述

可以用字符代替数字计数

#include <stdio.h>
int main(void)
{
	char i;

	for(i='a';i<='z';i++)
	{
		printf("现在输出的是%c\r\n",i);
	}

    return 0;
}

在这里插入图片描述

测试多样条件

#include <stdio.h>
int main(void)
{
	int i;
	//for(i=0;i<=6;i++) 替换
	for(i=0;i*i*i<=216;i++)
	{
		printf("现在输出的是%d\r\n",i);
	}

    return 0;
}

在这里插入图片描述

递增的量几何增长

#include <stdio.h>
int main(void)
{
	double i;

	for(i =100.0;i<150.0;i=i*1.1)
	{
		printf("现在输出的是%.2f\r\n",i);
	}

    return 0;
}

在这里插入图片描述

双条件

#include <stdio.h>
int main(void)
{
	int x;
	int y=55;

	for(x = 1; y <= 75; y = (++x * 5) + 50)
	{
		printf("现在输出的x是%d,	y是%d\r\n",x,y);
	}

    return 0;
}

在这里插入图片描述

省略表达式

可以省略一个或多个表达式(但是不能省略分号),只要在循环中包含能结束循环的语句即可。

注意:不要造成死循环

省略第一个条件

#include <stdio.h>
int main(void)
{
	int x = 1;

	for(; x <= 5; ++x)
	{
		printf("现在输出的x是%d\r\n",x);
	}

    return 0;
}

在这里插入图片描述

省略第二个条件

#include <stdio.h>
int main(void)
{
	int x;

	for(x = 1;; ++x)
	{
		printf("现在输出的x是%d\r\n",x);
		if(x == 5)
			return ;
	}

    return 0;
}

在这里插入图片描述

省略第三个条件

#include <stdio.h>
int main(void)
{
	int x;

	for(x = 1; x <= 5; )
	{
		printf("现在输出的x是%d\r\n",x);
		++x;
	}

    return 0;
}

在这里插入图片描述

死循环

#include <stdio.h>
int main(void)
{
	for(;;);   
    return 0;
}

初值选择

#include <stdio.h>
int main(void)
{
	int x = 1;

	for(printf("这是一个表达式\r\n");x<5;++x)
	{
		printf("x的值是%d\r\n",x);
	}

    return 0;
}

在这里插入图片描述

简易控制循环值

#include <stdio.h>
int main(void)
{
	int x = 1;
	int num,val;
	printf("本次循环最大值为:\r\n");
	scanf("%d",&val);
	printf("每次循环递增值为:\r\n");
	scanf("%d",&num);

	for(printf("这是一个表达式\r\n");x<val;x=x+num)
	{
		printf("x的值是%d\r\n",x);
	}

    return 0;
}

在这里插入图片描述

  • 23
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值