本章内容我将结合C语言一起,初步学习了解c++,与大家一起快速入门这门语言。当然鉴于c++本身属于一门中级语言,大家对编程有一定了解之后来学习这门知识会更加得心应手。
C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点。
C++ 是由 Bjarne Stroustrup 于 1979 年在新泽西州美利山贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,最初命名为带类的C,后来在 1983 年更名为 C++。
这里的详细内容大家可以参考百度资料,我们就不去做过多的解释了。
本章内容所有运行的代码基于vs,运行结果可能会与Linux有些区别,这里注意的是,代码本身是没有问题的,只是编译器本身的区别而导致结果的不同,如果大家想要运行结果一致,建议大家采用vs编译器。
无论我们学习哪种语言运行的第一个代码就是“Hello world”,这是一个约定书陈的东西。
如果我们学过C语言的话,对C++的书写格式其实是不陌生的。
#include
using namespace std;
int main()
{
cout << "Hello world" << endl;
system("pause");
return 0;
}
当然如果有一定的C语言基础我们也可以这样写。你可以用 "\n" 代替以上代码里的 endl。
#include
using namespace std;
int main()
{
cout << "Hello world" << "\n";
system("pause");
return 0;
}
运行结果为:
我们在写代码过程中我们可能会遗忘某段代码的含义或者用法,就跟我们上课要做笔记是一个道理——避免忘记。
试想一下,如果我们一觉醒来就把昨天写了一晚上的代码给忘记了,看到这些代码就像一堆毫无意义的符号一样。为了避免悲剧发生,前辈们就发明了注释符,这样就很好的避免了遗忘的风险。
符号:
//..............;
/*.....................*/
在vs中注释过的代码一般会是绿色。
当然我们也可以注释中文等等。
这里注释原理其实跟C语言中是一样的,代码在编译器中预编译的过程中会跳过被注释的这段,也就是说所有备注是过的代码对编译器而言是没有任何意义的。
变量其实只不过是程序可操作的存储区的名称。C++ 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。
变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C++ 是大小写敏感的。这里注意不能是关键字,至于什么是关键字下文中会提到。
一句话解释为什么要用变量:为了便于我们对数据的使用。
我们想象一下,如果我们不能使用变量了,我们就只能操作内存了。
C++中的的变量类型其实和我们的C语言中的变量类型是一样的。
#include
using namespace std;
int main ()
{
// 整型
int myNum = 5;
//单精度浮点型
float myFloatNum = 5.99;
// 双精度浮点型
double myDoubleNum = 9.98;
// 字符型
char myLetter = 'D';
// 布尔型
bool myBoolean = true;
// 字符串
string myString = "Runoob";
// 输出变量
cout << "int: " << myNum << endl;
cout << "float: " << myFloatNum << endl;
cout << "double: "<< myDoubleNum << endl;
cout << "char: " << myLetter << endl;
cout << "bool: " << myBoolean << endl;
cout << "string: " << myString << endl;
system("pause");
return 0;
}
运行结果:
我们都知道99%的C语言适配与C++,所以C++中的关键字与C语言中的关键字部分重合也是能够理解的。就如同我们写的“Hello world”一样。
至于这些关键字到底有什么用,我们在接下来的学习中会一一遇到并解决的。
这里跟C语言中的命名规则大同小异。
标识符由字母 (A-Z,a-z)、数字 (0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。 例如,正确的标识符:abc,a,bulle_to等。
不能用上文中的关键字,例如if,for,while等,因为被系统征用了。
标识符对大小写敏感,即严格区分大小写。
标识符命名应做到“见名知意”,例如,长度 (length),总计 (sum),圆周率 (pi)……
当然在命名规则上理论上是可以随意的,但是建议大家做到“见名知意“,方便我们后期阅读代码的同时也可以便于维护,当然最重要的是可以避免被同事打。
C++规定在创建一个变星或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存
整型变量表示的是整数类型的数据、
C++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同:
我们为了方便理解可以拿最小的short举例:
这里教大家一个方法,我们可以打开我们系统自带的计算机进行计算。
我们试着把最大值”32767“放入short中,看一下程序会有什么结果。
#include
using namespace std;
int main()
{
short s = 32767;
cout << "s = " << s << endl;
system("pause");
return 0;
}
运行结果:
跟我们预想的一样,有些小伙伴可能对这个取值范围有些疑问,难道我输入大于”32767“的数就会出问题吗?我们接着尝试。
#include
using namespace std;
int main()
{
short s = 32768;
cout << "s = " << s << endl;
system("pause");
return 0;
}
我们输入了”32768“,小伙伴可以猜猜运行结果会是什么?
为什么会是这样呢?
我们可以想象一下,如果把值看成一个圆,那么”32767 + 1“是不是就是”-32768“了呢?我们为了便于理解,我们可以尝试画一下原理图。
含义:它是一个编译时运算符,用于判断变量或数据类型的字节大小。
作用:sizeof 运算符可用于获取类、结构、共用体和其他用户自定义数据类型的大小。
当然这些理论知识讲的再清晰也是难以理解的,我们可以结合上文的short整形一起运用到代码上。
#include
using namespace std;
int main()
{
cout << "Size of char : " << sizeof(char) << endl;
cout << "Size of int : " << sizeof(int) << endl;
cout << "Size of short int : " << sizeof(short int) << endl;
cout << "Size of long int : " << sizeof(long int) << endl;
cout << "Size of float : " << sizeof(float) << endl;
cout << "Size of double : " << sizeof(double) << endl;
system("pause");
return 0;
}
这里补充一个C++(其实也是C语言)中的知识点,“short”是”short int“的缩写。同理”long“也是”long int“的缩写。
我们试着运行一下代码,可以发现与上文中各整形的大小与运行结果是一致的。
实行也称浮点型。
作用:用于表示小数。
浮点型分为两种:
float单浮点型
double双浮点型
我们试着写成代码;
#include
using namespace std;
int main()
{
//单精度
float f = 5.5f;
//双精度
double d = 6.6;
//打印
cout << "f = " << f << endl;
cout << "d = " << d << endl;
system("pause");
return 0;
}
输出结果为:
有些小伙伴可能会疑问为什么”5.5“后面要加”f“。
其实我们的vs编译器会把”5.5“默认为”double“类型。
而写成”5.5f“就不会。
这是在日常我们写代码时要注意的。
这里注意与C语言的区别。
#include
int main()
{
float f = 5.5f;
double d = 6.6;
printf("%f\n", f);
printf("%lf\n", d);
return 0;
}
这里输出结果为:
与上文结果相比较就能够发现,C++是不显示后面的小数”0“的,而C语言是显示后面的”0“的。
从上文可以直接看出两个浮点型的内存大小。
#include
using namespace std;
int main()
{
cout << "float = " << sizeof(float) << endl;
cout << "double = " << sizeof(double) << endl;
system("pause");
return 0;
}
运行结果为:
由图可以看出”float“占用内存大小为4byte,“double”占用内存大小8byte。
这个实际应用不多,但是我们可以而适当的了解一下。
先来看一下表示整数。
#include
using namespace std;
int main()
{
//科学计数法
float f = 3e2;//3 * 10^2
cout << "f = " << f << endl;
system("pause");
return 0;
}
运行结果为:
再来看一下如何表示小数。
#include
using namespace std;
int main()
{
//科学计数法
float f1 = 3e2f;//3 * 10^2
float f2 = 3e-2f;//3 * 0.1^2
cout << "f1 = " << f1 << endl;
cout << "f2 = " << f2 << endl;
system("pause");
return 0;
}
运行结果为:
点赞关注,后期更新更精彩!
作用:字符型变量作用于显示单个字符。
C和C++中字符型变量只占用1个字节。
字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元
int main()
{
//1.创建方式
char ch1 = 'a';
system("pause");
return 0;
}
#include
using namespace std;
int main()
{
//2.占用内存大小
char ch2 = 'b';
cout << "ch2占内存大小为:" << sizeof(ch2) << " byte" << endl;
system("pause");
return 0;
}
#include
using namespace std;
int main()
{
//3.常见错误
char ch3 = 'c';//true
//char ch4 = "d";//error
//char ch5 = 'abcdef';//error
system("pause");
return 0;
}
ASCII值在计算机中是一种较为重要的数字,我们平时想了解ASCII一般只能上网查。
我们用代码的方法就是:
#include
using namespace std;
int main()
{
//字符对应的ASCII值
char ch6 = 'e';
cout << "ch6对应的ASCII值:" << (int)ch6 << endl;
system("pause");
return 0;
}