C++程序结构
#include<iostream>
using namespace std;
int main() {
cout<<"Hello World!";
return 0;
}
下面我们来理解上面的代这段程序:
- 第一行:C++ 语言定义了一些头文件,这些头文件包含了程序中必需的或有用的信息。这里用到的头文件iostream使我们可以处理输入和输出的内容。
- 第二行:using namespace std;是告诉编译器使用标准库命名空间,我们可以使用标准库中的对象和变量名称。
- 第三行:int main()是主函数,程序从这里开始执行。{}内的所有代码都将执行。
- 第四行:cout与插入运算符 <<将内容输出,这里将输出"Hello World!"(不带双引号"")。
- 第五行:return 0;表示终止 main( )函数,并向调用进程返回值 0。
命名空间
为什么要使用命名空间呢?
举个例子吧,我们的名字,很多时候都会重名,比如一个学校里面会有叫小明的同学,那我们会怎么区分呢?我们可以在名字前面加上班级名称,比如:五(3)班小明、四(2)班小明…
同样的道理,我们在编程时,不同的程序员可能会用相同的名字来命名相同或不相同的功能,那么在程序调用时,编译器无法区分使用哪一个功能。
所以我们会加上命名空间(namespace)来区分,这里的std表示的是标准命名空间,是编译系统自带的。
省略命名空间
我们现在知道命名空间相当于一个前缀,在使用时using namespace std这行可以省略,那么在使用某些对象时就需要加上::运算符,比如
#include <iostream>
int main() {
std::cout << "Hello World!";
return 0;
}
但是经常写全名会很繁琐,所以在没有冲突的情况下可以偷懒,写一句 using namespace std;,接下去的代码就可以不用写前缀直接写 cout 了。
注释
程序的注释是解释性语句,适当的添加注释可以提高代码可读性,也可以用来阻止某段程序的执行。注释中的所有字符会被 C++ 编译器忽略。
#include<iostream>
using namespace std;
int main() {
//可以放在语句前注释
cout<<"Hello World!";//也可以放在语句后注释
/*
多行注释
可以跨行
*/
return 0;
}
C++数据类型
在编程时,我们会需要使用各种变量来存储各种信息。变量会保存它所存储的值的内存位置。所以在创建变量时需要指定其存储类型,操作系统会根据变量的数据类型来分配内存和决定存储什么。
我们目前需要了解几种基本数据类型:
类型 | 关键字 | 位 | 范围 |
---|---|---|---|
整型 | int | 4字节 | -2147483648 到 2147483647 |
浮点型 | float | 4字节 | 1.17549e-38 到 3.40282e+38 |
双浮点型 | double | 8字节 | 2.22507e-308 到1.79769e+308 |
字符型 | char | 1字节 | -128 到 127 或者 0 到 255 |
布尔型 | bool | 1字节 | 0和1 |
不同数据类型所能存储的数据范围不同,所以需要根据需求选择合适的数据类型,否则会存在数据存储异常(得到的数据和我们所想的不同)或者数据类型转换(这个后面再说)。
#include<iostream>
using namespace std;
int main() {
int age=25;
double height=1.73;
char c='A';
bool flag=true;
cout<<"我的年龄是"<<age<<"岁,我的身高是"<<height<<"米,我的成绩是"<<c<<"等。" <<endl;
return 0;
}
要混合使用文本和变量时,需要使用<<运算符将他们分割开来。当我们需要输出多行内容时,可以使用endl来换行。