c语言条件循环选择,C语言-循环语句 选择语句

今天学习了C语言的循环语句,C语言中循环语句有for,  while ,do while ,语句。

条件语句if  else,switch ,等。

1:  while的格式:

while(条件)

{循环体}

例如:

int  i =0;

while  (i<5)

{

i++;

printf  ("i=%d\n",i);

}

while循环语句要先判断条件是否成立,当条件成立时执行一次循环体,然后再判断条件是否成立,成立再执行一次循环体,直到条件不成立为止,跳出循环体。注意的是如果一开始条件不成立则循环体一次也不执行。在while  中定义新的变量必须要用{}括起来,使变量的作用域清晰。

注意的是while (1) ; 是一个最简单的死循环,因为while后面的语句一般应该用大括号括起来让我们清楚的知道是与while有关的语句,当没有大括号时,则默认为第一条紧跟的语句是与之有关的,第二条则与之无关、因为1是真,所以执行到这条语句时,判断条件为真则执行其后的语句,就是空白语句,因为条件一直成立, 则一直执行空白语句,成为死循环。所以;也不能乱用。

2: do  while的格式:

do

{循环体}

while(条件);

例如:int   i = 0;

do

{ i++;

printf(" i=%d\n",i);

}

while  (i < 5 );

do   while  和 while 基本用法差不多,不过两者也有区别,do  while 是先执行一次循环体,然后判断条件是否成立,当条件成立时则再次执行一次循环体。然后再判断条件是否成立,知道条件不成立为止跳出循环体,注意的是,不管刚开始条件是否成立都会执行一次循环体,这是跟while 不同的地方。

3: for  循环格式:

for(初始化语句;条件语句;增量语句)

{   循环体   }

例如:

for (int  i=0;i<5; i ++)

{      printf("i= %d\n",  i );

}

for循环中  变量的定义在初始化语句中,并且初始化语句在整个for 循环中只使用一次,然后判断条件语句是否成立, 条件成立则执行下面的循环体语句,然后再执行增量语句,然后再判断条件是否成立,条件成立则再次执行循环体语句,在执行增量语句,知道条件不成立,跳出循环体。

4 :if   else  格式:

if  (条件1)

{   语句1;}

else if (条件2)

{  语句2;}

else  if  (条件3)

{  语句3;}

......

先判断if 后面的条件是否真,真的话就执行语句1,如果条件1为假,则对比else if 中的条件是否成立, 哪个成立就执行对应的语句,if  else 中可以嵌套多个 if else  语句。注意在if 循环中定义新的变量必须用{} 大括号括起来,不然系统在编译时会出现错误,因为系统会分不清楚if  循环中定义的变量的作用域在哪,  出现作用域混淆。

5:switch  语句使用格式:

switch 常量表达式

{ case 数值1:

语句:

break;

case 2  数值2:

语句2;

break;

case  数值3:

语句3 ;

break;

deauful:

break;

}

例如:                  switch    7

{    case  3:

printf(" A\n");

break;

case     5:

printf("B\n");

break;

case   7:

printf(" C\n");

break;

deauful:

break;

}

switch 语句中,switch 后面的值可以是常量,常量表达式,字符常量,但是不能为变量。执行到switch 这个语句时,会对比case 后面的数值是否与switch 后面的常量值相同,相同时就执行相应case后的语句,遇到break 则退出switch 语句,注意break 不能忘记,忘记的话就会执行case后面的所有语句,不在比较常量值,直到遇到break 为止,才跳出整个语句。在case中定义新的变量也必须要用{}包起来,不然系统无法辨别新定义变量的作用域,出现编译错误break  的作用非常重要,使程序知道执行到这段就跳出循环体。

上面的 这几个循环语句中,while  和    do    while    基本可以相互转换。

其中for 的性能最好,因为在for中 定义新的变量是在函数内部,函数调用完毕后就把变量的存储空间清空,不占用内存,使程序运行效率更高性能更好。而其他的变量都是在程序中定义,在整个程序文件中都存在,占用内存。性能不如for。所以相比下,if的灵活性较高。

if 和switch  比较:

1: if语句能完成的功能,switch不一定能完成,

2: 在有些情况下if和switch 可以互换。

3:switch能完成的if 都能完成。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值