模板 信奥AC之路(第一级)
-
第一课 开发环境与基础输出4 主题|小节
-
第二课 算数运算符6 主题|小节
-
第三课 输入与运算3 主题|小节
-
第四课 数值操作4 主题|小节
-
第五课 表达式与运算符3 主题|小节
-
第六课 三目运算与双分支(缺导语+本课目标)2 主题|小节
-
第七课 多分支结构(缺导语+本课目标)1 主题|小节
-
第八课 多if语句1 主题|小节
-
第九课 三种分支结构的比较1 主题|小节
-
第十课 巩固学习分支结构1 主题|小节
-
第十一课 switch与复合语句3 主题|小节
-
第十二课 while循环2 主题|小节
-
第十三课 while循环的简单条件输出1 主题|小节
-
第十四课 while循环的输入序列处理1 主题|小节
-
第十五课 while循环的复杂条件输出2 主题|小节
-
第十六课 while循环与数据统计1 主题|小节
-
第十七课 for循环结构3 主题|小节
-
第十八课 for循环的输入序列处理)1 主题|小节
-
第十九课 深入探索for循环2 主题|小节
-
第二十课 三种循环的对比2 主题|小节
-
第二十一课 程序调试(一)3 主题|小节
-
第二十二课 调试工具的使用2 主题|小节
-
第二十三课 综合复习2 主题|小节
-
第二十四课 学习评估1 主题|小节
### 3.1.1 让计算机”听”懂我们的话
“还记得上一章我们是怎么让计算机说话的吗?” 我笑着问道。
“记得!用cout” 小明立刻举手回答。
“没错!” 我竖起大拇指,”就像我们有嘴巴说话用cout,现在我们要教会计算机用耳朵听话。计算机的’耳朵’,就叫做cin!”
{.alignnone}
> 💡 重要提示:
>
> – cin是计算机的”输入耳朵”
> – 使用 “>>” 符号输入数据
> – 输入前要先准备变量”小房子”
🔬 **实验一:计算机学听话**
**预期输出:**
“`
你好啊,请告诉我你的年龄:12
原来你今年12岁啦!
“`
“`cpp
#include
using namespace std;
int main() {
int age; // 准备一个存放年龄的小房子
cout <> age; // 计算机竖起耳朵听,等待用户输入年龄
// 根据输入的年龄,给出响应
cout << "原来你今年" << age << "岁啦!" < 💡 scanf的特点:
>
> – 需要使用&符号指明地址
> – 要指定数据类型(%d, %f等)
> – 来自C语言的传统输入方式
🔬 **实验二:两种听力大比拼**
**预期输出:**
“`
请用cin输入一个数:5
请用scanf输入一个数:3
使用cin输入的数是:5
使用scanf输入的数是:3
“`
“`cpp
#include
#include // 需要包含这个头文件才能使用scanf
using namespace std;
int main() {
// 使用cin的方式
int number1;
cout <> number1; // 使用cin读取输入的数字
// 使用scanf的方式
int number2;
printf(“请用scanf输入一个数:”); // 提示用户输入
scanf(“%d”, &number2); // %d表示读取整数,&number2表示number2的地址
// 输出两种方式读取的结果
cout << "使用cin输入的数是:" << number1 < 💡 输入错误的处理方法:
>
> – 检查输入是否合法
> – 清除错误状态
> – 清空输入缓冲区
> – 给出友好提示
🔬 **实验三:处理听错的情况**
**预期输出:**
“`
请输入你的年龄:abc
哎呀,这不是一个正确的年龄呢!
请输入你的年龄:12
你今年12岁啦!
“`
“`cpp
#include
using namespace std;
int main() {
int age;
bool input_valid = false; // 用于标记输入是否有效
while(!input_valid) { // 循环直到获得有效输入
cout <> age;
if(cin.fail()) { // 检查输入是否失败
cout << "哎呀,这不是一个正确的年龄呢!" << endl;
cin.clear(); // 清除错误状态
cin.ignore(1000, '\n'); // 清空输入缓冲区
} else {
input_valid = true; // 输入有效,退出循环
cout << "你今年" << age << "岁啦!" << endl;
}
}
return 0;
}
“`
### 本节回顾
📌 我们学会了:
– 检查输入错误
– 处理错误状态
– 清空输入缓冲区