当前位置:   article > 正文

6.10 c语言

6.10 c语言

7.1 if-else语句

简化形式
if(表达式)语句块
阶梯形式
if(表达式1)语句块1
else if(表达式2)语句块2
嵌套形式
if()
if() 语句1
else 语句2
else
if() 语句3
else 语句4
表达式一般情况下为逻辑表达式或关系表达式

#include <stdio.h>//从小到大排序,输出顺序不变,值交换了
int main()
{
    int a,b,c,t;
    printf("请输入3个数:");
    scanf("%d%d%d",&a,&b,&c);
    if(a>b)
    {
        t = a;
        a = b;
        b = t;
    }
    if(a>c)
    {
        t = a;
        a = c;
        c = t;
    }
    if(b>c)
    {
        t = b;
        b = c;
        c = t;
    }
    printf("从小到大为%d,%d,%d",a,b,c);
    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

7.2 switch语句

多分支选择结构
switch(表达式)
{
case 常量表达式1: 语句块1:break;
default: 语句块n+1
}
1、每个常量表达式的值必须各不相同,否则将出现矛盾
2、当表达式的值与case后面的常量表达式的值相等时,就执行case后面的语句
3、switch中的表达式可以是整形,字符型表达式或枚举
4、case常量:只起语句标号的作用
5、break语句用于强行跳出Switch体,一般每个case后面应有一个break语句,defalut分支后的break可以省略
6、多个case可以执行一条语句

#include <stdio.h>
int main()
{
    int tmp = 1;
    switch(tmp)
    {
    case 1:
        printf("A\n");
        //break;
    case 2:
        printf("B\n");
        break;
    default:
        printf("NOT");
    }
    return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

//Switch学生成绩

#include <stdio.h>
int main()
{
    float score = 0;
    printf("请输入成绩:");
    scanf("%f",&score);
    if(score<0 || score>100)
    {
        printf("输入错误!\n");
    }
    else
        {
        switch((int)score/10)//强制转换类型(int)
          {
            case 9:
                printf("A\n");
                break;
            case 8:
                printf("B\n");
                break;
            case 7:
                printf("C\n");
                break;
            default:
                printf("D");
          }
        }
        return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

7.3 循环语句

7.3.1 goto

当程序有多个出口,使用goto把这些出口集中到一处很方便,特别是函数中有很多重复的工作的时候
1、无条件跳转易于理解
2、可以减少嵌套
3、帮助编译器做优化

#include <stdio.h>
int main()
{
    int i,sum = 0;
    loop://loop跳转
        if(i<=100)
        {
            sum += i;
            i++;
            goto loop;//跳转loop
        }
    printf("%d",sum);
    return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

7.3.2 while

while(表达式)
{
statements;
}
1、变量初值
2、终止条件
3、变量变化

#include <stdio.h>
int main()
{
    int i,sum = 0;
        while(i<=100)//先判断再执行
        {
            sum += i;
            i++;
        }
    printf("%d",sum);
    return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

7.3.3 do-while

do-while构成循环
do{
statements;
}while(表达式);

#include <stdio.h>
int main()
{
    int i,sum = 0;
        do{
            sum += i;
            i++;
        }while(i<=100);
    printf("%d",sum);
    return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

7.3.4 for

表达式1可以省略,但循环之前应要给循环变量赋值
表达式2可以省略,将陷入死循环
表达式3可以省略,但在循环体中增加循环使变量的值改变的语句

#include <stdio.h>
int main()
{
    int i = 0,sum = 0;
    for(;i<=100;)
    {
        sum += i;
        i++;
    }
    printf("sum = %d",sum);
    return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
#include <stdio.h>//99乘法表
int main()
{
    int i = 0,j = 0;
    for(i=1;i<=9;i++)
    {
        for(j=1;j<=i;j++)
            printf("%d*%d=%d\t",j,i,j*i);// \t缩进8位
            puts("");//输出字符串,字符串自动换行
    }
    return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

7.4辅助控制语句

7.4.1 break

用于从循环体内跳出一层循环体,即提前结束循环
break只能用在循环语句和Switch语句中

#include <stdio.h>
#define PI 3.14
int main()
{
    float r = 0,area = 0;
    for(r=1;r<=10;r++)
    {
        area = PI*r*r;
        if(area>100)
            break;
        printf("r = %f,area = %f\n",r,area);
    }
    return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

7.4.2 continue

结束本次循环,接着判定下一次是否执行循环
continue只结束本次循环,break终止本层循环

#include <stdio.h>
#define PI 3.14
int main()
{
    int i;
    for(i=100;i<=120;i++)
    {
        if(i%3 == 0)
            continue;//余0终止本次执行下一次
        printf("i = %d\n",i);
    }
    return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

7.4.3 return

终止包含它的函数执行

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/704665
推荐阅读
相关标签
  

闽ICP备14008679号