• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
gddzkw
博客园    首页    新随笔    联系   管理    订阅  订阅
循环结构中的坑

 

1.while循环:条件表达式的执行次数总是比循环体的执行次数多一次

2.do…while循环:条件表达式的执行次数与循环体的执行次数一样

3.switch语句中可以有default,也可以没有default,但最多有一个,如果case语句中,没有break终止,则会继续往下进行,知道末尾

4.break语句:是跳出当前循环,只能在循环语句和判断语句中使用

5.continue语句:跳过当次循环,进入下次循环

%6.i++; 先运算在自加

   ++i;先自加在运算

7.while循环后面不带分号,do…while循环后面必须带分号。

坑点分析:a作为循环的判断,也做为循环内容,那么在运行完内容后,还需要进行自加(这个自加很容易忽略),才能进行循环判断,判断不成立时,才能退出循环,(这个步骤和值也很容易别遗忘)

坑点分析:主要是“--x”和“x--”的混合应用,x=8进入循环,for判断为真,后判断if为真,这打印x的值,此时x=8,然后在执行输出语句的“x--”,所以x=7,经continue语句,在执行for循环中的“x--”,得到x=6

 

经循环判断进入if判断,条件为假,则跳过if判断,执行输出“--x”,先减在输出,得x=5,然后在执行for循环中的“x--”,得到x=4,for循环为真,进入循环判断if,if为真,打印输出x=4,在执行输出的“x--”,得到

 

x=3,执行for循环的“x--”,得到x=2,for循环为真,if判断为真,打印输出x=2,在执行“x--”,得到x=1,后继续执行for循环的“x--”,得到x=0,for循环为假,结束。

 

坑点分析:do进入循环,执行“++b”,得到b=1,进入判断,此时a=-2,为真,然后执行“a++”,得到a=-1,返回do从新开始循环,执行“++b”,得到b=2,然后判断,a=-1,为真,然后执行“a++”,得到a=0,

重新开始循环,执行“++b”,得到b=3,循环判断,a=0,为假,执行“a++”,得到a=1,然后退出循环,打印。

8.

int main()
{
int i = 0;
int array = { 1, 5, 0, 4 };
for (i = 0; i < 5; i++)
{
printf("%d,", array[i] & 4);
}
printf("\n");
return 0;
}

 坑点分析:按位与(&)和逻辑与(&&)的区别,(&):需要将十进制数转换成二进制数,然后进行与运算

posted on 2021-08-30 18:54  又菜又爱玩丶  阅读(190)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3