{这是看了一点循环结构网课后的一些个人笔记和一些小小感悟。因为循环结构比较薄弱,所以决定针对性解决。主要是课堂笔记,有一点自己的理解。嘿嘿,加油啊}
这是一个关于本文中出现的编程小“目录”
1. 1/2+2/3+3/4+4/5求值
2. 1!+2!+3!+4!+5!求值
3. 倒三角问题
4. 九九乘法表
正文:
一.基本循环结构
总:C语言中所有的循环都满足条件循环。如果看循环比较困难,可以把值带进去看。
1)while循环
while(表达式)
{
(循环体)
}
//可以不带大括号
2)do while循环
do
{
}while(表达式);
//while表达式之后的分号不能忘记
//无论条件是否满足,都会执行一次。
3)for循环
for(表达式1;表达式2;表达式3)
{
表达式4;
}
//for括号中三个表达式都可以省略。
//执行顺序1 、2、4、3 2、4、3(真正循环部分为2、4、3)。{这个一直没记清楚,终于记清楚了o(╥﹏╥)o}
//表达式1:写条件的初始化
//表达式2:描述条件
//表达式3:改变循环条件,向不满足靠拢
二.死循环
总:相对于来说,while死循环用的更多一点。其他循环需能认识并读懂。
1)
while(条件永远成立)
{
//不做跳出
}
2)
do
{
//不做跳出
}while(1);
3)
for循环的死循环:
eg:
for(;;)
三.跳转语句
1)continue:结束本次循环,直接进入下一次循环。不能独立存在,只能存在循环中。
2) break:直接跳出一层循环,也可以在switch语句中使用(跳出switch)。
3) goto:跳转到标签位置(仅限同一个函数中)。在程序有深层嵌套的时候,可以考虑使用goto。在程序描述循环时候,尽量不要使用goto语句。goto语句的嵌套会严重影响代码可读性。
{这个需要慎用}
四.循环使用
循环都是用来描述有规律的问题,一般可以得到推导公式,或可以找到递推关系。
eg:描述数学问题、描述逻辑问题。
下面是两个关于循环的简单例题:
//1/2+2/3+3/4+4/5
#include <stdio.h>
#include <math.h>
int main()
{
double i,sum=0;
for(i=1;i<5;i++)
{
sum=sum+(i/(i+1));
}
printf("%.2f\n",sum);
return 0;
}
//问题:1!+2!+3!+4!+5!求值
#include <stdio.h>
int main()
{
double i,k=1,sum=0;
for(i=1;i<6;i++)
{
k=k*i;
sum+=k;
}
printf ("%lf\n",sum);
return 0;
}
五.循环嵌套
总:C语言任何循环之间都可以允许嵌套,并且嵌套层数没有限制,但逻辑上和语法上不能有问题。
1)描述项数问题-----eg:打印形状问题(倒三角,九九乘法表)
//倒三角问题
#include <stdio.h>
int main ()
{
int i,j,n=0;
scanf ("%d",&n);
for (i=n;i>=1;--i)
{
for(j=1;j<=i;j++)
{
printf("*");
}
printf("\n");
}
printf ("%d",n);
return 0;
}
//九九乘法表
#include <stdio.h>
int main()
{
int i,k;
for (i=1;i<=9;i++)
{
for (k=1;k<=i;k++)
{
printf("%d*%d=%2d ",k,i,i*k);
}
printf("\n");
}
return 0 ;
}
2)描述行列问题
for循环:外行内列