专题一关键字的剖析----3.if,switch,do,while,for分析
来源:互联网 发布:php 循环倒计时 编辑:程序博客网 时间:2024/06/05 14:11
if语句
if根据条件选择执行语句(两路,二选一,类似二叉树),else不能独立存在并且和前面离它最近的if匹配。
注意:if语句中零值比较要小心。
bool类型
bool类型的变量应该直接出现在条件中(作为flag或者开关),不要再和其它变量进行比较。C语言本身是没有bool类型的,由编译器厂商自行规定设计,造成相同的代码在不同的编译器环境下得到的结果不一致。C语言只规定了非0为真(-1也为真)。
bool b=TRUE;if(b){ //statement 1}Iif(!b){ //statement 2}
普通整型变量和0(常量)比较时,0(常量)应该出现在比较符号左边,因为C语言中的等于符号==和我们平时生活中=容易混淆出错,可以巧妙利用编译器左值不能为常量来避免出错。
if(0==1){ //statement 1}else{ //statement 2}
float类型和0值的比较
float类型的变量不能直接和0值比较,需要定义精度来约束(数学上的夹逼原理),只能大约相等。
计算机采用离散的值来模拟表示数据,有精度限制,并不能完全正确地表示浮点型变量(毕竟数学上浮点数是无穷无尽的,而计算机不可能表示出来)。
#define EPSINON 0.00000001float f=0.0;if((EPSINON<=f)&&(f>=EPSINON)){ //statement 1}else{ //statement 2}
switch语句
switch语句对应单个条件多个分值的情形
switch的限制性:
Case语句中的值只能是整型或者字符型
每个case分支语句必须要有break,否则会导致分支重合
Default语句有必要加上,以处理特殊情况
Case语句排序原则:
按字母或者数字的顺序排列(方便调试和二次开发);
正常的情况放在前面,异常的放在后面;default语句只用于处理真正的默认情况。
小结:
if语句实用于按“范围”进行判断的情形;
switch适合对各个离散值分别进行判断的情形。
循环语句:
do语句先执行后判断,循环体至少执行一次;
while语句先判断后执行,循环体可能不执行;
for语句先判断后执行,比while更简洁。
int fun(int n){ int ret=0; while(n&&(ret +=n--)); //n为负数死循环n>0}int fun2(int n){ int ret=0; int i=0;for(i=1;i<=n;i++){ ret+=1;} return ret;}int fun3(int n){ int ret=0; if(n>0) { do{ ret+=n--; }while(n); }
return ret;}
break语句
break终止循环,continue终止本次循环。
那switch能否用continue?
C语言在设计break和contiue时,break被设计用来跳出一个代码块,而continue是结束本次循环,必须用在循环中,所以switch不能用continue。
一般函数设计思路:
在函数中分配资源,判读是否进行,是执行函数语句(否释放资源退出函数),释放资源退出函数。
int fun(int n){ int i=0; int ret=0; int * p=(int*)malloc(sizeof(int)*n); do { if(NULL==p) break; if(n<0) break; for(i=0;i<n;i++) { p[i]=i; printf(“%d\n”,p[i]); } ret=1; }while(0); free(p); retuen ret;}//巧用DoWhile统一函数(单入口单出口)的结构为申请资源,执行功能,释放资源,让函数结构更清晰,防止内存泄漏。
- 专题一关键字的剖析----3.if,switch,do,while,for分析
- if,switch,do,while,for分析
- if switch do while for分析
- if, switch, do , while, for分析
- C语言关键字--- if switch do while for
- 分支语句 循环语句 if,switch,do,while,for分析
- java程序流程控制,if语句,switch语句,while语句,do while语句,for 语句,break关键字,continue关键字
- 程序流程控制 if switch while do while for
- if switch 具体用法 循环 while do while for
- 控制流程语句if、switch、while、do-while、for
- 循环控制语句for while do-while if switch
- if/switch/while/do while/for/等循环及判断的简要用法案例
- Swift语法基础:17 - Swift的For循环, While, Do-While, If, Switch
- if,continue,break,while,do-while, switch,return,foreach,for等条件语句的使用
- 笔记:循环(for, if, do...while, break, switch)
- 关于 if,switch,do while ,for 你不知道的那点小事
- c++学习 day2 循环学习(while do while for) 分支学习(if ; if else; if else if; switch的应用 )
- JS:1.2控制语句(if,if else,for,switch,while,do while)
- 224. Basic Calculator
- CXF捕获异常
- Python-常用的内置函数
- 欢迎使用CSDN-markdown编辑器
- [BZOJ]2440: [中山市选2011]完全平方数
- 专题一关键字的剖析----3.if,switch,do,while,for分析
- 指针(一)
- 反射获取其他apk中类的变量和方法
- H264码流保存为YUV数据 通过H264Visa软件转换
- python写一个录音小程序
- python中staticmethod classmethod及普通函数的区别
- 机房收费系统之九(导出Excel)
- ORACLE 多表连接与子查询
- MySQL行级锁、表级锁、页级锁详细介绍