C语言第四章选择结构讲义


选择结构与条件判断

C语言有两种选择语句:

if语句实现两个分支的选择结构。

switch语句用来实现多分支的选择结构。

if语句

if语句:

//格式:
     if(表达式) {
         满足表达式执行语句;
     } else if(表达式) {
         满足表达式执行语句;
     } else if(表达式) {
         满足表达式执行语句;
     }
     ...
     else {
         满足表达式执行语句;
     }

常见表达式类型:

关系式,逻辑式,数值表达式

//关系表达式:由关系运算符构成的表达式 
if(12>11) //为真则执行 if,else if 括号住的语句
//逻辑表达式:由逻辑运算(! && ||)符构成的表达式
if(!1)
if(1||0)
if(1&&0)
//数值表达式:只要是非0都判断为真
if(1)

关系运算符

运算符优先级:

  1. 算术运算符(+ - * /)>关系运算符(> < != ==…)>赋值运算符(=)
  2. 关系运算符中 == !=优先级比其他低

逻辑运算符

a b !a !b a&&b a||b

优先级:

  1. !(非)>&&(与)>||(或)
  2. !>算数运算符
  3. 关系运算符>&&和||>赋值运算符

条件运算符

条件运算符其实可以看做是对判断语句的简写

if(a>b)
 max=a;
else
 max=b;

等价于下列程序:

max=(a>b)?a:b;

其中a:b为条件表达式及,?为条件运算符

其执行效果为:

若a>b为真,则返回a(:的前面)

若a>b为假,则返回b(:的后面)

优先级:

  1. 条件运算符比关系运算符和算术运算符都低

    如:

    a>b?a:b+1 等价于 a>b?a:(b+1),而不等于 (a>b?a:b)+1

switch语句(不大推荐初学者使用)

形式:

switch(表达式)
{
    case 常量1 :执行语句;break;
    case 常量2: 执行语句; break;// 满足表达式== 常量2
    ...
    default : 执行语句; break; //以上都不满足
}

switch注意事项:

  1. 表达式的值与case后的值相同则进入。
  2. 遇到break或整个switch结束

例子:

switch(0)
        {
        case 0:
            printf("0\n");
        case 1:
            printf("1\n");
        }

练习:

  1. 判断输入年份是否为闰年(闰年条件:能被4整除且能被100整除,或者能被400整除)

  2. 输入三个数(不相同的三个数),输出其最大值

  3. 输入一个成绩等级,输出分数区间

    A等区间为85~100

    B等区间为70~84

    C等区间为60~69

    D等区间为60以下

  4. 制作一个两个数的计算器 实现加减乘除功能

思考题: 不使用第三个数 互换两个数的值


文章作者: Axieyun
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Axieyun !
评论
评论
  目录