第三章 选择结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章选择结构

第一节关系运算符、关系表达式

1、C语言中的逻辑值

C语言中的逻辑值只有两个:“真”和“假”。用非零来代表“真”,用零来代表“假”。

注意:

1)由两个字符组成的运算符之间不可以加空格,如<=就不能写成:< =。

4)关系运算符的优先级高于赋值运算符。如“=”的优先级低于“==”。(注意“=”“==”的区别)。(考试的重点)

5)关系运算符都是双目运算符,自左至右的结合性。如4<5<2则等价于(4<5)<2(考试重点)。

1.2 关系表达式

关系表达式:用关系运算符将表达式连接起来的式子称为关系表达式。

关系表达式的值:关系表达式的值若为真,则结果为1;若为假,则结果为0。(只有0和1两种!!)

如,3>2>1的值为0;

C语言先判断3>2为真在判断1>1为假所以值为0.

若变量a中的值为10,变量b中的值为6,则关系表达式a>b的值为“真”,即为1。而关系表达式(a>5)<(b>10)的值为“假”,即为0。

第二节、逻辑运算符和逻辑表达式

注意:

(1)&&和||运算符是双目运算符,如(a>b)&&(x

(2)在关系运算符、算术运算符、赋值运算符、逻辑运算符四者中,优先级从高到低依次为:! (逻辑“非”)、算术运算符、关系运算符、&&(逻辑“与”)、||(逻辑“或”)、赋值运算符,逗号运算符。

1.2 逻辑表达式和逻辑表达式的值

逻辑表达式:用逻辑运算符将表达式连接起来的式子称为逻辑表达式。

逻辑运算的对象可以是C语言中任意合法的表达式。如,!(a

逻辑表达式的值:逻辑表达式的运算规则如表3所示。逻辑表达式的值若为真,则结果为1;若为假,则结果为0。(表达式的值也只有0和1两种!!!)

考试重点考察点:

1、在C语言中,由&&或||组成的逻辑表达式,在特定的情况下会产生“短路”的现象。在逻辑表达式的求解中,并不是所有的运算对象都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该逻辑运算符。(若“&&”的左边的运算对象的值为0,则不再对右边的运算对象进行运算,直接得出整个表达式的值为0;若“||”的左边的运算对象为1,则不再对右边的运算对象进行运算,直接得出整个表达式的值为1。)

(1)若执行下列语句

a=0;b=1;

c=a++&&(b=6);

各变量的值为:a为1,b为1,c为0,由于(b=6)没被执行到,故b的值不变。

(2)执行语句

a=1;b=1;c=0;

d=--a||b--||(c=b+3);

后,结果:a为0,b为0,c为0,d为1,表达式中的(c=b+3)没有被执行到,c值不变。

2、用C语言正确表示数学意义上的a

正确的表示方法是a

第三节 if语句

知识点:if语句的三种形式使用;if和else的搭配;嵌套的if语句的使用

重要程度:★★★★

1、if语句的三种形式

1.1 if语句

if只管后面一个分号;要管多个用大括号把多个语句括起来。

程序1:

if(a

{t=a; a=b; b=t;}

--------------------------

程序2:

if(a

t=a; a=b; b=t;

程序1、2注意两者的区别!!!

1.2 if-else语句

它的一般格式如下:

if(表达式)

语句1;

else

语句2;

例1:若有以下程序

main( )

{

int a=5,b=4,c=6,t=0;

if(a

if(a

printf("%d %d %d\n",a,b,c);

}

执行后输出结果是

答案:645

分析:程序的第一行在定义a、b、c、t四个变量时初始化了值。接下来,第一个if 语句的表达式为:a

1.3 if-else-if 语句结构

它的一般格式如下:(只有一个语句被执行)

if(表达式1)

语句1;

else if(表达式2)

语句2 ;

else if(表达式3)

语句3 ;

……

else

语句n ;

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相结合,与书写格式无关。

相关文档
最新文档