调整:课程语言开始部分专业化,但不完全改动
一、新课
来啦!
上节课我们讲了 整数类型和标准输入cout
的基本用法,这节课我们将学习 使用if
对输入值 进行判断 处理的基本操作。
课程引入:我们现在学会了 使用标准输入允许用户进行输入操作,那么如果我需要 限定输入内容,若输入其他则提示错误,该如何做到呢?
1、使用if对输入值进行判断
请先看如下代码:
#include<iostream>
using namespace std;
int main()
{
int a;
cin>>a;
return 0;
}
这个代码声明了一个整型变量“a”,且针对a在显示器上让用户输入,并将输入值赋值给a。
如果我想要求用户输入的数字只能是12345呢?
这时候我们就需要对 输入结果(或赋值后的a的值)进行一次比较。
代码逻辑:
1、声明整型变量a。
2、用户输入。
3、输入值赋值给a;
4、比较a是否等于12345
5、若等于,则提示“OK”,否则(不等于)提示“NO”
这里的比较,我们需要用到if
使用语法:
if(//条件句、表达式) //注意这后面没有分号
{
//如果满足括号里的条件,则执行这里的内容
}
else //否则
{
//如果不符合,则执行这里的内容
}
注意,很多时候{}可以省略。
另外, if可以连续判断或比较
if()
{
}
else if()
{
}
else
{
}
…
书写成文字,则可以表达为:
如果( )
{
//执行这里的内容
}
否则
{
//执行这里的内容
}
那么现在,我们再考虑如何实现判断用户输入的是否为12345,我们可以先用文字写出代码逻辑:
声明整型变量a;
输入并赋值给a;
如果(a等于12345)
{
说:“OK”
}
否则
{
说“NO”
}
现在让我们把它写成代码:
#include<iostream>
using namespace std;
int main()
{
int a;
cin>>a;
if(a==12345)
{
cout<<"OK\n";
}
else
{
cout<<"NO\n";
}
return 0;
}
运行这行代码,就实现了比较输入值a是否等于12345,如果等于,则打印“OK”,否则打印“NO”。
注意:这里的比较等于 必须写作==
,是两个等号 ,如果写成一个就变为赋值操作,即a=12345,会覆盖上一次输入赋值,就不是比较了。(写错容易报错)
拓展:其他比较符号
1、!=
不等于
2、<=
小于等于
3、>=
大于等于
4、<
小于
5、>
大于
if同样对其他数据类型适用。
提升:
对于输入的数据类型是否正确的判断可以使用fail()
,它是输入流中的成员函数,用于判断输入错误。
比如:
int a;
cin>>a;
if(cin.fail)
{
cout<<"NO";
}
else
{
cout<<"YES";
}
这里,当你输入的不是整型时,就会显示“No”,若输入的符合整数类型,则显示“Yes”;
下节课见!