欢迎来到天天文库
浏览记录
ID:50298207
大小:606.50 KB
页数:86页
时间:2020-03-07
《C语言程序设计 教学课件 作者 罗朝盛第4章 控制结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本章要求:掌握C语言中的关系运算及逻辑运算;掌握选择控制语句——if语句、switch语句以及他们的嵌套应用;掌握循环控制语句——for语句、while语句、do…while语句以及他们的嵌套应用;掌握break语句、continue语句的应用;能够运用3种结构进行综合程序设计。第4章控制结构4.1关系运算与逻辑运算4.2选择结构4.3循环结构4.4其它控制语句4.5应用程序举例第4章控制结构例4-1给你一个公元年号,如何判断是闰年?分析:闰年的条件是:①能被4整除,但不能被100整除的年份都是闰年;②能被400整除的年份是闰年。
2、用year表示一个年份,则有如下的判断条件的C语言表达式:year%4==0&&year%l00!=0
3、
4、year%400==04.1关系运算与逻辑运算写成C语言程序:#includevoidmain(){intyear;printf("EnterTheyear=?");scanf("%d",&year);if(year%4==0&&year%l00!=0
5、
6、year%400==0)/*如果满足闰年的条件*/printf("Theyear%dislpyear",year);elseprintf("Theyea
7、r%disnotlpyear",year);/*如果不满足闰年的条件*/}4.1关系运算与逻辑运算4.1.1关系运算符与关系表达式关系运算符及优先级别比较两个量的运算符称为关系运算符。在C语言中有以下关系运算符。(见教材P86.表4-1)<,<=,>,>=,==,!=关系运算符的优先级:(1)>、>=、<、<=优先级相等,==、!=优先级相等,前者高于后者。(2)算术运算符>关系运算符>赋值运算符4.1关系运算与逻辑运算关系表达式关系表达式的一般形式为:表达式关系运算符表达式关系表达式的值是:关系成立为“真”,不成立则为“假”C语
8、言中用“1”表示“真”“0”表示“假”例如:a+b>c-dx>3/2‘a’+1c)a!=(c==b)又如:(a=3)>(b=5)由于3>5不成立,故其值为0。又如:当a=5,b=4时a+=39、达式1、逻辑运算符C语言中提供了三种逻辑运算符!非运算&&与运算10、11、或运算运算符&&和或运算符12、13、均为双目运算符,具有左结合性。非运算符!为单目运算符,具有右结合性(1)逻辑运算符优先级表示如下:!>&&>14、15、而且:&&,16、17、低于关系运算符!高于算术运算符!(非)(高)算术运算符关系运算符&&和18、19、赋值运算符(低)4.1关系运算与逻辑运算2、逻辑表达式逻辑表达式的一般形式为:表达式逻辑运算符表达式按照运算符的优先顺序可以得出:a>b&&c>d(a>b)&&(c>d)!b==c20、21、d22、23、(dc&&24、x+yc)&&((x+y)25、26、b27、28、c的求解过程只要a为真,就不再判别b和c的值,直接求得表达式的值为真。只有a为假时,才判别b的值;只有a和b均为假时,才判别c的值429、.1关系运算与逻辑运算例4-2分析下面程序的运行结果。Voidmain(){intx=5,y=9,k=1,a;a=x++30、31、y++&&k++;printf("a=%d,x=%d,y=%d,k=%d",a,x,y,k);}4.1关系运算与逻辑运算程序运行结果如下:a=1,x=6,y=9,k=14.1关系运算与逻辑运算分析:语句“a=x++32、33、y++&&k++;”的执行过程是先求“=”右边的值,即计算表达式“x++34、35、y++&&k++”的值,系统从左到右进行扫描,x=5,x++是先取x的值(即5,运算后x的值增加1)进行“36、37、”运38、行,因为不管其右边的值是什么,其结果都是成立的,即整个表达式的值为1,C系统就不再计算“39、40、”右边表达式“y++&&k++”,所以y的值,k的值不变。读者思考:如果x的初值为0,程序的运行结果如何?4.2选择结构(引例)例4-3设计一个求解一元二次
9、达式1、逻辑运算符C语言中提供了三种逻辑运算符!非运算&&与运算
10、
11、或运算运算符&&和或运算符
12、
13、均为双目运算符,具有左结合性。非运算符!为单目运算符,具有右结合性(1)逻辑运算符优先级表示如下:!>&&>
14、
15、而且:&&,
16、
17、低于关系运算符!高于算术运算符!(非)(高)算术运算符关系运算符&&和
18、
19、赋值运算符(低)4.1关系运算与逻辑运算2、逻辑表达式逻辑表达式的一般形式为:表达式逻辑运算符表达式按照运算符的优先顺序可以得出:a>b&&c>d(a>b)&&(c>d)!b==c
20、
21、d22、23、(dc&&24、x+yc)&&((x+y)25、26、b27、28、c的求解过程只要a为真,就不再判别b和c的值,直接求得表达式的值为真。只有a为假时,才判别b的值;只有a和b均为假时,才判别c的值429、.1关系运算与逻辑运算例4-2分析下面程序的运行结果。Voidmain(){intx=5,y=9,k=1,a;a=x++30、31、y++&&k++;printf("a=%d,x=%d,y=%d,k=%d",a,x,y,k);}4.1关系运算与逻辑运算程序运行结果如下:a=1,x=6,y=9,k=14.1关系运算与逻辑运算分析:语句“a=x++32、33、y++&&k++;”的执行过程是先求“=”右边的值,即计算表达式“x++34、35、y++&&k++”的值,系统从左到右进行扫描,x=5,x++是先取x的值(即5,运算后x的值增加1)进行“36、37、”运38、行,因为不管其右边的值是什么,其结果都是成立的,即整个表达式的值为1,C系统就不再计算“39、40、”右边表达式“y++&&k++”,所以y的值,k的值不变。读者思考:如果x的初值为0,程序的运行结果如何?4.2选择结构(引例)例4-3设计一个求解一元二次
22、
23、(dc&&
24、x+yc)&&((x+y)
25、
26、b
27、
28、c的求解过程只要a为真,就不再判别b和c的值,直接求得表达式的值为真。只有a为假时,才判别b的值;只有a和b均为假时,才判别c的值4
29、.1关系运算与逻辑运算例4-2分析下面程序的运行结果。Voidmain(){intx=5,y=9,k=1,a;a=x++
30、
31、y++&&k++;printf("a=%d,x=%d,y=%d,k=%d",a,x,y,k);}4.1关系运算与逻辑运算程序运行结果如下:a=1,x=6,y=9,k=14.1关系运算与逻辑运算分析:语句“a=x++
32、
33、y++&&k++;”的执行过程是先求“=”右边的值,即计算表达式“x++
34、
35、y++&&k++”的值,系统从左到右进行扫描,x=5,x++是先取x的值(即5,运算后x的值增加1)进行“
36、
37、”运
38、行,因为不管其右边的值是什么,其结果都是成立的,即整个表达式的值为1,C系统就不再计算“
39、
40、”右边表达式“y++&&k++”,所以y的值,k的值不变。读者思考:如果x的初值为0,程序的运行结果如何?4.2选择结构(引例)例4-3设计一个求解一元二次
此文档下载收益归作者所有