注:本文是对于学完C语言再学C++同学的讲解,主要补充C++与C语言不同之处,如果你没学过C语言,不建议观看本文。
一.C++简介
我们都知道C语言是过程性语言(强调的是实现过程),即对计算机语言要处理的两个概念:数据和算法中的算法进行实现,但是C语言在面对大型程序时还是有所不足,因此出现了C++语言,它具有以下三种编程方式:1.C语言代表的过程性语言 2.添加的类代表的面向对象语言 3.C++支持的泛型编程,C++语言与C语言不同,它主要是强调数据,C++的优点:可以方便重用和修改现有的和经过测试的代码。
当然C++的故事远不止于此,大家可以自行去了解,我们还是以编程知识学习为主。
二.C++头文件与C对比
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//上面是C头文件
//下面是C++头文件
#include <iostream>
#include <cmath>
#include <cstdlib>
对于#include我们都知道这是编译指令,将文件内容添加到程序中
下面我们重点放在对比两种语言头文件不同上:
1.C++任然可以使用C库函数,对于C语言头文件形式还是可以支持,但是我们最好将其改成C++风格,有以下两点改动:1.C++头文件以c(小写)开头(C标准库改动)2.去掉.h
2.C++也有自己的专属头文件,与C无关,如:#include <iostream>
大家可以参考下图:
三.#include <iostream>
大家都知道我们在写C语言时都要包含#include <stdio.h>这个头文件,那么在C++中我们的输入输出头文件是什么呢?没错,就是#include <iostream>,这里我们可以理解一下:i代表的是input
o代表的是output,那么stream代表的是流,可千万别写成了steam,记住劳!
如果要使用#include <iostream>,那么你可能需要下面这个语句来实现编译指令:
using namespace std;
至于其表示什么?现在你可以先简单理解为编译器识别作用,后面我们会具体对其进行讲解,现在刚开始学,就不进行讲解了。
接下来让我们进入C++吧!
四.进入学习
main函数
看一段C++代码:
#include <iostream>
using namespace std;
int main()
{return 0;
}
这是一段C++代码,大体与C语言相同,只是头文件和编译指令不同。
关于main函数,我们还是可以按照C来理解,关键是输入输出:
C代码:
#include <stdio.h>
int main()
{printf("hehe\n");return 0;
}
C++代码:
#include <iostream>
using namespace std;
int main()
{cout << "hehe\n";return 0;
}
可以看出C++代码输入输出与C明显不同,是的,C++输入输出是:cout和cin
看下面代码:
#include <iostream>
using namespace std;
int main()
{int a = 0;cin >> a;//输入if (a == 0){cout << "haha\n";}else{cout << "hehe\n";}return 0;
}
输出:cout用<<表示将字符串发送给cout
输入:cin用>>表示从输入流中抽取字符串
这是输入输出简单的运用。(当然在C++中也是可以用printf和scanf的)
但是现在我要告诉你C++的输入输出的强大之处:
假如现在我们要打印一个小数:例如:3.5000,我们只想要有效位数
用C语言是这样:
#include <stdio.h>
int main()
{double d = 3.5000;printf("%g\n", d);//%g 是C用来保留有效位数的return 0;
}
下面我们看看C++代码:
#include <iostream>
using namespace std;
int main()
{double d = 3.50000;cout << d;return 0;
}
可以看出我啥都不用写,一个cout就可以做到,当然C++的输入输出功效远不止于此,以后会带着大家去一点点了解它们的。
最后在和大家讲一个控制符endl:
其作用和\n等同
看代码:
#include <iostream>
using namespace std;
int main()
{cout << "hello world\n";cout << "hello world" << endl;cout << "hello world";return 0;
}
最后,大家开始C++学习加油吧!