条件语句(if语句)的用法
if语句是实现分支结构的常用分支语句之一,另外还有条件运算符、switch语句等。
if语句的功能是:根据给定条件,选择程序执行方向。
if语句的基本格式
“if语句”又称条件语句,其基本格式为:
if(表达式) 语句1;
else 语句2;
其中:
- 表达式——条件表达式,可以是C++中任意合法表达式,如算术、关系、逻辑或逗号表达式等。表达式的值为0则为“假”;非0则为“真”。
- 语句1、2——内嵌语句,可以是单一、复合或者空语句,在语法上各自表现为1个语句。
执行流程
if语句的执行流程示意图如上图所示,描述如下:
(1) 计算条件表达式的值;
(2) 若表达式的值为真(或非0),执行语句1;否则,即表达式的值为假(或为0),则执行语句2。
图中的“块”即代表语句。
注意:if分支中的语句1也可以是空语句。如:
if(x<0) ;
注意与前面的简化格式区别开,使用时千万记得空语句也要以分号与其他语句分隔!
简化格式
当语句2为“空语句”时,往往可以将else语句省略,得到基本格式的简化形式:
if(表达式) 语句1;
执行流程变为:当条件表达式的值为假时,程序将直接执行分支语句之后的语句。
例如,对于下列分支函数:
(1)用标准if语句描述,格式如下:
if(x<0) y=0;
else y = x*x*x+3*x; y = 0;
(2)用无else的简化格式,其思想是:令y的值为0,如x>=0,重新计算y的值,否则(即x<0),y的值不变。 则可描述为:
if(x>=0) y = x*x*x+3*x;
应用举例
【例2.4】 输入一个年份,判断是否为闰年。
#include <iostream>
using namespace std;
int main( ){
int year;
cout<<"输入年份:"<<endl;
cin>>year;
if (year%4==0&&year%100!=0||year%400==0)
cout<<year<<"是闰年"<<endl;
else cout<< year<<"年不是闰年"<<endl;
return 0;
}
【例2.5】 从键盘上输入三个整数,输出其中的最大数。
#include <iostream>
using namespace std;
int main(){
int a, b, c, max;
cout<<"输入三个整数:";
cin>>a>>b>>c;
cout<<"a="<<a<<'\t'<<"b="<<b<<'\t'<<"c="<<c<<endl;
if(a>=b) max=a;
else max=b;
if(c>max) max=c;
cout<<"最大数为:"<<max<<endl;
return 0;
}
说明:‘ \t’ 为水平制表符,一般相当与敲一个Tab的效果(也就是4个或者8个空格),即空格效果。(注意用单引号或双引号)
最新文章
- [RxJava]在学习RxJava中的错误理解
- SQL Server附加数据库出现错误5123的正确解决方法
- Xamarin.ios——First APP
- 用ildasm/ilasm修改IL代码
- Andriod——区别DVM与JVM
- (转)卸载SQLServer2008 数据库
- Android中Activity启动模式详解
- KVO与KVC初步了解
- 仿新浪微博短网址PHP实现方案
- myEclipse + phonegap-2.9.0 总跳出3个脚本提示
- 巧用test判断来写shell脚本
- hdu_5927_Auxiliary Set(xjb搞)
- MongoVUE的table view视图不显示列标题
- CamStar insitexmlclient重新封装为.net Core类库
- django2+uwsgi+nginx上线部署到服务器Ubuntu16.04(最新最详细版)
- KEYCODE_DPAD_CENTER 和 KEYCODE_ENTER
- user表中存在多条相同user不同host用户信息时MySQL该匹配哪条记录登录?
- Daily Scrum - 12/01
- ftp.GetResponse() 无法连接到远程服务器
- bzoj 1497 最大获利 - 最小割
热门文章
- sqli-libs(54-65关)
- drf框架,restful接口规范,源码分析
- Euler Sums系列(五)
- apt-get install 下载速度慢问题的解决
- Error: Cannot find module &#39;webpack&#39; 问题解决办法
- 「JSOI2015」isomorphism
- laravel执行数据库迁移的过程中出现Illuminate\Database\QueryException : SQLSTATE[HY000] [2002] Operation timed out (SQL: select * from information_schema.tables where table_schema = shop and table_name = migrations
- [转载]PHP开发环境 AppServ 2.5.10 安装及修改
- PostgreSQL日期加减
- Android学习06