完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1. if语句分析
l if语句用于根据条件选择执行语句 l esle不能独立存在且总是与它最接近的if相匹配 l else 语句后可以接连其它if语句 l if语句中零值比较注意点 A. bool型变量应该出现于条件中,不能进行比较,直接使用 B. 变量和0值比较时,0值应该出现在比较符号的左边,避免将==写为= C. float 型变量不能直接进行0值比较,需要定义精度 l 示例: void f1(int i) { if (i < 6) { printf("Failed!n"); } else if ((6 <= i) && (i <= 8)) { printf("Good!n"); } else { printf("Perfect!n"); } } 2. switch 语句分析l switch 语句对应当个条件多个分支的情形 l case 语句分支必须要break,否则导致分支重叠 l case 语句中的值只能是整型或字符型 [size=12.0000pt]l case 语句的排列顺序 A. 按照字母或数字顺序排列各条语句 B. 正常情况下放在前面,异常放在后面 C. default语句只能用于处理真正的默认情况 l default 语句有必要加上,以处理特殊情况 l 示例: void f(int i) { switch (i < 6) { case 1: printf("Failed!n"); break; default: switch ((6 <= i) && (i <= 8)) { case 1: printf("Good!n"); break; default: printf("Perfect!n"); break; } break; } } 3. 小结l if 语句适用于复杂逻辑进行判断的情形中 l switch语句用于对离散值进行判断的情况 l if和switch语句在功能上可以相互替换的 l if语句对于“按片”分支判断的情形更加简洁 l switch语句对于多分支的情形更加简洁 l 循环语句的基本工作方式 A. 通过条件表达式判定是否执行循环体 B. 条件表达式遵循if语句表达式的原则 l do,while,for的区别 A. do 语句先执行后判断,循环体至少执行一次 B. while 语句先判断后执行,循环体可能不执行 C. for语句先判断后执行,相比while更简洁 2. do...while循环方式#include int f1(int n) { int ret = 0; if (n > 0) { do { ret += n; n--; } while (n > 0); } return ret; } int f2(int n) { int ret = 0; while (n > 0) { ret += n; n--; } return ret; } int f3(int n) { int ret = 0; for (int i = 0; i <= n; i++) { ret += i; } return ret; } int main1() { printf("%dn", f1(100)); printf("%dn", f2(100)); printf("%dn", f2(100)); getchar(); return 0; } 6. break 和 continue 的区别l break 表示终止循环的执行 l continue表示终止本次循环,进入下次循环执行 l 示例: void f11(int n) { int i = 0; for (i = 1; i <= n; i++) { if ((i % 2) == 0) { break; } printf("%d ", i); } printf("n"); } void f22(int n) { int i = 0; for (i = 1; i <= n; i++) { if ((i % 2) == 0) { continue; } printf("%d ", i); } printf("n"); } int main2() { f11(10); f22(10); getchar(); return 0; } 7. do...while(0)妙用----避免内存泄漏案例#include #include int func(int n) { int i = 0; int ret = 0; int* p = (int*)malloc(sizeof(int) * n); do { if (NULL == p) break; if (n < 5) break; if (n > 100) break; for (i = 0; i
{ p = i; printf("%dn", p); } ret = 1; } while (0); printf("free(p)n"); free(p);//do while 可以方便是释放 return ret; } int main() { if (func(10)) { printf("OKn"); } else { printf("ERRORn"); } getchar(); return 0; } 8. 小结l for 循环先进行判断在进入循环体 l 循环适合于次数固定的场合 l while 循环先进行判断再进入循环体执行 l while 循环适合于循环次数不定的场合 l do...while 循环先执行循环体再进行条件判断 l do...while 循环体至少执行一次循环体 |
|
相关推荐 |
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
788 浏览 0 评论
4271 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2529 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2929 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31479 浏览 11 评论
72919 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 14:29 , Processed in 0.684165 second(s), Total 51, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号