流程控制(未完待续。。。)

博客介绍了流程控制,即程序执行的顺序,包括顺序、选择和循环执行三类,重点讲解循环执行。提到 for 循环,指出自增和自减语法在 C 语言中并非关键,还给出使用建议。此外,有 for 和 if 语句嵌套的练习,如输出 1 - 1000 间的完全平方数。

所谓流程控制是指:“程序怎么执行”或者说“程序执行的顺序”,我们写一个程序,里面有许多代码,这个时候就有一个问题了,这些代码哪些先执行,哪些后执行,某些执行完了之后再执行哪些?这些流程控制所需要的内容。如果不掌握流程控制,就无法写程序。
流程控制分为三类:
1 顺序执行
2 选择执行
3 循环执行
我们上面两种不会去详细去讲,我们只讲循环执行这一部分。
for 循环

for( 表达式1; 表达式2; 表达式3 )
{
	语句;
}

下面给大家写一个程序

#include<stdio.h>
int main(void)
{
	int i;
	int sum = 0;
	for(i=1; i<=100; ++i)
	{
		sum = sum + i ;// 不建议这样写sum+=i;
	}
	printf("sum = %d\n", sum);
	return 0;
}

自增和自减
一直以来,++ 和 – 语法浪费了太多人的时间,说句实在话,++ 和 – 在C语言中根本就不重要,只不过是为了表达简练而已,
作为一个优秀的程序员,在你的代码之中,就不应该同时出现 ++ i 和 i++,–i或者i–, 你要么只使用 i++,要么只使用 ++i。
如果是在搞不懂 a = ++ i;
就可以使用 i++ ,a = i.
a = i ++;
等同于 a = i ,i++;
而且这是一种很好的风格。
练习:

#include<stdio.h>
int main(void)
{
	int n = 0;
	int i = 0;
	int m = 1;
	int sum = 0;
	printf("请输入 n 的值:");
	scanf("%d", &n);
	for(i=1; i<=n;i++)
	{
		m = m * i;
		sum = sum + m;
	}
	printf("sum = %d\n", sum);
	return 0;
}

这个程序虽然很短,但是逻辑性很强,所以建议读者记住。因为逻辑性很强,所以很难弄明白,自己可以在纸上分析,把程序每一步都计算明白了。

for和if语句嵌套

#include<stdio.h>
int main(void)
{
	int i;
	int sum = 0;
	for(i = 3; i<100; ++i)
	{
		if(i%3 == 0)
		{
			sum = sum + i;
		}
	}
	printf("sum = %d\n", sum);
	return 0;
}

如果大家不想使用if语句嵌套

#include<stdio.h>
int main(void)
{
	int i;
	int sum = 0;
	for(i=3; i<100; i+=3)
	{
		sum = sum + i;
	}
	printf("sum = %d\n", sum);
	return 0;
}

做一个小练习吧
编写程序,输出1-1000之间所有的完全平方数。

#include<stdio.h>
#include<math.h>
int main(void)
{
	int i;
	int x;
	for(i=1; i<1000; ++i)
	{
		x = sqrt(i);
		 if(x * x == i){
				printf("%d\t", i);
			}
	}
	printf("\n");
	return 0;
}

其实这个程序不用sqrt更简单

#include<stdio.h>
int main(void)
{
	int i;
	for(i=1; i*i<1000; ++i)
	{
		printf("%d\t",i * i);
	}
	printf("\n");
	return 0;
}

强制类型转换

博客
v8worker
05-08 2962
05-06 2944
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值