目录
一、分支语句
1、if语句分析
2、switch语句分析
3、小结
二、循环语句
1、do , while, for的区别
2、break和continue的区别
3、小结
三、goto 和 void分析
1、遭人遗弃的goto
2、void修饰函数返回值和参数
3、不存在void变量
4、小贴士
5、void指针的意义
6、小结
if语句中零值比较的注意点 - bool型变量应该直接出现于条件中,不要进行比较; - 变量和0值比较时,0值应该出现在比较符号左边; - float型变量不能直接进行0值比较,需要定义精度;(虽然定义的是0.0,但是在内存里可能是0.0000001)
(1)case语句中的值只能是整型或字符型 (2)case语句的排列顺序 -按字母或数字顺序排列各条语句 -正常情况放在前面,异常情况放在后面 - default语句只用于处理真正的默认情况
- do语句先执行后判断,循环体至少执行一次 - while语句先判断后执行,循环体可能不执行 - for语句先判断后执行,相比while更简洁
- break表示终止循环的执行; - continue表示终止本次循环,进入下次循环执行;
高手潜规则:禁用goto 项目经验:程序质量与goto的出现次数成反比 最后的判决:将goto打入冷宫
void修饰函数返回值和参数是为了表示“无”
以上程序编译正常,未指定类型,就默认int类型,就认为无限多的int类型入参。
一C语言没有定义void究竟是多大内存的别名。没有void的标尺,无法在内存中裁剪出void对应的变量。 指针默认是4/8字节。
- ANSI C:标准C语言的规范; - 扩展 C:在ANSI C的基础上进行了扩充;
- C语言规定只有相同类型的指针才可以相互赋值; - void* 指针作为左值用于“接收”任意类型的指针; - void* 指针作为右值使用时需要进行强制类型转换。