《C语言程序设计》谭浩强版教学教案k 下载本文

内容发布更新时间 : 2024/5/5 2:47:50星期一 下面是文章的全部内容请认真阅读。

名师精编 优秀教案

宜宾学院教案

C语言程序设计_课程

周次 章节名称 授课方式 教学目的 教学重点与难点 第 3 周,第1 次课 第三章 数据类型、运算符与表达式 3.7 各类数值型数据间的混合运算 3.8 算术运算符和算术表达式 3.9赋值运算符和赋值表达式 课堂讲授(√ );实验课( );其他方式( ) 1、掌握C语言数据类型基本概念。 2、掌握不同类型数据之间的转换规则。 3、掌握运算符与表达式的规则和使用方法。 教学重点与难点: 1、C语言数据类型基本概念。 2、不同类型数据之间的转换规则。 3、运算符与表达式的规则和使用方法。 《C语言程序设计教程》 谭浩强 高等教育出版社 《C高级实用程序设计》 王士元 清华大学出版社 《C程序设计及应用》 李盘林、孟宪福著 高等教育出版社 《C语言程序设计》 王树义 钱达源 编著 大连理工大学出版社 C语言程序设计课程教案 何明儒教授等 四川大学计算机学院 教 学 时 数 2学时 参考资料 授课内容与过程 步骤一:复习上次课内容 用运算符和括号将运算对象(数据)连接起来的、符合C语法规则的句子称为表达式。 时间分配 约5分钟 约40分钟 步骤二:讲授新课 §3.7各类数值型数据间的混合运算 整型(包括int,short,long)、浮点型(包括float,double)可以混合运算。在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算.其转换规则如下: double ←float 高 ↑ long ↑ unsigned ↑ 低 int←char,short 上述的类型转换是由系统自动进行的 名师精编 优秀教案

§3.8 算术运算符和算术表达式 3.8.1 C运算符简介 C的运算符有以下几类: (1)算术运算符 (+ - * / %) (2)关系运算符 (><==>=<=!=) (3)逻辑运算符 (!&&||) (4)位运算符 (<< >> ~ |∧&) (5)赋值运算符 (=及其扩展赋值运算符) (6)条件运算符 (?:) (7)逗号运算符 (,) (8)指针运算符 (*和&) (9)求字节数运算符(sizeof) (10)强制类型转换运算符( (类型) ) (11)分量运算符(.->) (12)下标运算符([ ]) (13)其他 (如函数调用运算符()) 3.8.2 算术运算符和算术表达式 (1)基本的算术运算符: + (加法运算符,或正值运算符。如:3+5、+3) - (减法运算符,或负值运算符。如:5-2、-3) * (乘法运算符。如:3*5) / (除法运算符。如:5/3) % (模运算符,或称求余运算符,%两侧均应为整型数据,如:7% 4的值为3)。 (2) 算术表达式和运算符的优先级与结合性基本的算术运算符: 用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语 法规则的式子,称为C算术表达式。运算对象包括常量、变量、函数等。 例如: a*b/c-1.5+′a′是一个合法的表达式 C语言规定了运算符的优先级和结合性。 在表达式求值时,先按运算符的优先级别高低次序执行,例如先乘除 后加减。 C规定了各种运算符的结合方向(结合性),算术运算符的结合 方向为“自左至右”,即先左后右 。 (3)强制类型转换运算符 可以利用强制类型转换运算符将一个表达式转换成所需类型。 一般形式:(类型名)(表达式) 例如:(double)a 将a转换成double类型 (int)(x+y) 将x+y的值转换成整型 (float)(5%3) 将5%3的值转换成float型 例3.8 强制类型转换。 名师精编 优秀教案

#include voidmain() {float x; int i; x=3.6; i=(int)x; printf(\, i=%d\\n\,x,i); } (4) 自增、自减运算符 作用是使变量的值增1或减1,如: ++i,--i(在使用i之前,先使i的值加(减)1) i++,i--(在使用i之后,使i的值加(减)1) i++与++i的区别: ++i是先执行i=i+1后,再使用i的值; i++是先使用i的值后,再执行i=i+1。 例如: ①=++i; i的值先变成4, 再赋给j,j的值均为4 ②j=i++; 先将 i的值3赋给j,j的值为3,然后i变为4 注意: ①自增运算符(++),自减运算符(--),只能用于变量,而不能 用于常量或表达式, ②++和--的结合方向是“自右至左”。自增(减)运算符常用于 循环语句中使循环变量 自动加1。也用于指针变量,使指针指向下一个地址 (5) 有关表达式使用中的问题说明 ①ANSI C并没有具体规定表达式中的子表达式的求值顺序,允许各编 译系统自己安排。 例如:对表达式 a = f1( )+f2( ) 并不是所有的编译系统都先调用f1( ), 然后调用f2( )。在有的情 况下结果可能不同。有时会出现一些令人容易搞混的问题,因此务必要小 心谨慎。 ②C语言中有的运算符为一个字符,有的运算符由两个字符组成 ,为 避免误解,最好采取大家都能理解的写法。 例如:不要写成i+++j的形式,而应写成 (i++)+j的形式 ③在调用函数时,实参数的求值顺序,C标准并无统一规定。 例如:i的初值为3,如果有下面的函数调用: printf(″%d,% d″,i,i++) 在有的系统中,从左至右求值,输出“3,3”。在多 数系统中对函数参数的求值顺序是自右而左,printf函数输出的是 “4,3”。以上这种写法不宜提倡, 最好改写成 j = i++; printf(\, %d\, j,i) 不要写出别人看不懂的也不知道系统会怎样执行程序