第5章 循环结构和选择结构总结
关系运算符 | 含 义 | 数学中的表示 |
---|---|---|
< | 小于 | < |
<= | 小于或等于 | ≤ |
> | 大于 | > |
>= | 大于或等于 | ≥ |
== | 等于 | = |
!= | 不等于 | ≠ |
关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,<、<=、>、>=的优先级相同,高于==和!=,==和!=的优先级相同。
在C语言中,有的运算符有两个操作数,例如 10+20,10和20都是操作数,+ 是运算符。我们将这样的运算符称为双目运算符。同理,将有一个操作数的运算符称为单目运算符,将有三个操作数的运算符称为三目运算符。
运算符 | 说明 | 结合性 | 举例 |
---|---|---|---|
&& | 与运算,双目,对应数学中的“且” | 左结合 | 1&&0、(9>3)&&(b>a) |
|| | 或运算,双目,对应数学中的“或” | 左结合 | 1||0、(9>3)||(b>a) |
! | 非运算,单目,对应数学中的“非” | 右结合 | !a、!(2<5) |
逻辑运算符和其它运算符优先级从低到高依次为:
赋值运算符(=) < &&和|| < 关系运算符 < 算术运算符 < 非(!)
&& 和 || 低于关系运算符,! 高于算术运算符。 按照运算符的优先顺序可以得出:
- a>b && c>d 等价于 (a>b)&&(c>d)
- !b==c||d<a 等价于 ((!b)==c)||(d<a)
- a+b>c&&x+y<b 等价于 ((a+b)>c)&&((x+y)<b)
条件运算符,语法格式为:
表达式1 ? 表达式2 : 表达式3
谈编程思维的培养,初学者如何实现自我突破(非常重要)
学完了本章,大家就掌握了顺序结构、选择结构和循环结构的语法,将它们结合在一起就可以让程序变得复杂,变得烧脑;至此,大家终于能够编写一些简单的小程序来解决实际问题了,但是,这对大部分初学者来说是一个障碍,不知道从何下手,毫无切入点,根本不能学以致用,这是为什么呢?
学知识容易,用知识难。虽然大家已经掌握了 if、else、switch、case、while、for 的语法,但是还没有形成编程思维,没有足够的编程经验。编程不仅仅是语法,更重要的是解决问题的能力。 说白了,隔行如隔山,初学者对编程这个行业还没有“感觉”,不知道业内人士是怎么玩的。
那么,初学者该如何跨越这个障碍呢?貌似也没有捷径,只能多看多练(自己不断写代码,同时也参考别人的优秀代码),时间久了自然会养成编程思维;但是注意一些技巧能够提升效率,尽早让自己飞越。
所谓编程思维,就是专业经验,行业感觉。
以上实例基本上是由易到难,读者可以选择一部分来练习。我给大家的忠告是,先不要看答案,要尽量自己写代码:
- 如果自己能够顺利编写出代码,那么可以跟答案中的代码进行对比,看看自己的代码有哪些不足的地方,答案中的思路是否更好。
- 如果不能立即想到对策,那么也要先绞尽脑汁思考,想尽各种办法,查阅各种资料,最后实在扛不住了,再看答案,这个时候就会豁然开朗,受到很大冲击,原来答案中的思路如此巧妙。
第二点非常非常重要,大家一定要先自己思考,不管最后能不能得到答案,都要有一个独立思考的过程,这个过程就是培养编程思维的过程。只有经过缜密的思考,查阅答案时才能受到最大的冲击,这样形成的记忆和经验才是最深刻的。记住,上来就看答案,一辈子也学不会编程。如果不想烧脑,只有一个办法,退出编程界。
其实,编程思维的培养也没有那么难,往往就是一瞬间的事情,这个一瞬间,就是你独自并且巧妙地完成一道题目的时候。
一名合格的程序员,
- 不仅仅需要有理论基础和系统的知识,
- 更重要的是大量编写代码、不断实践,丰富自己的经验,强化编程思维,
只有这样,拿到项目才能立马想到解决方案。
再次强调一下,大家一定要养成独立思考的习惯,在学习和实践过程中遇到问题首先要自己解决,解决不了就借助搜索引擎,而不是先去看答案,或者直接问别人。