C语言是面向过程的,而C++是面向对象的
C和C++的区别:
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。
C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
现在考虑一个问题,如果我们想打印一千次”Hello,World!”,我们该怎么办呢?我们是不是得拷贝一千次 printf(“Hello,World!”) 计算机本来就是为了解决那些繁杂的运算而存在的,编程的设计也是如此。这节我们来认识除了分支结构外的另一个非常重要的结构——循环结构,掌握了这些语法,能替我们节省很多的繁琐工作。
我不是目录!
1. while循环结构
2. do_while循环结构
3. for循环结构
4. break与continue
5. 循环的嵌套使用
while循环结构
我们来认识第一个循环语法——while,它的结构是这样的。
while(表达式) { 语句体; }
while后面的表达式结果为真的时候,就执行语句体,直到表达式为假的时候,才结束循环。我们直接来看实例。
小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
当i不等于10的时候,则执行while结构里面的语句体,直到i == 10的时候才退出循环。
例题:利用while结构反向的打印1~10的数。
do_while循环
do_while循环跟while循环是有血缘关系的,我们先来了解一下它的语法。
do { 语句体; }while(表达式);
其实跟while也差不多是吧,那么它们的区别是什么?do_while循环是先执行一次语句体,再来对表达式进行判断,当表达式结果为假的时候就退出循环。我知道文字很难看得懂,我们还是直接上栗子。
while与do-while的区别,do-while在判断表达式之前,会先执行一次语句体。
再给一个例子:
for循环
for循环结构的特点是——直观。结构如下:
for(表达式1;表达式2;表达式3) { 语句体; }
它等价于下面的while循环。
表达式1; while(表达式2) { 语句; 表达式3; }
表达式1和表达式3一般都是赋值表达式,表达式2是判断的表达式,还是直接来个例子。
小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
对比一下之前while和do-while的版本,可见for更加直观、紧凑。
当然你可以把上面的for改成如下的版本 int i = 0; for(;i
到这里我们已经可以看出来,无论是while、do-while还是for,它们只是语法结构上的不同,实际上都能实现同一种需求。
break与continue
在学习循环结构的时候,经常会有人遇到“死循环”,死循环就是永远没有推出循环的条件。
类似这些例子就会不断的打印出”Hello,World!”,第一个可能需要解释一下,在C语言中,非零表示真,零表示假。在我们编写程序利用到循环结构的时候,我们就应该多多注意循环终止的条件。
上面只是个细节的扩展,我们继续谈重点。现在假设我们碰到这种情况,我们想构造一个死循环,让用户输入密码,直到输入正确才跳出循环结构,该怎么实现?
break的作用,之前我们已经在分支结构中的swtich结构认识了。如果放在循环结构中,它就是直接跳出自己所处的循环结构。而continue,就是跳到下一次循环,我们直接来看个例子:利用循环结构打印1~10的数字,但是不打印其中的数字5。
当执行到if语句里面的continue时,就直接跳过了下面的printf语句,直接跳过这一次的循环执行下一次的循环。
循环的嵌套
就像上一节说到的,if和else if、swtich等分支结构都是可以嵌套使用的,在循环结构中也是这样,while、do-while和for都可以按照需求进行嵌套。不过循环嵌套得越多,程序的效率就越低。
之前看到C语言经典例题:1、2、3、4个数字能组成多少个互不相同且无重复数字的三位数都是多少。
小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
关于循环结构,暂时就先写到这里,以后如果有需要再继续补充。如果有什么错误的地方欢迎指正,如果有什么写得不太好的地方也请多多包涵。
这些是C/C++能做的
服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等
领取专属 10元无门槛券
私享最新 技术干货