要和计算机交朋友,就少不了互动,互动就离不开输入输出。不同的输入结合不同的算法得到不同的输出。
计算器中,输入数字,经过四则运算,输出答案。
摄像机中,输入画面,经过剪辑处理,输出视频。
学习机中,输入题目,经过搜索分析,输出题解。
温故知新
现在给你输入一些画面,然后经过你的大脑的思考加工,找到对应画面的李白的诗句,并运用 cout 输出你联想到的诗句吧。
1
2
3
给上面每幅画,编写一段程序输出对应的诗句吧。
(1)
(2)
(3)
创造我的“ChatGPT”
ChatGPT是人工智能技术驱动的自然语言处理工具,它能够基于在预训练阶段所见的模式和统计规律生成回答,并且能根据聊天的上下文进行互动,实现像人类一样的聊天交流。此外,它甚至能完成撰写邮件、视频脚本、文案、翻译、代码以及写论文等任务。
ChatGPT太强大了,我非常崇拜它。虽然我只学了几天的C++,但是我决定创造一个。
于是,我成功地创造了一个调皮的“ChatGPT”。
运行程序后,它问我:
我是蹩脚的ChatGPT,你有什么问题吗?
我提出问题:
怎样才能成为C++大神?
它回答道:
都说了我是蹩脚的ChatGPT,所以我不知道【怎样才能成为C++大神?】的答案。
运行效果是这样的:
还真是蹩脚的程序,不过它竟然能知道我问的问题,看来它还是有两把刷子。让我们一起探索一下程序是如何知道我们提出问题的。
(1)要使用 string 工具,则先要将头文件包含进程序,使用预处理命令 #include<string> 。
(2) string question 表示声明一个名为question的变量,该变量的类型是 string 。
敲黑板
想象一下,在计算机中,你创建了一个魔法盒子,可以用来存放各种东西。这个盒子上贴着一个特殊的标签,叫作“变量”。当我们需要往计算机里存放东西时,就去创建一个魔法盒子。
举一个例子:现在我创建了一个question的魔法盒子(变量),把我输入的问题存放在里面。当我或者计算机想要知道里面的问题时,只需要找到question就可以知道里面存放的内容。
在计算机中,将东西放入魔法盒子(变量),通常是称为 赋值 。
(3) cin >> question 将输入的内容 赋值 给 question 变量。这时候魔法盒子question里面存放的就是输入的内容。
翻译助力理解
● cin:是console input的缩写,表示从控制台输入数据。
划重点
>> 方向是重点
方向代表了流向, cin >> question 的流向是从输入流向变量。
对比学习 cout <<
(4) cout <<"都说了我是蹩脚的ChatGPT,所以我不知道[" + question + "]的答案。" 。
因为将输入的问题赋值给了 question ,所以这里使用该变量就可以知道问题的内容了。虽然蹩脚,但是程序将回答的话语和问题用 + 进行了组合。
在C++中,放在双引号( " " )里面的内容被称为 字符串 ,这样就能原样输出了。
如果是这样,编译器就会把question当作一个英文单词直接输出,而不是当作输出变量 question 中的内容。
cout << "都说了我是蹩脚的ChatGPT,所以我不知道[question]的答案。"
为了避免这个问题,伟大的发明者通过 拆分 再 组合 的方式实现了输出。将输出内容拆成3部分后通过 + 进行组合。
① "都说了我是蹩脚的ChatGPT,所以我不知道["
+
②question
+
③ "]的答案。"
人工智能的问候
试着与计算机对话,它可以记住你的名字、家乡、年龄等。
运行看看结果:
巩固练习
(1)哪段代码可以将键盘输入的内容赋值给变量word?( )
A.cout >> word
B.cin << word
C.cout << word
D.cin >> word
(2)以下代码可以输出“杨梅和葡萄真好吃!”。( )√( )×
(3)脑洞大开,制作一段有趣的问答程序。