C程序设计3_语句和预处理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
int main() { int year;
bool IsLeapYear;
cout<<"Enter the year: ";
cin>>year;
IsLeapYear = ((year % 4 == 0 &&
year % 100 != 0)||(year % 400 == 0));
if (IsLeapYear)
意味着逻辑表达式从左到右进行计算数值,一旦 计算出最终的值为truth,计算便终止.
“短路”估值法举例
int age, height; age = 25; height = 70;
表示式
(age > 50) && (height > 60)
false 计算值现在可以停止了,因为&&的结果仅当两侧都
TRUE expression
statement
FALSE
if-else 语法
if ( 表达式)
语句
说明: 语句可以是单一的语句, 空语句, 或者块.
语句 B
说明:语句A 和语句B 每个可以为单个语句、空 语句或程序块.
if ... else 提供两种选择
两者执行其一 (if 语句或else语句)
TRUE expression
FALSE
if clause
else clause
“短路”估值法
C++ 使用逻辑表达式的“短路”估值法
((year % 4 == 0 && year % 100 != 0)||(year % 400 == 0))
第二个表达式中的不安全的操作可以防止 节省时间
建议使用块
if ( 表达式 )
{
} else {
}
“if 语句” “else 语句”
int carDoors, driverAge ; float premium, monthlyPayment ; ...
if ( (carDoors == 4 ) && (driverAge > 24) )
表达式 x<y x+2<y x != y x + 3 >= y y == x y == x+2 y=x+3
值 true false true true false true 7 (true)
在C++中
数值 0 表示 false 任何非零数值表示true
表达式语句和空语句
语句格式:
表达式;
表达式语句与表达式的区别:
例如
int age, weight;
age = 25; weight = 145;
表示式
(weight < 180) && (age >= 20) true
必须继续估值,因为整个表达式的值是否为真 还不确定.
发生什么?
int age, height; age = 25; height = 70;
EXPRESSION ! (height > 60) || (age > 50)
true
false
Does this part need to be evaluated?
写出表达式
税率大于 25% 并且收入少于 20000 气温不高于75 度或者湿度低于0.7 年龄超过 21 并且低于60 年龄为21 或22
C++程序设计(3)
第三章 语句和预处理
内容
表达式语句和复合语句
表达式语句和空语句 复合语句
选择语句
条件语句 开关语句
循环语句 转向语句 类型定义语句 预处理功能
复习相关知识
6 个关系运算符: < <= > >=
== !=
3 个逻辑运算符:
!
&&
||
int x, y ; x = 4; y = 6;
为真的情况才为真. 现在已经能决定整个表达式的结果 为假.
更多的例子
int age, height; age = 25; height = 70;
表示式
(height > 60) || (age > 40)
true 计算值现在可以停止了, 因为|| 的结果为真仅当
一侧为真.现在已经能决定整个表达式的结果为真.
C++ 的控制结构
选择结构
if if . . . else switch
重复结构
for while do . . . while loop
如何解决分支问题?
举例:
输入一个年份,判断是否闰年。
条件1:能被4整除,同时不能被100整除; 或 条件2:能被400整除
#include <iostream> using namespace std;
cout<<year<<" is a leap year"<<endl;
else
cout<<year<<" is not a leap year"<<endl;
}
12
运行结果:
Enter the year: 2000
2000 is a leap year
14
选择语句
if ( 表达式 )
语句 A else
表达式可以包含在其他表达式中,而语句不可。 例如:if ((a=b)>0) t=a; 不可写为:if ((a=b;)>0) t=a;
空语句
只有一个分号(;) 不做任何事情
复合语句
将多个语句用一对大括号包围,便构成 一个复合语句
例如
{ sum=sum+i; i++;
}
算法的基本控制结构
• 顺序结构 • 分支结构(选择结构) • 循环结构(重复结构)
if ( lastInitial <= ‘K’ )
else
volume = 1; volume = 2;
cout << “Look it up in volume # “ << volume << “ of NYC phone book”;
if 语句完成选择功能
尽管是完成一个分支语句 (一个语句或者块)
{
premium = 650.00 ; cout << “ LOW RISK “ ;
}
else
{
premium = 1200.00 ; cout << “ HIGH RISK ” ;
}
monthlyPayment = premium / 12.0 + 5.00 ;
仅有一条语句时,{}可以省略,例如:
问Leabharlann Baidu答案
(taxRate > .25) && (income < 20000) (temperature <= 75) || (humidity < .70) (age > 21) && (age < 60) (age == 21) || (age == 22)
a<b<1的表示是错误的
短路法的优点