#C++的好处,相对于C语言,C++有更多的函数库,例如数据结构中的栈,队列等,如果用C来做相关的题目,需要自己慢慢的写函数,而在C++中可以直接调用,做题效率高许多。并且C++兼容C语言,所以学会了C语言再学习C++会方便很多。
#此文章为学习笔记作用,仅供参考,很多理解的很浅显,只会使用不知道原理,内容也只是触碰到了C++的边缘,只是为了更好的用C来接触C++。
——————————————————————————————————————————
①基本的输入输出(这里的endl,最后面的不是数字1,而是小写字母l),以及头文件的引用。
缺点:cin和cout运算时间比scanf和printf的时间久,若做题时显示超时,可以改成scanf和printf。
#include<iostream>
using namespace std;//首两行类似于C中的<stdio.h>头文件
#include<math>//这里相当于C语言中的<math.h>,<string.h>头文件,在C++中去掉.h来引用。
#include<string>
int main()
{
int a;
cin >> a;//相当于scanf输入,C++的输入明显比C语言的输入更加便利
cout << "a是:" << a << endl; //cout相当于printf输出,endl相当于\n换行。
}
——————————————————————————————————————————
②bool变量,包含true 和 false 两个内容,在C语言中0为假,非0即为真,而在C++中引用了bool值来说明真与假。(影响貌似不大)
③const关键词,当定义变量时加上了 const,则在后续代码中,该变量的值不能够被改变,否则编译器会报错无法运行。
#include<iostream>
using namespace std;//首两行类似于C中的<stdio.h>头文件
int main()
{
const int a = 666;
a = 500;//这里想对a进行重定义,编译器是会报错无法运行的。
}
——————————————————————————————————————————
④string字符串的一些基本运用,这里大概就能看出C++的一些便利性,与python有点相似。
#include<iostream>
using namespace std;//首两行类似于C中的<stdio.h>头文件
#include<string>
int main()
{
string s1 = "hello";
string s2 = "world!";//字符串的定义
string s3 = s1 + s2;//字符串的拼接
cout << s3 << endl;//运行结果为helloworld!
string s;
cin >> s;
cout << s;//当输入hello world!时,输出为hello,用cin来输入字符串在碰到空格时会出现问题。
getline(cin, s);//string中的函数,可以将空格一起输入进字符串,输入hello world!输出为hello world!
string s4 = "abcd_efg hijk!";
int length = s4.length(); //类似与C语言中的strlen函数,返回值为字符串长度。
cout << length << endl; //输出为14,包括了空格以及标点符号。
string s5 = s4.substr(1, 4);
//切片函数,s.substr(n,m)或s.substr(n)。(n,m)意思是返回从下标为n开始的m个字符,(n)的意思是返回从下标为n开始的后面所有字符
cout << s5 << endl;//输出为bcd_
s5 = s4.substr(4);
cout << s5 << endl;//输出为_efg hijk!
}
——————————————————————————————————-——————
⑤结构体的一些改变
#include<iostream>
using namespace std;//首两行类似于C中的<stdio.h>头文件
#include<string>
struct stu {
int age;
int score;
};
int main()
{
struct stu a;//在c语言中新定义结构体的变量要加上struct,或者要使用typedef,
stu b;//而C++中直接用结构体名称定义即可。
}
——————————————————————————————————————————
⑥&引用符号,与C中的取地址符号意义不大相同。
#include<iostream>
using namespace std;//首两行类似于C中的<stdio.h>头文件
#include<string>
int main()
{
int b = 5;
int & a = b;
//引用可以理解为将a,b绑在一条船上,相对于C语言减少了指针传地址的运用,减少错误
a = 6;
cout << a << endl << b << endl;//输出为6 6
b = 7;
cout << a << endl << b << endl;//输出为7 7
}
——————————————————————————————
以上主要是一些相对于C的变化和一些新功能,只是一个基本的过度,后面还会有STL的内容,更体现出C++的强大。