第2章C语言基础-运算符及其表达式摘要
* * * C语言程序设计 C语言程序设计 模仿练习 #include void main() { int n1=10; float n2=3.7; char n3=’a’; printf(“n1=%d\n”,n1); printf(“n2=%f\n”,n2); printf(“n3=%c\n”,n3); printf(“n3=%d\n”,n3); } C语言数据类型 数据类型 空类型 void 指针类型 构造类型 数组类型 共用类型 union 文件类型 file 结构类型 struct 基本类型 字符型 char 枚举型 enum 整型 短整型 short int 整型 int 长整型 long int 单精度型 float 双精度型 double 浮点型(实型) 长双精度型 long double 常量 常量是在程序执行期间可以不经声明而直接引用的数据(保持不变的量) 常量用于定义具有如下特点的数据: 在程序中保持不变 在程序内部频繁使用 需要用比较简单的方式替代某些值 注意:指数形式的浮点常量E或e前面必须有数字,E后面必须为整数。 因此,E8、6E7.8都不是合法的浮点常量。 变量 定义格式 类型关键字 变量名表(标识符); int a,b,c; 变量的三要素 拓展任务练习: 1、提出任务:编写一个c程序,输入a、b、c 3个值,输出其平均值。 2、分析任务:要完成这个任务可以分解成以下几个要解决的问题: 1)这个问题需要几步操作(程序) 2)怎样计算平均值(算法) 3)用c语言怎样表达(c的语法和结构) 4)a、b、c 3个值是整数还是实数,它们的平均值是什么类型的数,应该怎么定义 5)怎样让计算机运行这个程序(开发环境和使用) 3、完成任务: 请同学根据本节课的内容,分组讨论完成任务。 2.3运算符和表达式 掌握C语言基本运算符的使用 理解运算符的优先级 熟练掌握C语言基本表达式的使用 掌握表达式中数据类型的转换 C语言的表达式 Z = ( X * 2 ) + ( 5 – Y ) C语言的表达式 操作数 操作数 表达式 表达式 表达式 运算符 C语言的表达式 表达式由操作数和运算符的组合而成 表达式中的操作数可以是变量、常量或者子表达式 表达式的主要类型有: 算术表达式 赋值表达式 关系表达式 逻辑表达式 条件表达式 逗号表达式 举例 【例2-7】求解算术表达式的值 #include void main() { int n1=1,n2=2; float n3=3.5,n4=2.5,s; //定义5个变量,其中s用来保存表达式结果 s=(float)(n1+n2)/2+(int)n3%(int)n4; printf("s=%f\n",s); //按实型格式输出表达式的值 } 算术表达式 1.单目运算符 运 算 符 名 称 运算 规则 运算 对象 运算 结果 举 例 x的值 a的 值 - 取负 取负值 整型 或实型 整型 或实型 a=1;x=-a; x=-1 a=1 ++ 增1 (前缀) 先增值后 引用 整型、 字符型 或实型 变量 整型、 字符型 或实型 变量 a=1;x=++a; x=2 a=2 ++ 增1 (后缀) 先引用后 增值 a=1;x=a++; x=1 a=2 -- 减1 (前缀) 先减值后 引用 a=1;x=--a; x=0 a=0 -- 减1 (后缀) 先引用后 减值 a=1;x=a--; x=1 a=0 自增自减四个符号同级,高于取负,只能作用于变量。 由算术运算符连接起来的运算式称为算术表达式 算术表达式 2.双目运算符 运算符 名 称 运算规则 运算对象 运算结果 举 例 表达式值 * 乘 乘法 整型或 实型 整型或 实型 2.5*3.0 7.5 / 除 除法 2.5/5 0.5 % 模(求余) 整数取余 整型 整型 10%3 1 + 加 加法 整型或 实型 整型或 实型 2.5+1.3 3.8 - 减 减法 2.5-1.3 1.2 注意: 双目运算符优先级:*、/、%同级,+、-同级,并且前者高于后者。 双目运算符优先级低于单目运算符。两个整数相除的结果仍为一个整数。 例如:13/5的值为2,而不是2.6。 算术表达式 3.强制类型转换运算符 注意: 强制类型转换运算符高于双目运算符,但低于取负运算。该类型不会改变 其后边表达式的类型。如上例 (int) x;中表达式的值为3,但x的值仍然为 3.4。 同级的算术运算符的结合性是自左向右。 运算符 名 称 运算规则 运算对象