C语言第3课-程序流程控制(1)

选择流程控制

  1. if ... else语句
    完整形式:
if (判断条件)
{
  //符合情况时执行的内容
} else {
  //不符合条件时执行的内容
}

当执行内容为单条语句时,可以简单写为:

if (判断条件)
  //符合情况时执行的内容;
else
  //不符合条件时执行的内容;

如果不处理不服条件的情况时,可以写为:

if (判断条件)
{
  //符合情况时执行的内容
}

或者

if (判断条件)
  //符合情况时执行的内容;

if ... else语句的例子

/**
*猜数游戏
**/
#include 
#include 

int main()
{
    int morenshu = 47;
    int shu;
    
    printf("猜一个100以内的质数,十位数为2的倍数且小于5,个位数大于6。请输入:\n");
    scanf("%d",&shu);
    
    if(shu == morenshu)
    {
        printf("你赢了!");
    }
    else
    {
        printf("你输了!");
    }
    
    return 0;
}
  1. switch... case语句
    switch... case的语法:
switch (判断条件){
case 条件1(常数) :
 // 符合条件1时执行的内容;
  break; /* 可选的 */
case 条件2(常数) :
   // 符合条件1时执行的内容;
  break; /* 可选的 */
case 条件...(常数) :
   // 符合条件...时执行的内容;
  break; /* 可选的 */
//...
default : /* 可选的 */
  // 默认情况下执行的内容;
}

case后面必须是常数。

switch... case语句用法举例:

#include 
#include 

int main()
{
    int fenshu;
    int jidian;

    printf("请输入分数:\n");
    scanf("%d",&fenshu);
    printf("%d", fenshu);

    int tmp ;
    tmp = fenshu/10;

    switch(tmp)
    {
    case 6:
        jidian = 1;
        break;
    case 7:
        jidian = 2;
        break;
    case 8:
        jidian = 3;
        break;
    case 9:
    case 10:
        jidian = 4;
        break;
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        jidian = 0;
        break;
    default:
        jidian=-1;
        break;
    }

    printf("对应绩点为:%d\n",jidian);

    return 0;
}
  • 选择流程控制综合实例
/**
 *这是一个能根据输入的年份和月份给出当月天数的程序。
 */

#include 
#include 

int main()
{
    int year, month, day, flag = 0;  //  flag 闰年和非闰年的标记,非闰年为0,闰年为1
    printf("请依次输入年份和月份,以空格间隔:");
    scanf("%d%d", &year, &month);

    //判断闰年否
    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
    {
        flag = 1;
        printf("%d 是闰年,", year);
    } else {
        flag = 0;
        printf("%d 是平年,", year);
    }

    switch (month)
    {
    case 1:
        day = 31;
        break;
    case 2:
        if (flag == 0)
            day = 28;
        else
            day = 29;
        break;
    case 3:
        day = 31;
        break;
    case 4:
        day = 30;
        break;
    case 5:
        day = 31;
        break;
    case 6:
        day = 30;
        break;
    case 7:
        day = 31;
        break;
    case 8:
        day = 31;
        break;
    case 9:
        day = 30;
        break;
    case 10:
        day = 31;
        break;
    case 11:
        day = 30;
        break;
    case 12:
        day = 31;
        break;

    }
    printf(" %d 月有 %d 天。", month, day);
    return 0;
}

你可能感兴趣的:(C语言第3课-程序流程控制(1))