C语言【控制语句】

打印 上一主题 下一主题

主题 909|帖子 909|积分 2727

C语言【控制语句】

一、分支控制语句

1、if语句略。

2、switch...case如下
  1. switch(表达式){       
  2.     case 常量1:
  3.         // ...
  4.         break;
  5.     case 常量2:
  6.         // ...
  7.         break;
  8.     defaule:
  9.         // ...
  10.         break;
  11. }
复制代码
注意: switch括号里的表达式只能存在整数计算或能表达整数的计算,不能出现浮点数的计算。
case的判断条件或的表示方法如下:
  1. switch(xxx){
  2.     case 1:
  3.     case 2:
  4.     case 3:
  5.         // ...
  6.         break;
  7. }
复制代码
注意: 如果case的代码里不加break; 则它会匹配到第一个满足条件的case后进入,然后无条件执行下面的语句,且对下面的case进行匹配,知道再次遇到break或switch执行结束。
  1. int num = 0;
  2. /**
  3.         10 % 6 得到 4 , 匹配到case 4 后,执行num+=10,由于没有break,继续执行 num+=40
  4. */
  5. switch(10 % 6){
  6.     case 2:
  7.         num+=10;
  8.     case 4:
  9.         num+=20;
  10.     case 6:
  11.         num+=40;
  12. }
复制代码
二、循环控制语句

1、while循环。

​        基本语法略。
​        注意循环变量一定要在循环体中改变。
​        对于while循环,continue和break 如果写在循环变量之前,则循环变量不进行改变。(很正常对吧。)
2、do...while循环。

​        基本语法格式如下:
  1. do{
  2.            // ...
  3. } while(循环条件表达式);
复制代码
​        do...while是先执行一遍再走判断条件,其他参考while。
3、for循环。

​        基本语法格式略。
​        for循环括号里的三部分都可以省略,也可以只省略其中任意一项或两项
​        for循环括号里的三部分每部分都可以写多个语句,用逗号隔开。
​        C89标准不允许把循环变量的声明放在for的括号里。for(int x = 0; ...; ...) 是不允许的;C99才有这个新特性。
  1. for(;;){} // 随意省略。 这种表示即
  2. for(int x = 0, y = 0; x < 6, y > 5; x++, y--){}        // x<6,y>5;括号里这个式子视为逗号表达式,只有当逗号后面的结果为1才为1,前面的也参与运算,但结果只取后面的
复制代码
​        对于for循环来说,break跳出循环后循环变量为跳出前的值;
​        对于for循环来说,continue有些不同,它会先goto到更新循环变量(如i++)的位置把循环变量更新(除非i++不是在for循环的括号里做的),之后再跳到循环判断。
4、goto语句。

​        基本语法格式如下。
  1. int main(){
  2. loop_x:                                        // 按照格式化,跳转的标识符比语句往前一个tab
  3.         printf("来个跳转...\n");
  4.         if(1){                                        // 无论如何都进入下面的跳转,成了死循环。
  5.         goto loop_x;
  6.     }
  7. }
复制代码
​        break只能跳出本层循环,goto可以跳到任何位置。
5、二重循环的应用,一种格式九九乘法表的实现。

​        两重嵌套循环时,利用好i和j的的特性,能很好的解决问题。
  1.                                                                 1*1=1
  2.                                                         2*1=2   2*2=4
  3.                                                 3*1=3   3*2=6   3*3=9
  4.                                         4*1=4   4*2=8   4*3=12  4*4=16
  5.                                 5*1=5   5*2=10  5*3=15  5*4=20  5*5=25
  6.                         6*1=6   6*2=12  6*3=18  6*4=24  6*5=30  6*6=36
  7.                 7*1=7   7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49
  8.         8*1=8   8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64
  9. 9*1=9   9*2=18  9*3=27  9*4=36  9*5=45  9*6=54  9*7=63  9*8=72  9*9=81
复制代码
[code]// 如上格式的乘法表实现代码为:for(int i = 1; i
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

钜形不锈钢水箱

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表