1 C++简介
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。
C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
2 第一个简单的程序
#include <iostream> //输入输出流控制头文件
using namespace std; //打开命名空间
int main()
{
cout << "hello !" << ' ' << endl; // 可以连续输出
cout <<"a" << endl << 21.234 << 'x' <<endl ; //可以自动识别数据类型
int x =0;
char tmp[100] = "hello world !";
float f = 123.12324f;
cout << x << endl << tmp << endl << f << endl; //cout是个对象 既不是函数也不是关键字
system("pause"); //程序卡在此处方便观看结果
return 0;
}
2.1 main函数是C++程序的入口
和C语言一样,main函数也是C++的程序入口,C++标准主函数形式为:
int main()
{
return 0;
}
带命令行标准主函数的形式为:
int main(int argc, char * argv[])
{
return 0;
}
其中 int argc
表示传参个数,char * argv[]
表示传入的各个参数。注意:我们在执行该程序时,程序名本身也算一个参数。比如我们执行:./main hello
,那么两个参数应该是:argc = 2; argv[0] = "main"; argv[1] = "hello"
。
2.2 C++的输入cin和输出cout
cin和cout是C++中用于输入和输出,和c语言中的scanf和printf作用类似。但是cin和cout是一个对象,不是关键字,也不是函数。
cout和printf相比较来说,该进了很多。它会自动识别输出类型,可以连续多行输出。
2.3 包含头文件和命名空间
2.3.1 包含头文件
c语言包含头文件的方式是:#include <xxx.h>
,C++标准包含头文件的方式是:#include <xxx>
2.3.2 命名空间
命名空间的作用是区分同名变量和函数,在C语言中,同一个.c文件中的同名全局变量和函数是不被允许的。在C++语言中我们可以使用命名空间来解决此问题。
命名空间的建立是:namespace name{code;};
命名空间有三种使用方式:
1、打开此命名空间:using namespace name;
2、直接使用:name::变量名/函数;
,其中:::表示作用域运算符
3、指定开放某个特定成员:using name::成员;
举个例子说明一下命名空间的使用:
#include <iostream> //输入输出流控制头文件
using namespace std; // 命名空间
//命名空间可以解决重名的尴尬。
namespace abc
{
void func()
{
cout << "i am in abc namespace , func() \n";
}
}
namespace def
{
void func()
{
cout << "i am in def namespace, func() \n ";
}
}
using namespace abc;
using namespace def;
int main()
{
abc::func();
def::func();
std::cout << "ahc \n";
system("pause");
return 0;
}
3 总结
C++的语法特性完全包含C语言,所以学习路线上来说,建议先掌握C语言,然后再来学习C++。并且C++在C语言的基础上扩展了很多新的语法特性,知识点很多也很凌乱,完全掌握需要很长时间,需要花费一定的耐心和精力来学习。