设为首页 加入收藏

TOP

2.4.4 复合语句
2013-10-07 14:57:45 来源: 作者: 【 】 浏览:67
Tags:2.4.4 复合 语句

2.4.4  复合语句

经常都要求if-else语句的每个分支执行多个语句。为此,可将每个分支的语句封闭到一对花括号中,如图2.8第二个语法模板所示,图2.10则给出了一个实际的例子。花括号内的一组语句统称为复合语句。在C++(www.cppentry.com)中,复合语句被视为单个语句。凡是能使用单独一个语句的地方,都能换用一个复合语句(因此,图2.8的第二个语法模板实际是第一个模板的特例)。图2.10包含两个复合语句,它们嵌入一个if-else语句中。复合语句用粗体显示。

 
图2.10  在if-else语句中使用复合语句

if-else的语法规则要求Yes_Statement和No_Statement分别只能是一个语句。假如一个分支要执行若干个语句,就必须用花括号封闭这些语句,将它们转换成复合语句。if和else之间不用花括号封闭两个或更多的语句,编译器会报错。

自测题

21.写一个if-else语句,使其在score变量的值大于100时输出High,在score的值小于等于100时输出Low。score变量是int类型。

22.假设savings(存款)和expenses(开销)是double类型的变量,而且已经赋值。写一个if-else语句,如果savings大于等于expenses,就使savings的值减去expenses的值,结果再赋还给savings。然后,将expenses的值设为0,并输出单词Solvent(有偿还能力)。但是,如果savings小于expenses,if-else语句就只输出单词Bankrupt(破产),不更改任何变量的值。

23.写一个if-else语句,使其在变量exam(考试成绩)的值大于或等于60,而且变量programs_done的值大于或等于10的条件下,输出单词Passed(通过);否则,if-else语句输出单词Failed(没通过)。变量exam和programs_done都是int类型。

24.写一个if-else语句,使其在变量temperature(温度)大于或等于100,或者变量pressure(气压)的值大于或等于200,或者同时满足这两个条件的前提下,输出单词Warning(报警);否则,if-else语句输出单词OK(正常)。变量temperature和pressure都是int类型。

25.假设有以下二次方程式:

x2 - x - 2

描述它在什么情况下为正(也就是大于0)。换言之,你需要描述要么小于较小根(-1),要么大于较大根(+2)的一系列数字。写一个C++(www.cppentry.com)布尔表达式,使其在方程式为正时求值为true。

26.假设有以下二次方程式:

x2 - 4x + 3

描述它在什么情况下为负。换言之,你需要描述不仅大于较小根(+1),还要小于较大根(+3)的一系列数字。写一个C++(www.cppentry.com)布尔表达式,使其在方程式为负时求值为true。

27.在if-else语句中嵌入的以下cout语句将输出什么?假设已将这些代码嵌入一个完整、正确的程序中。请解释你的答案。

  1. a. if (0)  
  2.   cout << "0 is true";  
  3. else  
  4.    cout << "0 is false";  
  5. cout << endl;  
  6.  
  7. b. if (1)  
  8.    cout << "1 is true";  
  9. else  
  10.    cout << "1 is false";  
  11. cout << endl;  
  12. c. if (-1)  
  13.       cout << "-1 is true";  
  14. else  
  15.       cout << "-1 is false";  
  16. cout << endl;  

注意:这只是一个练习题。不应该遵循这样的编程(www.cppentry.com)风格。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.4 简单控制流程 下一篇2.4.6 递增操作符和递减操作符

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: