赋值语句中的类型转换教学设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
赋值语句中的类型转换
教学目标:
1、知识与技能目标:
掌握赋值语句中的类型转换的原则。
2、过程与方法目标:
能利用赋值语句中的类型转换解决实际问题。
3、情感态度与价值观目标:
培养学生自主学习的习惯,培养学生探究问题、分析问题、解决问题的能力。
激发学生对学习的兴趣。
教学重点:
赋值语句中的类型转换的原则。
教学难点:
利用赋值语句中的类型转换解决实际问题。
教学方法:
案例分析法
教学工具:
多媒体
教学课时:
1课时
教学过程:
一、复习导入
前面学过赋值语句的格式与功能,那么当赋值号左右两边的类型不一样时,该怎么办呢?
二、新授
1、概念
当赋值语句中“=”左边的变量与右边表达式的数据类型不一致时,C编译系统会自动实现数据类型的转换,转换的原则是:将赋值号右边的表达式值的类型转换成与左边变量相同的类型后再赋值。
例如:
int a;
short b;
char c;
a=b;//short型变量b的值转换成int型后再赋给a
b=c;//char型变量c的值转换成short型后再赋给b
a=b+c;//将b和c的值转换成int型后相加,再赋给a
注意:
(1)、对于不同类型的变量,由于其数据的长度不同,当左边变量的数据类型比右边表达式值得类型长(比如int型转换成float型或float型转换成double型)时,转换后的值不会改变精度或准确度,只是改变值的表示形式。
(2)、当右边表达式值的类型比左边变量的类型要长时,这种转换的结果会对右边的数据进行截取,仅取出与左边变量类型相同的长度,这意味着,会丢失高位数据,因此,可能引起精度降低或出现错误的结果。
2、例2-6使用赋值语句编写程序,输出结果。
main()
{
double x;
int a=350;
char c;
c=a;
x=a;printf("a=%d,c=%d,x=%f\n",a,c,x);
getch();
}
(1)、因为字符型在内存中仅占一个字节,所以执行”c=a;”后,char
型变量c只取int型变量a值的低8位。
(350转换成二进制是101011110,截取低8位是01011110,即94)
(2)、而double型比int型大,所以执行”x=a;”后,x的值不会比a小。
(3)、程序的运行结果如下图所示:
三、课堂总结
这节课主要讲解了赋值语句中的类型转换,转换原则你记住了吗?利用赋值语句中的类型转换解决一些简单的实际问题。
四、布置作业
main()
{
double a=3.14159;
int b,c=320;
char d;
b=a;
d=a+c;
printf("b=%d,d=%d,d=’%c’\n",b,d,d);
getch();
}
教学反思:
这节内容还是很简单的,只要记住转换原则是把右边的类型转换成和左边一样的即可。
但是有些学生记不住数据类型的大小以及进制间的转换,还需要加强练习。
整节课的效果还是可以的,主要是让学生自己思考问题并动手解决问题,但还需要多鼓励学生在课堂上积极回答问题,发挥学生的主体作用。