完善资料让更多小伙伴认识你,还能领取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]lcase 语句的排列顺序
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语句对于多分支的情形更加简洁
第七课循环语句分析
1.循环语句分析
l 循环语句的基本工作方式
A. 通过条件表达式判定是否执行循环体
B.
条件表达式遵循if语句表达式的原则
l do,while,for的区别
A. do 语句先执行后判断,循环体至少执行一次
B. while 语句先判断后执行,循环体可能不执行
C. for语句先判断后执行,相比while更简洁
2.do...while循环方式
3.while循环方式
4.for循环方式
5.示例:计算1加到100的值
#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 循环体至少执行一次循环体
|
|
相关推荐 |
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
168 浏览0 评论
2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
1798 浏览8 评论
1501 浏览0 评论
IaaS+on+DPU(IoD)+下一代高性能算力底座技术白皮书
2668 浏览0 评论
飞凌嵌入式-ELFBOARD 常用的USB接口及其不同版本介绍第1期
1143 浏览0 评论
66736 浏览21 评论
嵌入式热门DIY项目:智能机器人开源资料合集(原理图、代码、论文)
68226 浏览22 评论
小黑屋|手机版|Archiver|德赢Vwin官网(湘ICP备2023018690号)
GMT+8, 2024-8-31 23:06, Processed in 0.338760 second(s), Total 29, Slave 23 queries .
Powered by德赢Vwin官网 网
© 2015bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号