c语言的switch C语言之选择结构(3)

电脑杂谈  发布时间:2018-02-11 20:56:42  来源:网络整理

if(表达式1)

语句1;

else if(表达式2)

语句2 ;

else if(表达式3)

语句3 ;

……

else

语句n ;

图2if-else-if 语句的流程图

例2:有如下程序

main( )

{ float x=2.0,y;

if(x<0.0) y=0.0;

else if(x<10.0) y=1.0/x;

else y=1.0;

printf("%f\n",y);

}

该程序的输出结果是()。

A) 0.000000 B) 0.250000 C)0.500000 D) 1.000000

分析:首先x的初值为2.0。判断x<0.0,其为假,则跳过语句“y=0.0;”,接着又判断x<10.0,其为真,则执行“y=1.0/x;”,然后将其输出。因此答案选C。

注意:

(1)if后面圆括号中的表达式,可以是任意合法的C语言表达式,可以是任意类型的数据。

(2)if子句和else子句中如果只有一条语句,则该语句后的分号不能省。

2、if语句的嵌套(概念考得多)

if语句的嵌套:在if语句中又包含一个或多个if语句称为if语句的嵌套。一般形式如下:

if(表达式1)

if(表达式2) 语句1;

else 语句2;

else

if(表达式3) 语句3;

else 语句4;

其执行过程:若表达式1为“真”,则执行其嵌套的if-else语句,否则,执行else后的内嵌if-else语句。其中if-else语句在语法上是一条语句。

特别注意:C语言的语法规定:else子句总是与前面最近的不带else的if相结合,与书写格式无关。

知识点:条件运算符号的使用(唯一的三目);条件表达式的运算;

重要程度:★★★★(口诀是“真前假后”)

1、条件运算符

条件运算符由两个运算符组成:?:。条件运算符要求有三个运算对象,称三目运算符,它是C语言中唯一的一个三目运算符。

2、条件表达式(“真前假后”口诀)

表达式1 ? 表达式2:表达式3

其执行过程:先求解表达式1,若为非0(真)则求解表达式2,并将表达式2的值作为整个表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个表达式的值。

例1:以下程序的输出结果是()。

??main()

??{

int a=5,b=4,c=6,d;

??printf("%d\n",d=a>b?(a>c?a:c):(b));

}

??A) 5 B)4 C) 6 D)不确定

分析:这是一个条件表达式的嵌套,先判断a>b为“真”,则需要求解表达式a>c?a:c的值。因此又对a>c进行判断,其为“假”,那么c就是整个表达式的值。答案选C。

3、条件运算符的优先级

条件运算符优先于赋值运算,但低于逻辑运算,关系运算符和算术运算符。条件运算符的结合方向为“自右向左”。如有以下表达式:

a>b?a:c>d?c:d 等价于 a>b?a:(c>d?c:d)

如果a=1,b=2,c=3,d=4,则表达式的值等于4。

知识点:switch语句的执行方式;switch语句和 break的搭配;

重要程度:★★★★

1、switch语句

switch语句的一般形式如下:

switch(表达式)

{ case 常量表达式1:语句1;

case 常量表达式2:语句2;

……

case 常量表达式n:语句n;

default: 语句块n+1;

}

其中语句1,语句2等等,可以是一条语句,也可以是若干语句。也可以是嵌套的switch语句。

注意:


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-72458-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 爱川钦也
      爱川钦也

      让美猪死他个上千

    热点图片
    拼命载入中...