c语言表达式教案,C语言第三章运算符与表达式教案.doc

重庆师范大学

教 案 设 计

科 目:C程序设计

课 名:运算符与表达式

姓 名:张 萍

学 号:20090512132

专 业:计算机科学与技术(师范)

班 级:2009级3班

学 院:计算机与信息科学学院

时 间:2011年12月20日

科目:C程序设计

日期:2011年12月20日

课名:运算符与表达式

班级:大一计算机专业学生

授课人:张萍

课时:2课时

课型:新授课

教学方法:讲授法,集体讨论法

教学目标:认知目标—通过学习,识记、理解运算符、表达式;

能力目标—通过学习运算符与表达式,采用并学会自主学习的方法;

情感目标—在学习人工智能知识的过程中,激发起学生们探究自然科学的兴趣。

重点难点:重点—表达式的正确书写;

难点—运算符的优先级及其结合方向。

教学媒体:多媒体投影仪。

教学过程:1、导入新课—由学生熟知的+ - * /符号引出本节课主讲内容—C运算符,并向学

生简要介绍之。(如赋值、算术、逗号等运算符)

时间:3—5min

教师活动:引出C运算符并简要向学生介绍之。

学生活动:认识、了解C运算符。

2、讲授新课—将知识点逐个细讲,再举例分析,让学生熟悉掌握各知识点。

时间:78mim

a、赋值表达式与变量赋初值(8min)

i、给出表达式x=a,由上节课所学内容分析x—变量,a—常量,而“=”

即为赋值符号,从而得出x=a为一赋值表达式。

ii、辨析“=”(赋值号)与“==”(等号)

iii、随堂练习: int a=4;

a=a+2;

printf("a=%d",a);

结果:a=6

iv、在定义变量同时给变量直接赋值——变量赋初值

例:int a=3; char c='a'

b、算术运算符与算数表达式(10min)

i、基本运算符:+ - * / %

ii、两int型相除结果为int型,%符号两端的数据必须为整型;

iii、若参与+ - * /运算的两个数中有一个float型,则结果为double型;

iv、算术表达式:用算术运算符和括号将对象连接起来,符合C规则的式子;

v、优先级:先乘除求余后加减,同级 左结合性 左 右

注:强制类型转换运算符 (10min)

(类型名)(表达式)

i、(double) a (int) (x+y) (float) (5%3)

ii、强制类型转换只是一次性的转换,经强制类型转换后的变量其本身的

值不变。

例:void main()

{ float x;

int i;

x=3.6;

i=(int) x;

prinrf("x=%f,i=%f",x,i);

}

结果: f=3.600000, i=3

iii、(int) x%3 强制类型转换运算优先于求余运算。

c、自增自减运算表达式(12min)

i、运算规则:i++,i-- 先运算,后自变(自增自减)

ii、注意:自增自减运算符只能用于变量,不能用于常量和表达式。

例:①main() ②main()

{ int a=1,b=2; { int a=1,b=2;

a++;b++; ++a;b++;

prinrf("%d,%d",a++,b++); prinrf("%d,%d",a++,++b);

} }

③ main()

{ int a=1,b=2;

++a;c=b++;

prinrf("%d,%d,%d",a++,++b,c++);

}

结果:2,3 2,3 2,3 ,4

iii、理解i+++j:(i++)+j

iv、函数内部参数的运算顺序是自右向左运算的。

随堂练习:void main(){int i=3; printf("%d,%d",i,i++); }

结果:4,3

引申:赋值转换规则(10min)

i、将实型赋值给整型,只取整数部分;

ii、整型赋值给单、双精度变量时,数值不变; 如23—%f为23.000000

iii、将一个double型赋予float型时,取其前7位有效数字,注意不要溢出。

iv、将int,long int,short int unsigned int long short,原样送,部

分负数会变成较大的整数。

d、复合的赋值运算符(11min)

例:a+=3 a=a+3

a-=3 a=a-3

x*=y+8 x=x*(y+8)

x%=3 x=x%3

x/=3 x=x/3

注:++i与++i;的区别 前者是赋值表达式,后者是赋值语句;

例:a/=3与a/3的区别 前者是赋值运算,会改变a的值,后者是简单

的算术运算表达式,不改变a的值,只得一表达式的值。

e、逗号运算符与逗号表达式(8min)

i、逗号表达式:用逗号表达式将两个或多个表达式连接起来的式子;

ii、一般形式:(表达式1,表达式2,…,表达式n);

iii、求解过程:先求表达式1,再求表达式2,直到表达式n,整个表达式

的值是表达式n的值。

例:void main()

{

int a,b=1;

a=(b+5,b+=2,++b);

printf("%d",a) ;

}

结果: 4

随堂练习:

int a=2,b=3;

printf("%d,%d",(a,a++),b) ;

结果: 2,3

引申:表达式值的数据类型的判断(9min)

i、在进行运算时,表达式值的类型会随着参与运算的各数据项不同而

不同,具有遇高转化规则。

ii、转化规则如图:

高 double float

long

unsigned

低 int short char

iii、横向的箭头是一定会转化的,纵向的箭头是遇高转化的。

例:1/2+5.0/2 求其结果及其数据类型。

结果:0+2.5=2.5 实型

教师活动:借多媒体仔细讲解以上知识点,并举例分析加深学生印象。

学生活动:理解并掌握以上知识,融会贯通为自己所有。

3、课堂小结——借助直观系统的板书设计将课堂上的知识转化为学生的素质。

时间:3—5min

4、布置作业——结合学生实际情况进行分层训练。

时间:3—5min

必做:p67 3.9 3.10

选做:p68 3.12

评价量规:通过课堂上的随堂练习来评价学生的学习效果。

4

展开阅读全文

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值