C++基本介绍
# C++基本介绍
# 介绍
C++是一种面向对象的高级程序设计语言,是C语言的超集。它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
# 头文件
C++在引用标准库的头文件时,仍然使用<>尖括号进行包围,但不需要加上.h后缀,直接引用即可,例如:#include <iostream>
C++在引用不属于标准库的头文件时,则使用""双引号进行包围,例如:#include "SalesItem.h"
# C++注释
C++的注释继承自C,单行注释以//开头。
多行注释以/*
和*/
进行包裹即可。但在使用多行注释时,最好每行都以*
号开头,以显式指出这是注释,例如:
/*
* 我是一条注释。
* 这么巧,我也是!!!
*/
2
3
4
# 输入输出
# 介绍
C++中我们可以使用iostream标准库来实现输入输出。该库提供两个基础类型istream输入流和ostream输出流。术语"流"表达的是随着时间的推移,字符是顺序生成或消耗的。
# IO对象
标准库中定义了4个IO对象:
- cin:标准输入
- cout:标准输出
- cerr:错误输出,用于输出警告或错误信息
- clog:一般信息输出,用于输出一般性信息 在使用时需要使用std::为开头,::左侧的std是IO对象所在的命名空间,右侧是IO对象。 使用IO对象例子:
#include <iostream>
int main(){
std::cout << "Enter two numbers: " << std::ends;
std::cin >> v1 >> v2;
std::cout << "The sum is: " << v1 + v2 << std::endl;
return 0;
}
2
3
4
5
6
7
8
std::ends表示将buffer中的内容真正写入输出流,刷到屏幕中。 std::endl表示先进行换行,再将buffer中的内容真正写入输出流,刷到屏幕中。
# 输入输出运算符
*<<*运算符 <<为输出运算符,用于输出信息,它接受两个对象。左侧必须为ostream对象,右侧为要打印的值,此运算符将给定的值写到左侧ostream对象中,同时它的运算结果是左侧运算对象。 表达式是从左往右运算的,因此上面例子一行中有两个<<与下方例子等价:
(std::cout << "Enter two numbers:") << std::ends;
// 或
std::cout << "Enter two numbers:";
std::cout << std::ends;
// 我们也可以像C语言一样使用printf函数进行输出,该函数同样依赖iostream库,但在实际使用中IO流方式更加灵活
printf("The number is: %d", 2);
2
3
4
5
6
7
# 控制流
控制流即流程控制语句,能够让我们编写更为复杂的执行路径。C++的流程控制语句的语法和C差不多。
# while语句
例如:
#include <iostream>
int main(){
int i = 0;
while (i <= 10){
std::cout << "The i is: " << i << std::endl;
i++;
}
return 0;
}
2
3
4
5
6
7
8
9
10
# 读取数量不定的输入数据
在遇到要对用户输入的数量不定的数据进行操作时,我们可以使用输入对象和while循环进行实现。 当我们使用istream对象作为条件时,其效果是检测流的状态。如果流是有效的,那么检测成功,同等于条件真。当遇到文件结束符,或遇到无效输入时(例如读入的值不符合类型),istream对象的状态会变为无效,同等于条件假。
不同操作系统的文件结束符有不同的约定:
- 在Windows系统中是先按Ctrl+Z然后按Enter或Return键。
- 在Linux系统中是按Enter然后再Ctrl+D键。 例如:
#include <iostream>
// 对用户输入的所有数字进行求和
int main(){
int sum = 0, value = 0;
// 循环读取输入数值并执行对应操作,直到输入对象无效。
while (std::cin >> value) {
sum += value;
}
std::cerr << "Sum is: " << sum << std::endl;
return 0;
}
2
3
4
5
6
7
8
9
10
11
# for语句
例如:
#include <iostream>
int main(){
for (int i = 0; i <= 10; i++){
std::cout << "The i is: " << i << std::endl;
}
return 0;
}
2
3
4
5
6
7
8
# if语句
例如:
#include <iostream>
int main(){
int i = 0;
// 判断输入内容,以确保有数据可以处理
if(std::cin >> i){
if(i != 0){
std::cout << "you are print number is: " << i << std::endl;
}else if(i == 0){
std::cout << "I don't want to ZERO!!!" << std::endl;
}
}
else {
std::cout << "error print!!!" << std::endl;
}
return 0;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16