首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

[C语言]初学者的一些理解—循环结构

2013-09-05 
[C语言]菜鸟的一些理解—循环结构循环结构当我们要重复执行一段代码,这时我们就要用到循环结构了。for的使用

[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还是有点细小的差别的,注意下就好了。举个例子:



循环渐进吧!楼主坚持就好了!

不过还是有蛮多细节问题,
比如 break,continue, 这些关键字 ,do while , while 等这些差别
多敲代码,多尝试吧!这些东西自己好好体会理解下! 
[解决办法]
一个国外大佬专门发了一篇文章,仔细分析了goto对效率的影响,而且言之凿凿!从此之后,几乎所有的教科书都采用了此观点。而且措辞都是这句:“尽量不用goto语句!”
其实没有这么绝对!跳转指令固然破坏了结构化编程,但是也是避免重复性编码的唯一良策。否则,你的循环都需要展开,这是很疯狂的!此外,很深层的嵌套与大角度程序转向,用一般的标志与break结合法,增加了实现的难度。总之,goto这个家伙就像一个荡妇,能给肉欲的男人快乐,但自身名声不佳!
然而,在linux内核里,你会发现她大放光彩!用的还是相当频繁的!正所谓:一把双刃剑,利弊看放在谁的手里,看你如何使用喽!

恕我多言几句!不当之处,多多包涵![C语言]初学者的一些理解—循环结构
[解决办法]
你的循环代码都错了 。
正确的我已经发给你了啊 

热点排行