C流程控制(选择结构与循环结构)

★流程控制★

顺序结构:默认的流程结构。按照书写顺序执行每一条语句。
选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
循环结构:在给定条件成立的情况下,反复执行某一段代码。


一、选择结构-if

1、if的第1种结构
if(条件)
{
        语句1;
        语句2;
        ......
}
2、if的第2种结构
if(条件1)
{
         语句1;
         语句2;
         ......
 } 
else
{
    
}
3、if的第3种结构
if(条件1)
{
         语句1;
         语句2;
         ......
}
else if(条件2)
{
 
}
else if(条件3)
{
 
}
else if(条件4)
{
 
}
else 
{
 
}
4、if的第4种结构
if (条件)
语句1;
使用注意:
1>比较大小时,常量值放左边,变量放右边
//if (a = 0)
if (0 == a)
{
	printf("a等于0\n");
}
else
{
	printf("a不等于0\n");
} 
2>注意赋值运算符,不要写成两个=
 a = 15;
3>if语句后面不要写;
if ( 5>6 );
{
<span style="white-space:pre">	</span>printf("A\n");
}    
4>作用域不明确
 if (10 > 6)
 int a = 5;
 如果要在if后面的语句中定义新的变量,必须用大括号{}
  
二、选择结构-switch
1、简单使用
switch(表达式) { case 数值1: break; … default: break;}
    举例
int a = 10;
switch (a) {
case 0:
         printf("这是一个0");
         break;
case 5:
         printf("这是一个5");
         break;
case 10:
         printf("这是一个10");
         break;
default:
         printf("什么也不是");
         break;
}
    *注意:
break:退出整个switch语句
如果case后面没有break,就会执行后面所有case中的语句,直到遇到break为止
如果要在case后面定义新的变量,必须用大括号{}包住(和if一样)
2、if和switch的对比
1> if语句能完成的功能,switch并不一定能完成 

2> 在有些情况下,if语句和switch语句可以互换

3> switch能完成的功能,if语句都能完成

三、循环结构-while
1、简单使用
连续printf(“俯卧撑”)20次;
while(表达式) { }
continue:输出5次休息一下
break的使用:某次的时候停止循环
int main()
{
// 1.先确定需要重复执行的操作    
// 2.再确定约束条件   
// 定义一个变量记录做的次数
  int count = 0;    
  while (count < 50)
  {
    ++count;    
    printf("做第%d次俯卧撑\n", count);
    if (count == 20){
        break;
    }
  }
  return 0;
}
2、特点
只有条件成立才会执行循环体
while (条件)
{
     循环体
}
3、运行原理
1>如果一开始条件就不成立,永远不会执行循环体
2>如果条件成立,就会执行一次循环体,执行完毕,再次判断条件是否成立......
break:
 直接结束整个while循环
continue:
结束当前的循环体,进入下一次循环体的执行
4、最简单的死循环
while(1);
   
四、循环结构-do while
1、特点:一定会执行一次循环体
while和do while循环对比
while (条件)
{
    
}
do {
 
} while(条件);
2、while和do-while的区别
1>很多情况下,while和do while可以互换
2>while特点:如果一开始的条件不成立,永远不会执行循环体
3>do while特点:不管一开始的条件是否成立,至少会执行一次循环体 
3、最好使用while

五、循环结构-for
1、格式:
for (语句1; 条件; 语句2)
{
<span style="white-space:pre">	</span>循环体
}
   
语句1:初始化语句
语句2:增量语句(执行完循环体后再执行的语句)
1>for一开始就会执行一次语句1(整个for循环只会执行一次)
2>判断条件是否成立,如果条件成立,就会执行一次循环体,然后就会执行语句2,再次判断条件是否成立
2、for循环嵌套实例
    输出九九乘法表
#include <stdio.h>
int main()
{
   for (int i = 1; i<=9; i++) {
      for (int j = 1; j<=i; j++){
         printf("%d*%d = %d”,i,j,i*j);
         }
      printf("\n");
   }
   return 0;
}
3、陷阱
死循环 for(;;);
for循环体内部变量的作用域
作用域混淆
for (int i = 0; i<5; i++)  int a = 10;
4、while循环和for循环的比较
可以互换
for循环的变量可以及时回收
5、易错注意:
1>不要随便在for()后面写分号
2>如果要在循环体中定义新的变量,必须用大括号{}包住
3>for (int i = 0; i<10; i++, a++) // 这里的变量比{}中变量范围广
     {
           // a只能用在循环体{}中
           int a = 10;
     }
4>最简单的利用for循环实现死循环

  for(;;);

六、break和continue
break:

1、使用场合
1> switch语句:退出整个switch语句
2> 循环结构:退出整个循环语句
 * while
 * do while
 * for
2、注意点:
只对最近的循环结构有效
continue:
1、使用场合
循环结构:结束当前这次的循环体,进入下一次循环体
 * while
 * do while
 * for
2、注意点:
只对最近的循环结构有效
3、选择
1> 一般优先使用for循环
2> 然后再考虑while
3> 最后再考虑do while
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值