1 / 9
文档名称:

第4章选择结构.doc

格式:doc   大小:68KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第4章选择结构.doc

上传人:xunlai783 2018/5/9 文件大小:68 KB

下载得到文件列表

第4章选择结构.doc

相关文档

文档介绍

文档介绍:第四章选择结构(00:51:43)
程序实例
问题:求解一元二次方程 ax2+bx+c=0的根。
程序演示:通过C语言程序可以很容易求出。
#include“”
main()
{float a,b,c;
float dlt,x1,x2;
printf(“please input a,b,c:”);
scanf(“%f,%f,%f”,&a,&b,&c);
dlt=b*b-4*a*c;
if(dlt<0)
printf(“No real root”);
else
{if(dlt>0)
{x1=-b/(2*a)+sqrt(dlt)/(2*a);
X2=-b/(2*a)-sqrt(dlt)/(2*a);
}
else
x1=x2=-b/(2*a);
printf(“x1=%f,x2=%f”,x1,x2)
}
}
关系运算和逻辑运算
先来看关系运算和逻辑运算,因为分支结构要判断和比较,所以我们先学两个运算符。先看关系运算符。
开头程序中的dlt>0就是关系表达式
关系运算符有>=、>、<、<=、= =和!=。>=、>、<、<=和我们数学里用的一样,但= =和我们之前数学学的不一样,它用我们数学里两个等于号表示。一个等于号,在C语言里表示赋值号。!=用一个感叹号加一个赋值号表示,这个要注意。那关系运算符的优先级处于什么级别呢。首先算术运算符,数学里的“+、-、*、/”运算符,都比关系运算符里的优先级要高。关系运算符优先级里面,其中等于(= =)和不等于(!=)优先级是最低的。我们通过例子,来进一步了解一下关系运算符。
【例】设变量定义如下:int n1=1,n2=2,n3=3;求n3>n2>n1的结果。
n1的初始值是1,n2的初始值是2,n3的初始值是3。从数学上来看,3>2>1,在我们看来,这是一个非常正确的表达式,3>2>1肯定成立。但是完全不一样,这是数学上的表示,在C语言中不是这样计算的。C语言中
n3>n2结果为1
n3>n2>n1结果为0,该式相当于“(n3>n2)>n1”。先计算“n3>n2”,结果为“1”(真);再计算“1>n1”的结果是“0”(假)。整表达式的值为0。[特别注意,与数学上的3>2>1含义不同]。
注意,关系运算的结果,要么是0,要么是1;如果关系运算成立,结果是1;如果不成立结果是0。这个关系表达式,
关系运算符(>=、>、<、<=、= =、!=)
说明:
关系运算符的优先级如下:
算术运算符优先于关系运算符
<、<=、>、>=优先于==、!=
【例】设变量定义如下:int n1=1,n2=2,n3=3;
n3>n2结果为1
n3>n2>n1结果为0该式相当于“(n3>n2)>n1”。先计算“n3>n2”,结果为“1”(真);再计算“1>n1”的结果是“0”(假)。[特别注意,与数学上的3>2>1含义不同]。
注意,关系运算的结果,要么是0,要么是1;如果关系运算成立,结果是1;如果不成立结果是0。这个关系表达式,
历年真题
,当x为大于1的奇数时,值为0的表达式()
%2= =1 (真1) (=1) %2!=0 (真1) %2= =0(假0)
答案:D。本题考