C++函数基础
每一个C++程序都包含了一个或者多个函数,但其中有一个函数必须命名为main,这是因为程序的启动,都是从main函数开始的。
int main() {
return 0;
}
函数主要包含4部分:
- 返回类型
- 函数名
- 形参列表
- 函数体
-
返回类型
在定义函数的时候要在函数名之前放置一个关键字表示函数的返回类型,关键字的含义是函数执行完毕后会返回什么类型的值。 这里使用了int关键字,代表函数将返回一个整数类型的值.main函数的返回类型一定为int
-
函数名
为了区分不同的函数,给不同的函数取不同的函数名称,并且函数名称是有规范的。 -
形参列表
函数名之后的括号填充的就是形参列表,它定义了函数在被调用时可以接受的参数类型,参数之间用逗号分隔,如果形参列表为空,表示没有传递形参。 -
函数体
从左花括号{
到右花括号}
结束,这一部分是函数体,函数体中存放的就是函数要运行的代码,return 0
表示程序已经执行完成,并返回了一个状态码0,状态码可以反馈程序的运行状态,在大多数情况下,返回0表示程序正常退出,没有发生错误。
输入输出流
C++内置的函数库iostream
提供了输入和输出的功能,它允许开发者从键盘读取输入并在屏幕上输出结果。
在iostream
库中有两个对象可以使用:cin
和cout
,cin
是一个标准输入流对象,用于从键盘读取输入;cout
是一个标准输出流对象,用于向屏幕输出结果。
变量
如果想要输入两个100,就需要在系统内部使用某样东西来指代和标识输入的内容,比如x = 100, y = 100
,这里的x
和y
被称为变量,用来指代内容。
对于本题而言,可以写成如下:
int a;
int b;
// 为了简略,也可以写在一行,中间用逗号隔开
int a, b;
写入数据
使用输入流cin
:
std::cin >> a >> b;
这行代码表示使用cin
获取输入值,并将输入的值存储在变量a
和变量b
中。
std::cin
是C++标准库中的标准输入流对象,用于从键盘读取输入a
、b
表示定义的变量,用于接收从输入流中读取的值,并且要求这个值是整数类型
std
std
是一个命名空间,::
符号是作用域操作符。
当使用C++标准库的功能时,需要使用命名空间限定符来指明你要使用的内容位于哪个命名空间中。通常会使用std::
的前缀,表示正在使用C++标准库的内容。
也就是说,为了避免我们使用的变量和标准库定义的变量名称相同而引起冲突,以及避免不同标准库之间的变量名冲突,标准库定义的所有名字都在命名空间std
中,如果我们要使用cin
的话,就要先找到命名空间,然后再使用cin
,即:std::cin
。
输入运算符(>>)
输入运算符用于将数据输入流读取到变量中。
int number;
std::cin >> number; // 从输入流读取一个整数并存储在变量 number 中
在连续读取多个值的时候,可以使用链式输入操作,多个值之间用空格隔开。
int a, b;
std::cin >> a >> b; // 从输入流读取两个整数并存储在变量 a、b 中
输出数据
定义一个变量result
用来存放a + b的计算结果。
int result = a + b;
最后要将这个结果输出到屏幕上,此时要使用到标准输出流对象cout
,此外还需要使用到输出运算符<<
,将数据输出到屏幕上:
std:: cout << result << std::endl;
我们在输出结果的时候,每一个结果都要单独占一行,也就是说 每个输出结果后面要有一个回车。
那么 std::endl
就是这个作用,它表示结束当前行。
因为使用了iostream
库,因此需要在前面声明使用了这个库:
#include<iostream>
截至目前,题目的逻辑已经基本完成,可以写出如下代码:
#include<iostream>
int main() {
int a, b;
std::cin >> a >> b;
int result = a + b;
std::cout << result << std::endl;
return 0;
}
循环输入输出
此时的代码只能计算一次a + b
,要想多次计算需要使用到循环,这里使用的是while
循环:
while(条件) {
// 循环代码块
}
在每次循环中,会判断条件的真假。如果条件为真,循环体内的代码块会被执行。然后,循环会再次检查条件,并根据条件的真假决定是否继续执行循环体。
下面的代码表示持续输入a 和 b,直到遇到人为终止程序(不输入时)才会结束。
while (std::cin >> a >> b){}
使用while循环后的代码如下:
#include<iostream>
int main() {
int a, b;
while (std::cin >> a >> b) {
int result = a + b;
std::cout << result << std::endl;
}
return 0;
}
延伸
每一次使用cin
和cout
时都要加上std::
,显得十分繁琐,因此可以在开头申明使用命名空间std,这样就不用每次都加上std::
了:
#include<iostream>
using namespace std;
int main() {
int a, b;
while (std::cin >> a >> b) {
int result = a + b;
std::cout << result << std::endl;
}
return 0;
}