-
取余取整
在进行时间(小时:分钟)减法:
- 首先将两个时间都化成分钟形式,
取差
; 差/60=取整后的小时
;差%60=取余后的分钟
;
- 首先将两个时间都化成分钟形式,
-
复合赋值
total += 5
C语言
在设计之初有一个理念:作为底层编程语言,要能够用C语言
表达出机器语言
的所有指令,就是说,如果机器语言有一种指令而C语言
没法通过编译之后直接产生,这样是不合格的。+=
,-=
这种,在机器语言中是有一条直接对应的,所以在C语言
中就设计了这么一种复合赋值语言。 -
递增递减运算符
++
,--
是单目运算符(即只有一个算子),且算子必须是变量。作用是给这个变量加1
或减1
.-
前缀形式
运算符放在变量(算子)的前面。
++a的值是加了1之后的值
此时
++a
是一个表达式,返回加了1之后的值;这个表达式连带有一个副作用,就是把
a
这个变量的值加了1 -
后缀形式
运算符放在变量(算子)的后面。
a++的值(这个表达式的值)是加了1之前的值
与复合赋值一样,
++
,--
也有其历史背景,因为机器语言有两条指令:INC
、DEC
-
-
判断结构
-
if-else与switch-case区别
两者实现的功能其实是一样的,但是
if-else
是顺序一个个执行所有的if判断
,如果很不巧,要到最后一个判断语句才成立,这样的话整个程序就全部运行一遍,造成时间上的浪费;而switch-case模式就是直接跳到符合的条件上,只要运行一次,节省开销。
switch (控制表达式){ // 控制表达式只能是整数型 case 常量: // 常量可以是常数,也可以是常数计算的表达式 语句 case 常量: 语句 }
switch
进入符合的case
之后,一直顺序向下运行,直到遇到break
退出程序。switch
是一个入口,而if-else
是一种划分。 -
代码规范
if-else中尽量每段语句加*{}*;
if-else中尽量只用一个出口;
-
循环结构
-
do-while
while,是先判断,后进循环体;
do-while,先进循环体,后判断;
-
while与for循环的区别
*while*是限定一个条件,计算代码块,循环的格式是在代码块(循环体)中确定的,即
循环体中要有改变条件的机会
;*for*直接定义好循环的格式,每次都执m行相同的代码块,
-
跳出循环结构
-
有关程序的思考
-
程序的本质
写程序不是写关系,而是写动作。
-
写程序的流程
- 程序需要用到什么数据类型;输入、中间量、输出
- 确定逻辑动作
-
References
- 翁恺, C语言程序设计, B站 : 3 - 6.0.7