ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 【伴随编程】 一个数字复读机器 ## Part1 之前你写的程序都是在被编译、运行后直接输出完成你程序所描述的任务的执行结果的。 这次,小渡要和你一起写的程序将会在运行后等待你输入一个数字,然后才完成剩下的逻辑。学习过 C 语言的同学应该会知道`scanf`函数——虽然在 C++ 语言中,C 语言的函数库也是可以直接使用的,但是我们并不推荐这么做。因为我们有更方便的库可以使用——这就是我们之前介绍的`iostream`库。现在,我们要告诉大家,如何使用流式输入对象来从键盘上提取输入数据。 在这之前,请你先引入输入输出流类库,添加命名空间`std::cin`,`std::cout`,`std::endl`,并在引入后写一个返回值为整数 000 的 `main` 函数。 ``` #include<iostream> using std::cin; using std::cout; using std::endl; int main(){ return 0; } ``` ## Part2 接下来,让我们在 `main` 函数内声明一个整数型变量,`number`。 你还记得怎么做吗? ## Part3 在之前,我们已经学习过输入输出流类库中的流式输出对象`cout`和运算符`<<`。这次,我们来学一个新的对象:流式输入对象`cin`以及对应的运算符`>>`。 让我们在声明了变量 `number` 之后,写下`cin >> number;`。 ``` #include<iostream> using std::cin; using std::cout; using std::endl; int main(){ int number; cin>>number; return 0; } ``` ## Part4 你是不是发现`cin`的用法和`cout`很像呢?你可以想象,键盘上输入的数据从`cin`出发,像一条水流一样沿着由运算符“ >> ”构成的管子,依次流入待输入的变量——这跟`cout`是完全对称的。 如果你想要一次输入多个变量,那你只需要再后面继续用`>>`串接更多的变量就行了——比如`cin >> a >> b;`,这一点同样也是跟`cout`完全对称的。在输入的时候,`cin`会以空格或回车为分界——比如对于`cin >> a >> b;`,当你在键盘上依次输入`1 2`的时候,第一个数字1会自动赋值给第一个变量`a`,而第二个数字2则会赋值给变量`b`. 所以呢,现在 `number` 这个变量里面应该已经存上了一个数字了。是不是有点不相信?请用流式输出对象把`number`的值输出出来,前面串接字符串"Computer says ",然后结尾加上一个换行符。 ``` #include<iostream> using std::cin; using std::cout; using std::endl; int main(){ int number; cin>>number; cout<<"Computer says"<<number<<endl; return 0; } ``` ## Part5 干的不错! 来,让我们试试看这个“不一样的程序”吧: * 运行这个程序 * 给这个程序一个符合我们定义的输入格式的输入。例如 323232 。 * 然后按下回车,看一看这个程序会显示什么呢? 你可以多次运行,给程序不同的输入,看看结果又会有什么不同呢?你的可爱的程序是不是变成一个“复读机器人”啦?