C语言考查性公开课(陈逸娴)

时间:2014-11-13 08:06来源:计算机系 作者:尹华根 点击:
C语言考查性公开课(陈逸娴)
C语言考查性公开课(陈逸娴).ppt
程序设计基础课程教案
授课题目(教学章、节或主题):
4.2 逻辑运算符与逻辑表达式
课时安排
 
1课时
授课时间
2014117
教学目的、要求(分了解、熟悉、掌握三个层次):
基本知识:掌握逻辑运算符的概念和优先级,逻辑表达式的概念和运算
基本技能:能够依据逻辑运算符的优先级和逻辑表达式的求值方法进行运算
基本技术:能够运用逻辑运算符和逻辑表达式进行程序设计
教学重点和难点:
重点:逻辑表达式的运算
难点:逻辑运算符的优先级
授课类型(如理论、讨论、实验、练习等)
理论、讨论、练习
 
教学方式(如讲授、讨论、示教、指导、案例、项目等教学方法)
讲授、讨论、指导
 
教学资源(如多媒体、模型、实物、挂图、音像等)
多媒体
 
授课的主要内容:
 
一、知识回顾
关系运算符
>、>=、<、<=、==、!=
关系表达式
表达式为真,则值为1;表达式为假,则值为0。
如a=1,b=2,c=3,以下表达式的值为多少?
a>b、b+c>a、a==c>b、f=a>b>c、a!=b
 
二、新课讲授
导入:关系表达式只能描述单一条件,如a>b,a>c,如果要描述一个条件即满足a>b,又满足a>c,则要借助逻辑运算符了。
如用a>b&&a>c表示上述条件。
4.2 逻辑运算符和逻辑表达式
3逻辑运算符
&&(逻辑与)  ||(逻辑或) !(逻辑非)
&&和||是双目(元)运算符,!是一目(元)运算符
如a&&b,a||b,!a
逻辑表达式
用逻辑运算符将关系表达式或其他逻辑量连接起来的式子。
age>=13 && age<=17 ?(其中age表示年龄)
判断年龄在13至17岁之内。
判断年龄小于12或大于65?
age<12 || age>65
判断字符变量c为大写字母?
c>=‘A’&&c<=‘Z’
判断字符变量c为小写字母?
c>=‘a’&&c<=‘z’
 
提问:
若a,b为真,
a&&b、a||b、!a为真还是为假?
逻辑运算的真值表
 
 
 
 
 
总结:
a&&b:若a和b均为真,则表达式值为真;
a||b:若a和b均为真或其中一个为真,则表达式值为真;
!a:若a为真,则表达式的值为假。
练习:
若a,b为真,c为假,以下表达式的结果分别为真的还是假的?
a&&b
b&&c
a||c
!b
!c
逻辑表达式的值应该是逻辑量“真”或“假”。
编译系统在表示逻辑运算结果时,以数值1代表“真”,以0代表“假”
但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”。
3&&4的值为多少?
3和4属于非0,为真,故3&&4为真,故该表达式的值为1。注意:将一个非零的数值认作为“真”
修改后的逻辑运算真值表
 
 
 
 
 
练习:
a=1,b=-2,c=0;
以下表达式的值分别为多少?
a&&b
b&&c
a||c
!b
!c
提出问题:a=1,b=-2,c=0,d=3,!a+c>b&&d的值是多少?
a=1,b=-2,c=0,d=3,!a+c>b&&d的值是多少?
逻辑运算符的优先次序
→ && → ||           (!为三者中最高)
与其他运算符的优先次序
 
 
 
 
 
解答之前的问题:
a=1,b=-2,c=0,d=3,!a+c>b&&d的值是多少?
!a为!1,结果为假,值为0,
!a+c>b为0+0>-2,结果为真,值为1
!a+c>b&&d为1&&3,结果为真,值为1
可以用程序验证一下:
int a=1,b=-2,c=0,d=3,x;
x=!a+c>b&&d;
printf(“x=%d\n”,x);
思考:
a||c&&b的值为多少?
f=a+c>b&&d||!d+b,f的值是多少?
请用程序验证一下。
 
注意:
1、逻辑运算符两侧的操作数,除了可以是0和非0的整数外,也可以是其他任何类型的数据,如实型、字符型等。
如c>=‘A’&&c<=‘Z’
2、在逻辑表达式求解中,只在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。
如a&&b&&c,当a为真时,才判别b的值,当a和b的值都为真时,才判别c的值。
a||b||c,当a为假时,才判别b的值,当a和b的值都为假时,才判别c的值。
如,a=1,b=2,c=3,d=4,x=5,y=6
表达式(x=a>b)&&(y=c>d)的值为多少,其中x和y的值分别为多少?
x=0,y=6,表达式的值为0
int a=1,b=2,c=3,d=4,x=5,y=6,z=7;
(x=a<b)&&(z=c)||(y=d+!a);
printf("x=%d,y=%d,z=%d\n",x,y,z);
请问该程序的运行结果是怎样的?
 
三、小结
a&&b:若a和b均为真,则表达式值为真;
a||b:若a和b均为真或其中一个为真,则表达式值为真;
!a:若a为真,则表达式的值为假。
以数值1代表“真”,以0代表“假”
以0代表“假”,以非0代表“真”
 
问题:
!3&&2||4>1&&2的值为?
2>1&&4||5+!7的值为?
 
四、练习
编写程序:输入年份,判断判别某一年是否闰年,输出判断结果
闰年的条件是符合下面二者之一:
①被4整除,但不能被100整除,如2008
②能被400整除,如2000
用逻辑表达式表示:
(year%4==0&&year%100!=0)||year%400==0
如果表达式值为1,则闰年;否则为非闰年。
课后训练项目
 
教学后记:
 
 
 
 
勤考
迟到(早退)
旷课
请假(事假、病假)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
教研室主任审签
 
 
 
 
 

课堂教学设计
教学内容
4.2 逻辑运算符与逻辑表达式
计划学时
1
“三基”教学目标
基本知识:掌握逻辑运算符的概念和优先级,逻辑表达式的概念和运算
基本技能:能够依据逻辑运算符的优先级和逻辑表达式的求值方法进行运算
基本技术:能够运用逻辑运算符和逻辑表达式进行程序设计
重点、难点
重点:逻辑表达式的运算
难点:逻辑运算符的优先级
教学媒介
机房
教学方法
练习法、讨论法、讲解法
教学过程设计:
 
一、知识回顾:
通过提问总结上节知识点,并通过简单的练习题进一步巩固知识。
 
二、新课讲授
一)导入:关系表达式只能描述单一条件,如a>b,a>c,如果要描述一个条件即满足a>b,又满足a>c,则要借助逻辑运算符了。
二)讲解逻辑运算符的符号和逻辑表达式的基本概念。通过问题思考进一步理解逻辑表达式概念。
三)以问题“若a,b为真,a&&b、a||b、!a为真还是为假?”导入讲解逻辑表达式的结果,给出逻辑运算的真值表,总结逻辑运算的特点。进行相应的练习。
四)讲解逻辑表达式的逻辑值,给出修改后的逻辑运算真值表,并进行相应的练习。
五)通过问题“a=1,b=-2,c=0,d=3,!a+c>b&&d的值是多少?”导入有关逻辑运算符优先级的知识,通过讲解该知识点解答该问题,并进一步进行习题的练习。
六)说明使用逻辑表达式时的注意事项,并通过练习解释清楚该知识点。
 
三、小结
结合板书说明本课重点知识,并通过练习考核学生对知识点的掌握。
 
四、练习
说明程序功能要求,讲解重点语句的编写,学生编写程序,下次课讲解该题。
 
备注
 
(责任编辑:朱捍卫)
------分隔线----------------------------