C语言是面向过程的,而C++是面向对象的
C和C++的区别:
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。
C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
我们写的示例程序是这样的:
1. #include
2. int main(){
3. printf("hello world");
4. return 0; }
上面四行程序每一行都是什么意思呢?为什么运行这四行程序就可以在终端输出“hello world”呢?
哈哈,我先把答案写在这,然后再在下面详细解释它们的含义:第一行表示引入头文件,第二行是主函数,第三行是调用一个名叫printf的函数输出“hello world”字符串,第四行表示主函数的返回值。
我先给大家举一个形象的例子以便于理解!编程就好比是建筑工人盖房子,工人利用各种原材料按照设计图纸搭建建筑物,我们程序员则是使用代码,按照要实现功能进行编程。
现在,假设你就是一名建筑工人,然后我们开始解释上面四行程序的含义。
首先,第一行:#include ,引入头文件
头文件就是别人已经开发编写好的函数,你可以直接拿过来使用。就像你要盖房子,你需要使用砖头、水泥、钢筋等,但是这些砖头是哪来的呢?没错,就是别人做好的,你拿来用就可以了~当然,你也可以自己亲自做砖头、水泥等,但这样你盖房子就会很慢了。。
这就相当于头文件,别人已经定义好了一些大家经常使用的函数,这些函数你当然可以自己去编写实现,但这样效率就会比较低 。为了提高开发效率,有人就把一些大家经常使用的函数写好,你就可以直接拿来用了。那怎么“拿来”呢?这就是第一行函数的功能:引入头文件!引入了"stdio.h"这个头文件,我们就可以直接使用在这个头文件中已经定义好的所有函数啦~
小编推荐一个学C语言/C++的学习裙【 七三零,一三零,二二一 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
接着来看第二行:int main() 主函数
主函数是我们所写程序的入口函数,程序执行时就是从这里开始的。一个源文件如果没有主函数,它是不能被执行的,那没有主函数的源文件就没有价值了吗?不是的,它定义的函数可以被主函数调用。就像盖房子,如果没有你这个建筑者,有再多的砖头、水泥也没有用,必须由你这个建筑者去使用它们,才能盖好房子。你就相当于主函数,砖头相当于其他函数,由你这个主函数去调用其他的函数,程序才能执行。这下理解了吧~~
有了上面的基础,第三行就很好理解了。
第三行:printf(“hello world”); 调用printf函数输出“hello world”
这个“printf”不是我们自己写的,那他是哪来的?聪明的你一定明白了吧,它就是第一行引入的头文件中定义的。第一行引入的“stdio.h”头文件中定义好了“printf”函数,我们可以直接拿来用。它的功能是什么呢?就是输出一段字符,也就是后面括号里的“hello world”,所以我们执行这段程序就会输出“hello world”。有的童鞋或许会有疑问,我们怎么知道“stdio.h”这个头文件中定义好了“printf”这个函数呢?它还定义了哪些函数?嗯,真是善于思考的童鞋,这个问题我们以后会讲~~
最后一行:return 0 表示主函数的返回值
既然是表示主函数的返回值,那我们再来看看主函数:int main() 主函数由三部分组成:int,main和一对括号(), 第一个int就表示主函数的返回类型是int类型,所谓int就是数学中的整型数值,所以最后一行的 return 0 就是和这个int对应的,int表示主函数要求返回值是整型,所以最后一行就返回了0!
可能大家不太理解这里的返回值啊,int型啊是什么意思,这里大家先记住,每一个函数都有一个返回类型,都需要在最后一行写上return 返回。具体为什么我们后面再说,大家先慢慢一步一步来~~
小编推荐一个学C语言/C++的学习裙【 七三零,一三零,二二一 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
再回头从头捋一捋,好好思考一下,有不明白的欢迎大家留言提问~
这些是C/C++能做的
服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等