c语言笔记--------控制流语句

=控制流(逻辑结构)========
1.逻辑结构分类

1.顺序结构(默认)

2.分支结构(判断 选择)

3.循环结构(for while)

=分支结构(if switch)====
1.if—else

(两路分支)
一般形式:
if(条件表达式)//判断条件
{
//表达式为真,条件成立,执行这个代码块

}
else
{
//表达式为假,条件不成立,执行这个代码块

}

(多路分支)
一般形式:
if(条件表达式1)//判断条件
{
//表达式1为真,条件成立,执行这个代码块

}
else if(条件表达式2)//判断条件
{
//表达式2为真,条件2成立,执行这个代码块

}
else if(条件表达式3)//判断条件
{
//表达式3为真,条件3成立,执行这个代码块

}

else
{
//以上表达式都为假,条件都不成立,执行这个代码块
}

补充内容:
1.两路分支,else是可以省略的 ,直接由if的判断条件控制下面代码块执行

	 2.花括号里面的所有代码,就是代码块

     3.代码块的代码只有一行的时候,{}可以省略的(不推荐)   
	 
	 4.多路分支中,顺序从上往下,当其中一个条件满足时,执行该代码块的代码
	   然后直接结束分支

练习
从键盘输入一个字符,判断这个字符是属于 ‘a’–‘z’,‘A’–‘Z’,‘0’–‘9’,其他字符

   "hello123"

2.switch —case
一般形式:
switch(变量)//选择条件
{
case 数值1:
//变量为数值1时,执行该位置的代码块、
break;//跳出分支
case 数值2:
//变量为数值2时,执行该位置的代码块、
break;//跳出分支
case 数值3:
//变量为数值3时,执行该位置的代码块、
break;//跳出分支

  default:
           //变量的值跟上面的数值都不一样,执行该处代码块
		    break;

}

补充内容:
1.选择的是结构执行的入口,代码就会从上往下执行

        2.break作用就是提前结束整个选择结构   
		
		3.一般用于判断数值的分支结构 
		
		4.变量可以是整数,也可以是字符(字符的本质是整数 ,ASCII值)  

        5.case 的值可以是一个范围区间
		    10-15   18-58 'a'-'f'  
			
		 case 10 ... 15:
		 case 'a' ... 'f':

练习
从键盘输入一个字符,判断这个字符是属于 ‘a’–‘z’,‘A’–‘Z’,‘0’–‘9’,其他字符

======循环结构
循环结构:
while
for
do while
goto

1.while

一般形式:
while(表达式)//循环条件
{
//当表达式为真,循环条件成立,执行循环体代码
//当表达式为假,循环条件不成立,不执行循环体代码,跳出循环

   }	   

特殊例子 死循环

  while(1)
  {
      //死循环,循环体代码会一直执行
  }	   

测试带有死循环的代码时,可以使用ctrl+c 强行终止程序

练习
1.使用while输出1-50里面所有的奇数
1.如何获取1-50所有的数
2.如何输出奇数

2.要求循环输入天数,然后将该值转换为星期数和天数。
   例如输入 18,则要求输出: 18 days are 2 weeks, 4days.

2.do while

一般形式:
do
{
//先斩后奏 先执行循环体代码(不管条件是否成立的,循环体都会至少执行1次),再判断循环条件是否成立

	 }while(表达式);//循环条件 

3.for(应用场景较多)

一般形式
for(表达式1;表达式2;表达式3)//初值表达式 条件表达式 条件变化表达式
{
//循环体

}

1 2 体 3 2 体 3 2 体 3 2.。。。。。。。

特殊例子 死循环
for(;😉
{

}
等价于
while(1)
{

}

练习
1.使用for输出1-50里面所有的奇数
1.如何获取1-50所有的数
2.如何输出奇数

2.要求循环输入天数,然后将该值转换为星期数和天数。
   例如输入 18,则要求输出: 18 days are 2 weeks, 4days.	   

4.goto

一般形式:
标签:

		   代码块
		  
		   goto 标签;  
		  
		 
 当程序执行到goto标签时,会直接强制改变程序执行的位置到标签位置
	 
	 注意:goto标签的位置可以是goto代码的上面,也可以是下面   
   
  想去哪就去哪 ,  goto 可以去到程序的任意位置

总结:
1.循环结构可以使用break提前跳出,结束掉整个循环

   2.循环结构可以使用continue 结束当前的循环,直接进行下一次循环

   3.如果循环体的代码只有一行,可以不加花括号(不推荐这样做)
   
   4.goto语句,不要大量使用
     原因:
	    1.造成代码的可读性降低,影响代码调试
		2.强制跳转会影响内存栈的逻辑,可能会出现一些意想不到的错误
		
    goto应用较多的场景:  硬件驱动

   5.if while for 都是支持嵌套使用
      if()
	  {
	       if()
		   {
		   
		   }
	  
	  }  

      while()
	  {
	       while()
		   {
		   
		   }
	  
	  }
      for()
	  {
	      for()
		  {
		  
		  
		  }
	  }

      if()
	  {
	      for()
		  {
		  
		  }
	  
	  }
      for()
	  {
	      if()
		  {
		  
		  }
	  
	  }

     while()
	 {
	     for()
		 {
		 
		 }
	 }

提示
在嵌套循环中使用break 和 continue ,只对包含他们的并且离他们最近的循环有效

练习
使用循环嵌套打印输出9*9 乘法表
1 1 1
2 1 2 2 2
3 1 3 2 3 3 3
。。。。
9 1 9 。。。。。。。。。。。。。9 9

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值