c语言 循环过程中n发生变化,(C语言程序设计基本知识点解答三.doc

(C语言程序设计基本知识点解答三

C语言程序设计基本知识点解答(三)

第五章 选择结构程序设计

16?如何进行选择结构的程序设计?(选择结构)

A116?“选择结构”也可以叫做“分支结构”。在一个合理的“选择结构”中,总是先进行某个条件的判断,然后根据判断的结果选择执行预先设定的操作。其流程图如下:

可见,要想实现“选择结构”,需要2个条件:

① 能表达条件判断的运算符:即关系运算符和逻辑运算符

② 能实现判断并选择的控制语句:即if和switch语句

Q117?什么是关系运算符?(关系运算符)

A117?关系运算符也叫“比较运算符”,用于对两个数据进行比较判断的。C语言中一共有6种关系运算符,分别是 < 小于、<= 小于等于、> 大于、>= 大于等于、== 等于、!= 不等于。用这6种运算符按规定把运算量连接起来构成的式子就是关系表达式。其中,参与关系运算的数据可以是常量、变量或任何合法的表达式。比如:a * a <= 100、NowIndex == MaxIndex。

所有6种关系运算符的优先级都比算术运算符低,而== 等于、!= 不等于两个运算符的优先级又比其它四个关系运算符低。所有6种关系运算符的结合性都是从左向右。

Q118?C语言中如何表示一个关系表达式的值?(关系表达式)

A118?关系表达式进行的是关系运算,也就是“比较运算”。比较的结果只可能有两个:“真”或“假”。对应于实际生活中,就是“成立”还是“不成立”,“正确”还是“不正确”,“对”还是“不对”这样一些比较和判断的结果。可见,关系运算的结果的特点是:只有两种可能的结果;任何时候答案只可能是其中的一个;两种可能是相互对立不可能同时出现的。这样的特点正对应于数学上的“逻辑值”:“真”或“假”。所以最终的结论就是:关系表达式的值是“逻辑值”,即“真”或“假”。C语言中分别以“1”和“0”来代表。就是说,如果关系表达式的值为“真”,则得到整数1;如果值为“假”,则得到整数0。比如关系表达式 3 > 5 的值就等于0,而关系表达式5 > 3 的值就等于1。有了这样的处理,一个关系表达式就可以作为其它表达式的一部分从而构成更复杂的表达式了。比如:(3 > 5) + ( 3 != 5)、x = (y == z) 等等。

Q119?当a=3, b=2, c=1时,为什么关系表达式a > b > c 的值却是“假”的?(关系表达式)

A119?计算机语言中的表达式并不是数学表达式。如果是一个数学式子a > b > c,它表示b同时大于c和小于a,的确是对的。但是在C语言中,这个关系表达式实际上等价于(a > b) > c。这样计算一下:(a > b)是“真”,值为1;1 > c 当然是“假”。

Q120?什么是逻辑运算符?(逻辑运算符)

A120?逻辑运算实际上是复合的关系运算,即要判断一个大命题的成立与否,不仅要判断其中的各个小命题是否成立,还取决于每个小命题的成立与否是如何影响大命题的成立的。C语言有3种逻辑运算符,分别是 && 逻辑与(双目)、|| 逻辑或(双目)、 !逻辑非(单目)。

Q121?逻辑运算符的运算规则是什么?(逻辑运算符)

A121?逻辑运算是关系比较运算结果之间进行的运算,所以参与逻辑运算的运算量必须是逻辑量(即值为“真”或“假”的量),而逻辑运算的结果也必然是逻辑值(“真”或“假”,以下分别用“True”或“False”代表)。

&&逻辑与的运算规则是:全部运算量都为“T”,逻辑与运算才为“T”;

只要有一个运算量为“F”,逻辑与运算即为“F”

比如想判断x的绝对值是否小于5,那么对应的逻辑表达式是:x > -5 && x < 5。

||逻辑或的运算规则是:全部运算量都为“F”,逻辑或运算才为“F”;

只要有一个运算量为“T”,逻辑或运算即为“T”

比如想判断x的绝对值是否大于5,那么对应的逻辑表达式是:x < -5 || x > 5。

!逻辑非的运算规则是:运算量为“T”,逻辑非运算则为“F”;

运算量为“F”,逻辑非运算则为“T”

比如关系表达式 x > 0,实际上和逻辑表达式 ! (x <= 0) 是等价的。

总结一下,逻辑运算的规则就如下表所示:

其中:a、b代表逻辑量。T代表“真”值,F代表“假”值。

Q122?既然前面说“参与逻辑运算的运算量必须是逻辑量”,那为什么C语言中还有诸如 5 && 3 这样的逻辑表达式?(逻辑表达式)

A122?这是因为在C语言中,除了可以求解到关系表达式本身就是逻辑值的值,还可以求解出任何合法的表达式的“逻辑值”。这是基于这样的一个规定和处理方式:当需要求解任何一个表达式的逻辑值是“真”是“假”时,认为该表达式的值为非整数0时是“逻辑真”,而等于整数0时是“逻辑假”。按照这

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值