C 选择结构

  1. C语言中的真假定义
  2. C语言中的分支语句

C语言中的真假定义

c 语言中把非零的值定为true,把零定为false。判断表达式中把常量放前面能有效避免把判断语句(5==a)写成赋值语句(5=a)的情况。

if(a==5)易错写成if(a=5),且编译器不报错
if(5==a) 错写成 if(5=a)编译器报错,提示“5=a”语法错误

C语言中的分支语句

  1. if语句

    if (表达式) 语句 1
    
    例:
    if(a>b)
        max = a;
  2. if...else语句

    if (表达式)
        语句 1
    else
        语句 2
    
    例:
    if(a>b)
        max = a;
    else
        max = b;
  3. if...else if...else语句

    if (表达式 1)       语句 1
    else if (表达式 2)  语句 2    
    else if (表达式 3)  语句 3
    ...
    else                语句 n
例:

if (i > 90)
    a = 1;
else if (i > 70 && i < 90)
    a = 2;
else if (i > 60)    //(i < 70 && i > 60)可省略上限的判断,上一 if 已判断过上限
    a = 3;
else
    a = 4;
  1. if的嵌套

    下一层有双分支,优先放在本层 else ,增加可读性,避免else与if匹配引起思维混乱。

    else总是与它上面未配对的 if 配对,而花括号可以确定配对关系。

    if()
    {
       if()  语句 1
    }
    else     语句 2    //“{}”限定了内嵌的 if 语句的范围,else与第一个 if 配对
  1. switch语句

可以没有default,当表达式与所有 case 不匹配则执行 default ,default 位置不影响整体效果。进入 case 后没遇到 break 则一直执行到 switch 最后或遇到 break;

switch(表达式)
{
  case 常量 1: 语句 1      //case后有一个空格
  case 常量 2: 语句 2
  ...
  case 常量 n: 语句 n
  default :   语句 n+1
}

例:
switch (a)
{
case 1:
    printf("星期一\n");            //a=1,输出星期一、星期三、星期二、星期日
case 3:
    printf("星期三\n");            //a=3,输出星期三、星期二、星期日
case 2:
    printf("星期二\n");            //a=2,输出星期二、星期日
default:
    printf("星期日\n");            //除1、2、3、4、5、6,输出星期日
break;                                
case 4:
    printf("星期四\n");            //a=4,输出星期四、星期五
case 5:
    printf("星期五\n");            //a=5,输出星期五
    break;
case 6:
    printf("星期六\n");            //a=6,输出星期六
}
  1. switch的嵌套

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1401362462@qq.com

文章标题:C 选择结构

字数:567

本文作者:百xiao生

发布时间:2022-09-11, 17:24:45

最后更新:2022-09-25, 23:30:03

原始链接:https://baixiaoshengzjj.top/2022/09/11/C%20%E9%80%89%E6%8B%A9%E7%BB%93%E6%9E%84/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。