Hello,everybody!在c语言,数据结构初阶学完之后,咱们就要开始c++的学习了。关于c++的语法,有很多是为了弥补c语言的不足。在咱们学习c++的过程中,随着你对c++语法掌握的越来越熟练。我相信你会逐渐爱上c++。那我们直接进入正题。
c++兼容c的意思就是百分之99的c语法在c++中同样适用。
在text.cpp文件中写标准的c语言同样可以运行。
那既然在c++文件中咱们就要写c++的语法,下面我给大家展示一下c++版本的Hello world!
大家对比一下这两个Helld world!有什么不同?
下面我将针对这个简单的c++程序逐步讲解:
1.首先,咱们c++的头文件是iostream,注意这个文件没有后缀。
2.cout你可以把它看作屏幕。
3.符号<<就相当于河流一样,字符串通过<<流向cout(屏幕)。
4.endl可以理解为换行符。
当然,也可以不要endl,输出的结果也就不会换行。
如果要进行格式化的输出,就需要用到cin(键盘)。
cin>>i,我们可以理解为:cin就是键盘,从键盘上输入数据并通过符号>>流向i中,再通过cout打印在屏幕上。
也是挺生动形象的。这里我们要注意在c++中不需要%d,%c,%s进行数据类型匹配,编译器可以对数据类型自动匹配。
了解这些知识后,再看这个程序就顺眼多了。
在c语言中,在同一个作用域中不可以有同名变量。例如:
在main函数中,如果定义两个整型变量i,在编译的过程中,编译器会给一个重定义的报错信息。
如果在以后的工作中,有多人共同完成一个大型项目,可能会出现两人或多人命名冲突的现象。为了解决这个问题,c++语法给出了解决方案:命名空间。
下面我来解释一下命名空间:
1.我在main函数的上面写了两个命名空间,如果你的名字叫leo,你同事的名字叫lisa。就可以以名字来做为命名空间的名字,这方面没有什么要求,类似于函数命名,方便就好。
2.要以namespace开头,后面跟上你给出的名字。
3.接下来就可以在这个命名空间里定义你的变量了。注意不同的命名空间可以有同名变量,它们互不影响。但在同一个命名空间里不可以。
4.如果想要访问命名空间里的变量,有两种方法:
一种就是上面图中给出的。如果我要访问leo中的i,就需要用leo::i,来向编译器指明具体要访问的变量。
还有一种方法就是展开命名空间:如果我要展开leo,就可以用:using namespace leo;将该命名空间展开后,其中的变量就和全局变量差不多,不用特殊指明,可以直接访问。
如果你学过c语言的预处理并且把命名空间看明白了,我想你可以猜到using namespace std;是什么意思了。
在代码文件形成可执行程序的过程中,第一步就是预处理,这一阶段会将头文件展开。也就是说在文件iostream中定义了各种变量,函数等。其中就有一个命名空间,它的名字叫std,在这个命名空间中定义了变量cout,cin,endl等等。所以,咱们在平时的学习中,如果要频繁用到该命名空间中定义的变量,为了方便,可以将该命名空间展开,也就是这条语句:using namespace std;
当然,如果你不想展开,就需要想编译器指定我要访问命名空间std中的变量。
好,如果以上我介绍的这些你都听懂了的话那开头的Hello world!是否就可以全部理解了呢?