51Testing软件测试论坛

标题: C语言编程学习中while循环和do……while循环 [打印本页]

作者: 学掌门网校    时间: 2018-5-2 11:42
标题: C语言编程学习中while循环和do……while循环
本帖最后由 博为峰网校 于 2018-5-2 11:44 编辑

C语言是面向过程的,而C++是面向对象的
C和C++的区别:
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。
C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。



循环结构语句
在实际生活中经常会将同一件事情重复做很多次,比如在走路时,会重复使用左右脚,打乒乓球时,会重复挥拍的动作等。同样在C语言中,也经常需要重复执行同一代码块,这时就需要使用循环语句。循环语句分为while循环语句、do…while循环语句和for循环语句三种。今天,我们将重点讲讲while循环和do...while循环语句。
while循环语句
while循环语句和条件判断语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句。区别在于,while语句会反复地进行条件判断,只要条件成立, { } 内的执行语句就会一直执行,直到条件不成立,while循环结束。while循环语句的具体语法格式如下:
while (循环条件)
{
执行语句
………
}
在上面的语法格式中, { } 中的执行语句被称作循环体,循环体是否执行取决于循环条件。当循环条件为true时,循环体就会被执行。循环体执行完毕时会继续判断循环条件,如条件仍为true则会继续执行,直到循环条件为false时,整个循环过程才会结束。
while循环的执行流程如下图所示:





while循环的流程图
接下来通过while语句来实现1~4之间自然数的打印,如下例所示:
#include
int main()
{
int x = 1; //定义变量x,初始值为1
while (x <= 4) // 循环条件
{
printf("x = %d ", x);// 条件成立,打印x的值
x++; // x进行自增
}
return 0;
}
运行结果如下图所示:




例中,x的初始值为1,在满足循环条件x <= 4的情况下,循环体会重复执行,打印x的值并让x进行自增。因此打印结果中x的值分别为1、2、3、4。值得注意的是,例3-7中的第8行代码用于在每次循环时改变变量x的值,直到循环条件不成立,如果没有这行代码,整个循环会进入无限循环的状态,永远不会结束。
do-while循环语句
do…while循环语句和while循环语句功能类似,二者的不同之处在于,while语句需要先判断循环条件,然后根据判断结果来决定是否执行大括号中的代码,而do…while循环语句先要执行一次大括号内的代码再判断循环条件,其具体语法格式如下:
do
{
执行语句
………
} while(循环条件);
在上面的语法格式中,关键字do后面 { } 中的执行语句是循环体。do…while循环语句将循环条件放在了循环体的后面。这也就意味着,循环体会无条件执行一次,然后再根据循环条件来决定是否继续执行。
do…while循环的执行流程如图所示:




do…while循环的执行流程
接下来使用do…while循环语句将例3-7进行改写,如例所示。
#include
int main()
{
int x = 1; //定义变量x,初始值为1
do
{
printf("x = %d ", x);// 条件成立,打印x的值
x++; // x进行自增
} while (x <= 4); // 循环条件
return 0;
}
运行结果如图所示:



两个例题的运行结果一致,这说明do …while循环和while循环能实现同样的功能。然而在程序运行过程中,这两种语句还是有差别的。如果循环条件在循环语句开始时就不成立,那么while循环的循环体一次都不会执行,而do…while循环的循环体还是会执行一次。若将例中的循环条件x<=4改为x < 1,后一个例子会打印x=1,而前一个例子则什么也不会打印。
这些是C/C++能做的


推荐课程:C语言精讲



[attach]114910[/attach]

课程介绍

C语言入门经典教程,适合从零开始学习C语言的同学,详解C语言基础知识、数据结构、语法结构、编程技巧,带领读者深入了解程序设计的编程思想和编程方法,帮您学习C语言从入门到精通,并且本课程会讲到C语言的高级运用,对于测试人员来说,可以为今后从事自动化打下良好的基础。

课程链接 http://www.atstudy.com/course/130


了解课程更多细节,可咨询客服(周一~周五 9:00~17:30


【看这里!】技术交流、拓展人脉、领取更多福利,欢迎加入博为峰网校大课堂>>


适合人群


[attach]114911[/attach]



作者: Miss_love    时间: 2018-5-8 14:36





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2