• C 语言


    if 条件判断语句

    if 语句结构

    格式:

    if (表达式)
    {
    	语句;
    }
    

    如果表达式成立,就执行大括号中的语句;否则跳过该 if 语句

    #include <stdio.h>
    
    int main()
    {
    	int num;
    
    	printf("请输入一个数字:");
    	scanf("%d", &num);
    
    	if (num > 10)
    	{
    		printf("该数字大于 10
    ");
    	}
    
    	return 0;
    }
    

    运行结果

    12 符合 if 语句的条件,所以执行大括号中的语句

    6 不符合 if 语句的条件,所以跳过该 if 语句

    if - else 结构

    格式:

    if (条件)
    {
    	语句 1;
    }
    else
    {
    	语句 2;
    }
    

    如果 if 语句的条件成立执行语句 1,否则执行语句 2

    #include <stdio.h>
    
    int main()
    {
            int num;
            
            printf("请输入一个数字:");
            scanf("%d", &num);
    
            if (num > 10)
            {
                    printf("%d 大于 10
    ", num);
            }
            else
            {
                    printf("%d 不大于 10
    ", num);
            }
    
            return 0;
    }
    

    运行结果

    if - else if - else 语句结构

    格式:

    if (条件 1)
    {
            语句 1;
    }
    else if (条件 2)
    {
            语句 2;
    }
    else if (条件 3)
    {
            语句 3;
    }
    else
    {
            语句 4;
    }
    

    如果条件 1 成立,则执行语句 1;如果条件 2 成立,则执行语句 2;如果条件 3 成立,则执行语句 3;条件 1,2,3 都不成立,执行语句 4

    #include <stdio.h>
    
    int main()
    {
            int num;
    
            printf("请输入成绩:");
            scanf("%d", &num);
    
            if (num >= 85)
            {
                    printf("你的成绩为A
    ");
            }
            else if (num < 85 && num >= 75)
            {
                    printf("你的成绩为B
    ");
            }
            else if (num < 75 && num >= 60)
            {
                    printf("你的成绩为C
    ");
            }
            else
            {
                    printf("你的成绩为D
    ");
            }
    
            return 0;
    }
    

    运行结果

    switch 语句

    格式:

    switch (表达式)
    {
    	case 常量表达式 1 : 语句 1;
    	case 常量表达式 2 : 语句 2;
    	case 常量表达式 3 : 语句 3;
    	case 常量表达式 4 : 语句 4;
    	default : 语句 5;
    }
    

    程序会执行表达式的值相对应的常量表达式的语句,如果全没有的话,会执行 default 的语句 5

    #include <stdio.h>
    
    int main()
    {
            int a, b;
    
            printf("请输入两个数字 1 或 2:");
            scanf("%d %d", &a, &b);
    
            switch (a + b)
            {
                    case 2: printf("结果为 2
    ");
                    case 3: printf("结果为 3
    ");
                    case 4: printf("结果为 4
    ");
                    default: printf("结果未知
    ");
            }
    
            return 0;
    }
    

    运行结果

    程序执行表达式的值相对应的常量表达式的语句之后,继续执行了之后的语句,这并不是我们想要的结果

    这需要用到 break 来改进

    #include <stdio.h>
    
    int main()
    {
            int a, b;
    
            printf("请输入两个数字 1 或 2:");
            scanf("%d %d", &a, &b);
    
            switch (a + b)
            {
                    case 2: printf("结果为 2
    ");break;
                    case 3: printf("结果为 3
    ");break;
                    case 4: printf("结果为 4
    ");break;
                    default: printf("结果未知
    ");break;
            }
    
            return 0;
    }
    

    运行结果

    while 语句

    格式:

    while (条件)
    {
            语句;
    }
    

    如果条件成立,则会一直执行大括号中的语句

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

    运行结果

    #include <stdio.h>
    
    int main()
    {
            int count = 0;
    
            printf("请输入一行英文字符:");
    
            while (getchar() != '
    ')
            {
                    count++;
            }
    
            printf("该行英文字符有 %d 个字符
    ", count);
    
            return 0;
    }
    

    运行结果

    do - while 语句

    格式:

    do
    {
        语句
    }
    while (条件);
    

    执行大括号中的语句,直到条件不成立,while 语句后有个分号

    大括号中的语句至少会被执行一次

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

    运行结果

    for 语句

    格式:

    for (表达式 1; 表达式 2; 表达式 3)
    {
            循环体
    }
    

    表达式 1 为循环初始化表达式,表达式 2 为循环条件表达式,表达式 3 为循环调整表达式

    #include <stdio.h>
    
    int main()
    {
            int i;
    
            for (i = 0; i < 10; i++)
            {
                    printf("Hello World!
    ");
            }
    
            return 0;
    }
    

    运行结果

    表达式 1、表达式 2、表达式 3 可以安装需要进行省略,但是分号不能省略

    #include <stdio.h>
    
    int main()
    {
            int i = 0;
    
            for (;i < 10;)
            {
                    printf("Hello World!
    ");
                    i++;
            }
    
            return 0;
    }
    

    运行结果

    表达式 1、2、3 都省略的话:for (;;) 就和 while (1) 一样

    表达式 1、3 可以是用逗号分隔的多个表达式

    for (i = 0, j = 10; i < j; i++)
    

    C99 运行在表达式 1 中定义变量,定义的变量的作用域只在循环中

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

    使用 for 循环嵌套实现九九乘法表

    #include <stdio.h>
    
    int main()
    {
            int i, j;
            for (i = 1; i <=9; i++)
            {
                    for (j = 1; j <= i; j++)
                    {
                            printf("%d * %d = %-2d", i, j, i * j);
                    }
                    putchar('
    ');
            }
    
            return 0;
    }
    

    运行结果

    break 语句

    结束当前循环

    #include <stdio.h>
    
    int main()
    {
            int i, j;
    
            for (i = 0; i < 10; i++)
            {
                    for (j = 0; j < 10; j++)
                    {
                            if (j == 3)
                            {
                                    break;
                            }
                    }
            }
    
            printf("i = %d, j = %d
    " ,i, j);
    
            return 0;
    }
    

    运行结果

    当 j 等于 3 时,j 的循环就因为 break 结束了,只剩下 i 的循环

    continue 语句

    跳过当前循环,继续下一次循环

    #include <stdio.h>
    
    int main()
    {
            int ch;
    
            printf("请输入一个字符串:");
    
            while ((ch = getchar()) != '
    ')
            {
                    if (ch == 'w')
                    {
                            continue;
                    }
                    putchar(ch);
            }
            putchar('
    ');
    
            return 0;
    }
    

    运行结果

  • 相关阅读:
    函数间的调用关系
    二分法原理
    图片1
    C函数讲解
    图片2
    图片1
    图片2
    函数间的调用关系
    C函数讲解
    二分法原理
  • 原文地址:https://www.cnblogs.com/sch01ar/p/9697142.html
Copyright © 2020-2023  润新知