《C++ Primer Plus》 第六章 分支语句和逻辑运算符

if-else语句

if-else语句的基本语法:

if (test-condition)
{
	true_statements
}
else
{
	false_statements
}

?:运算符

?:语句的基本语法:

expression1 ? expression2 : expression3

这里, expression2expression3是一个表达式,因此最后生成的是一个值,可以赋给其他变量或放到另一个更大的表达式中。
它等价于:

if(expression == true)
{
	SOMETHING = expression2;
}
else
{
	SOMETHING = expression3;
}

例如,取两个数字中大的一个,可以写为:

int a = 4, b = 5;
int maxnum = (a > b) ? a : b;

逻辑表达式

逻辑表达式包括逻辑OR运算符||逻辑AND运算符&&逻辑NOT运算符
在这里插入图片描述
在这里插入图片描述

逻辑运算符和优先级

逻辑运算符||&&的优先级均低于关系运算符。所以a > b || b > c被解释为(a > b) || (b > c)

逻辑运算符!的优先级高于关系运算符。所以!ch > 2会被解释为(!ch) > 2;如果需要先比较大小,再将其取反需要写为!(ch > 2)

逻辑运算符&&的优先级高于逻辑运算符||,因此age > 30 && age < 45 || weight > 300被解释为(age > 30 && age < 45) || weight > 300

switch语句

基本语法:

switch (integer-expression)
{
	case lable1: statement1; break;
	case lable2: statement2; break;
	case lable3: statement3; break;
	...
	case lable_n: statement_n; break;
	default:	 statement;
}

integer-expression的值必须是一个整数值或者char字符。
如果没有匹配任何标签,执行default后的语句。

break语句

标签匹配只是告诉程序从哪里开始,而break语句可以让程序明白进行到哪里结束。
比如,如果程序匹配到了第二个标签,在不设置break标记时,程序会从statement2一直执行到statement_n
利用break的特性,可以形成多个参数匹配一条语句的列表。比如:

char ch;
cin >> ch;
switch (ch)
{
case 'a':
case 'A':	cout << "You chose the first one.\n"; break;
case 'b':
case 'B':	cout << "You chose the second one.\n"; break;
default:    cout << "You chose nothing.\n";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值