武汉大学C语言程序设计第3讲(2012级)
第二章 数据类型、运算符和表达式 2.3 常量、变量和标准函数 变量与内存 每一个变量有名字,类型,值,位置和大小。 当一个新的值赋予变量时,新值替换原值。 从内存中读取变量的值,其值不会改变。 2.3 常量、变量和标准函数 ─用来存放整型数据的变量。 2.3 常量、变量和标准函数 2.3 常量、变量和标准函数 2.3 常量、变量和标准函数 2.3 常量、变量和标准函数 #include void main() {float f; double d; f=33333.33333; d=33333333333333.333333; printf("f=%f\nd=%f\n",f,d); } 2.3 常量、变量和标准函数 3.字符型变量 ─用来存放字符常量的变量。 2.3 常量、变量和标准函数 2.3 常量、变量和标准函数 2.3 常量、变量和标准函数 2.4 基本运算符及其表达式 2.4 基本运算符及其表达式 2.4 基本运算符及其表达式 2.4 基本运算符及其表达式 2.4 基本运算符及其表达式 2.4 基本运算符及其表达式 ?在表达式中当多个运算符相连时,应自左而右地将若干个字符组成一个运算符。 2.4 基本运算符及其表达式 3 算术表达式(Arithmetic Expressions) ──由算术运算符和括号将运算对象(如常量、变量、函数等)连接起来的一个有值的式子。 2.4 基本运算符及其表达式 3 算术表达式(Arithmetic Expressions) 2.4 基本运算符及其表达式 2.2 数据类型 ?强制类型转换forced conversions—将一个表达式的值转换成所需要的类型。 2.4 基本运算符及其表达式 For instance: 已知a=3,b=2,c=1 则 1)c = = a + b 结果为 0 2)a = = b < c 结果为 0 3)f = a > b 结果为 1 例 写出下列各题的关系表达式: 1)X为不小于 -5 的整数 2)X 为非零的数 3) 例 #include void main() { int a ,b ,c ;a = b = c = 10 ; a = b == c ; printf ( “%d , %d , %d \n”, a , b, c ) ; a == ( b= c++ * 2 ) ; printf ( “%d , %d , %d \n”, a , b, c ) ; a = b > c > = 100 ; printf ( “%d , %d , %d \n”, a , b, c ) ; } 2.4.3 逻辑运算符与逻辑表达式Logical Operators and Precedence 关系表达式只能表达一些简单的关系,如: sum>=1500 y!=z 即只能对一个条件进行测试。 2.4 基本运算符及其表达式 例: 1)7 < 3 && 8 4 ||( mum = 0 )由于 5 > 4 故短路 ,则 mum = 0 不执行 . ?赋值运算符优先级为14,仅高于逗号运算符,而低于其他所有运算符。 赋值运算的类型转换,规则为: 2.复合赋值运算符和复合赋值表达式 2.逻辑表达式Logical Expression —用逻辑运算符将表达式连接起来的式子。 如: 1) 0≤x≤10 → x>=0&&x<=10 2) a>5或x<15 → a>5‖x<15 3)a、b不能同时为零 → a==0&&b!=0||a!=0&&b==0 一般形式为: [〈表达式1〉]〈逻辑运算符〉〈表达式2〉 2.4 基本运算符及其表达式 逻辑表达式是构成选择结构条件的基本式子。 [注意] 在计算逻辑表达式时,并非所有的逻辑运算符都参与运算。 如:x=y=-1; ++x&&++y; /* x=? y=? */ 0 -1 2.4 基本运算符及其表达式 “短路能力” 算术运算 关系运算 逻辑与、或 逻辑非 运算符运算优先级小结: #include void main( ) { int a=-1, b=-1, d=-1;