[C语言]菜鸟的一些理解—循环结构
循环结构
当我们要重复执行一段代码,这时我们就要用到循环结构了。
for的使用
for(表达式;判断表达式;循环控制)//这是我的理解
for(表达式1,表达式2;判断表达式;循环控制)
例1:1到100和
#include<stdio.h>
int main(void)
{
int i = 0;
int m = 0;
for(i = 0;i <= 100;++i)
m = m + i;//重复该语句,直到i > 100
printf("m = %d\n",m);
return 0;
}
例2:计算从m到n的和
#include<stdio.h>
int main(void)
{
int i = 0;
int m = 0;
int n = 0;
printf("请输入m和n,以空格键分开:");
scanf("%d %d",&m,&n);
for(;m > n;)//保证m < n
{
printf("输入错误,请保证m < n:");
scanf("%d %d",&m,&n);
}
for(i = m,m = 0;i <= n;++i)
m = m + i;
printf("m = %d\n",m);
return 0;
}
for 的嵌套
例3:打印乘法口诀
#include <stdio.h>
int main(void)
{
int i = 0;
int j = 0;
for(i = 1;i <= 9;++i)
{
for(j = 1;j <= 9;++j)
printf("%d*%d=%d\t",i,j,i*j);
printf("\n");
}
return 0;
}
while 语言的使用
while 分为while头和while体
其标准形式如下:
while(判断表达式)//while 头
{
操作; //花括号内的是while体
}
例4:使用while语言计算1到100的和
#include <stdio.h>
int main(void)
{
int i = 0;
int m = 0;
while(i <= 100)
{
m = m + i;
++i;
}
printf("m = %d\n",m);
return 0;
}
while语句和for语句的对比:
while(判断表达式) for(;判断表达式;)
{ {
操作; 操作;
} }
使用while语句实现:计算m到n的和
例5:
#include <stdio.h>
int main(void)
{
int i = 0;
int m = 0;
int n = 0;
printf("请输入m和n,以空格键分开:");
scanf("%d %d",&m,&n);
while(m > n)
{
printf("你输入错误,请保证m < n:");
scanf("%d %d",&m,&n);
}
i = m;
m = 0;
while(i <= n)
{
m = m + i;
++i;
}
printf("m = %d\n",m);
return 0;
}
do-while语句的使用,基本形式如下:
do
{
操作;
}while(判断表达式);
例6:计算1到100的和
#include<stdio.h>
int main(void)
{
int i = 0;
int m = 0;
do
{
m = m + i;
++i;
}while(i <= 100);
printf("m = %d\n",m);
return 0;
}
例7:使用do-while计算m到n的和
#include<stdio.h>
int main(void)
{
int i = 0;
int m = 0,n = 0;
do
{
printf("请输入m和n,以空格分开:");
scanf("%d %d",&m,&n);
}while(m > n);
i = m;
m = 0;
do
{
m = m + i;
++i;
}while(i <= n);
printf("m = %d\n",m);
return 0;
}
do-while 和 while的对比
do-while 和 while大致相同,但是do-while语句的循环体至少会执行一遍。
do-while语句可以防止一些没有必要的代码,例2 例5 代码可以优化 改成 例7
goto 语句的使用,标准形式如下:
TIAO:
操作;
goto TIAO;
使用goto语句 实现死循环。
例8:
#include <stdio.h>
int main(void)
{
TIAO:
printf("printf\n");
goto TIAO;
return 0;
}
使用goto语句,实现循环。
#include <stdio.h>
int main(void)
{
int i = 0;
int m = 0;
mydo:
{
m = m + i;
++i;
if(i <= 100)
goto mydo;
}
printf("m = %d\n",m);
return 0;
}
注意:goto语句过于灵活,容易破坏程序流程,同时goto语句的大部分功能都能够用其他语句实现,所以尽量不用goto语句。
控制语句 continue 和 break
只知道他基本用法,不是很理解其作用及要用那里才合适,望高手解答。
如果我没有理解到或理解错误的,请指出,在此万分感谢!!
c语言
[解决办法]
不知道你问什么,但一而言,continue跳出本次循环,break是跳出循环,至于for,while,do-while,其实在工程里感觉差别不大,能实现具体功能不就行了。
[解决办法]
while、for、do-while基本没差,看你怎么用了,比如要先执行一遍,然后再判断的话 就用do-while或者先执行一遍 然后再for、while。
不过for和while还是有点细小的差别的,注意下就好了。举个例子: