C语言 (控制语句小总结)

  1. 分支语句

1)、if
① if(10 <= weight&&weight <80)/正确的方式/
//if(10<=weight<80) //同一优先级结合方向从左到右 10 <= 5 为假 =0 0<80;成立

建议:每次使用if判断多个条件时
不要使用连续的判断
多使用 && || 等逻辑运算符,避免出现编译不报告的错误
②在没有加花括号的情况下({}),if 默认只控制它后面的一条语句。
2)、if else嵌套
注意:else匹配离它最近的一个if(同级的时候,包含情况不可以)

总结:
①每一个else必定会有一个与其匹配的if否则编辑器会报错,但是if不一定会有与之对应的else,推荐多使用下面的if-else if- else 当能够找到匹配条件时,下方的else if 于else 就不再执行可以提升程序的效率。
②使用if 进行判断时,多为范围性的数值判断(即无法使用确定有限的数值来表示)
③使用 if –else if-else语句时 ,尽量将出现概率高的条件判断放在前面,可以提升系统的效率。
3)、if - else if - else

if(/* condition1 */)
 {   
 /*code */
}   
else if (/* condition2 */)
{   
 /*code */
}
else if (/* condition3 */)
{   
 /*code */
 }
else
{
 /*code */
}

4)、switch

 int a = 4;                                                                                                  
 switch (a)
 {
 	case 1:   //a的值等于1,执行此case内容
		printf("hello 1\n");	
		break;
	case 2:   //a的值等于2,执行此case的内容
		 printf("hello 2\n");
		 break; 
	 default:  //另外所有情况,执行这里
		 printf("哈哈哈我啥也不是\n");
		 break;
}
printf("end of switch\n");

注意:

  1. switch后面必须跟整型变量,不能是浮点型。
  2. 花括号问题 switch – case中 case后不需要加括号,匹配的是case的值
  3. case 后跟 常量 方便与变量进行精确比较
  4. break;跳出switch分支语句

总结:
1 switch多用来进行有限精确数值的判断,和跳转
2 找到对应的case值是程序对自动跳转到这里往下执行,如果不写
break,将会不断的向下执行程序,直到程序结束或者碰到break才结束。
3 使用switch语句时 ,尽量将出现概率高的数值判断放在前面,可以提升系统的效率。(千万不要忘记break的编写否则就会适得其反)
4使用switch - case 时,一旦遇到两个case匹配一个操作时,可以将两个case写在一起,中间不添加任何东西代码(遇到break才结束,否则一直向下执行),这样可以节省代码块的大小。
型如:
case10:
case9 :
。。。。。。
break;

5)、goto 直接跳转,会造成代码可读性差,一般不建议用

#include <stdio.h>
int main(int argc, const char *argv[])
{
 int a,ret,b;
 ret = scanf ("%d",&a);
 if (ret <= 0)
 { 
  	goto error;    //注意这里的用法
 }
 ret = scanf ("%d",&b);
 if (ret <= 0)
 {
  	goto error;
 }
 printf("end of scanf\n");
//.......     
//
return 0;

error:
       printf("input error\n");
       return -1;

注意:
① :goto 只找 标签(loop) 不管其他的,如果在goto前面不加上判断语句容易造成死循环(注意)//很少用goto来构成循环,没意思且可读性太差。
② : goto 比较经典的用法就是上面所举的例子加重的部分,用来进行出现错误时跳出函数。

  1. 循环语句

1)、do-while

do  
{   		
	/*code */
}while (/* condition */);  

注意:

1、不管三七二十一,上来先执行循环体
2、先执行,再判断

define函数为什么用do-while(0)
1、先执行,再判断,保证代码执行一次
2、while(0)后面需要一个分号

2)、while

while (/* condition */) 
{   
 /*code */
}

注意:先判断,再执行

3)、for

 for (/* initialize */; /* condition */; /*loop */)
{   
	/*code */
 }

注意:
1、先执行initialize,只执行一次,可以省略,但是分号不能丢
2、判断condition是否成立,如果成立执行code,如果不成立,结束
3、code执行完,执行loop

总结:
do-while(0)多用在宏定义等一些只需要执行一次的地方
While(1)多用来设置死循环
for(),多用来设置计次的循环

  1. 辅助语句

1、 break:
<1> 和switch一起使用。
<2>和循环语句一起使用,跳出本层循环。

2、continue
结束本次循环,继续程序,进入下一次循环。

3、return
<1>return 的返回值是可以自己定的,型如 1—成功 0----失败
<2>程序员约定俗称的 0—成功,-1-----失败
<3>函数结束,等后面学习函数之后,会更深刻的了解到函数的返回值(return),

<变量类型><函数名><函数的参数>
红色的可以为空 但是要用void 来标记
函数名必须要写
返回值需要根据函数名前的变量类型来返回,否则会报错

总结:

break :用于从循环体内跳出循环体,即提前结束循环。break只能用在循环语句和switch语句中。
continue :结束本次循环,接着判定下一次是否执行循环。
return :退出一个函数,或者获取函数的返回值。main函数的返回值传递给系统。
exit():结束一个进程,传入的参数完全由编程人员自己决定。(系统中默认正常执行的函数返回0)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值