计算机二级语言-数据类型运算符表达式.pptVIP

  • 2
  • 0
  • 约2.88千字
  • 约 52页
  • 2021-03-20 发布于广东
  • 举报

计算机二级语言-数据类型运算符表达式.ppt

第 2 章 数据类型、运算符与表达式;常量与变量 整型数据 字符型数据 浮点型数据 运算符和表达式 不同类型数据间的转换;;§2.2常量与变量;常 量;变 量;变量的赋值; 整型常量(整常数) 三种形式: 十进制整数:由数字0~9和正负号表示.如 123,-456,0 八进制整数:由数字0开头,后跟数字0~7表示.如0123,011 十六进制整数:由0x开头,后跟0~9,a~f,A~F表示. 如0x123,0Xff; 整型变量 分类: 有符号数和无符号数。 用关键字signed, unsigned指定。 基本型、长整型和短整型。 用关键字int, long, short指定。 字节数和表示范围 定义 形式:数据类型 变量名 例子: int x, y; /*定义x, y为整型数*/ unsigned short m, n; /*定义m, n为无符号短整型数*/ long a; /*定义a为长整型数*/; 整型数据的存储方式 short ≤ int ≤long 最高位为符号位,0为正,1为负 以二进制补码的形式存放 如:10 的补码 -10的补码;例 整型数据溢出 #include stdio.h void main() { int a,b; a=32767; b=a+1; printf(“%d,%d\n,a,b); };§2.4 字符类型 ; 字符常量 定义:用单引号括起来的单个普通字符或转义字符. ;;;例 /*转义字符的使用*/ #include stdio.h void main() { printf(“ ab c\t de\rf\tg\n”); printf(“h\ti\b\bj k\n”); };例 /*转义字符的使用*/ #include stdio.h void main() { printf(“AB\bCDEF\rGH\n”); };§3.5 实数类型;浮点数的分类; 实型常量(实数或浮点数) 表示形式: 十进制数形式:(必须有小数点) 如0.123, .123, 123.0, 0.0, 123. 指数形式:(e或E之前必须有数字;指数必须为整数) 如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5 ;程序清单;sizeof运算符;基本数据类型小结;§3.6 运算符和表达式;C语言中的运算符(13类);学习运算符应注意:;1 算术运算符和表达式;自增、自减运算符 ++ --;2赋值运算符和表达式;说明: 结合方向:自右向左 优先级: 14 左侧必须是变量,不能是常量或表达式;3逗号运算符和表达式;4关系运算符和表达式;关系运算注意事项:;5逻辑运算符和表达式;;逻辑运算的短路特??:;6条件运算符与表达式;良好的源程序书写习惯: 表达式中,在双目运算符的左右两侧各加一个空格,可增强程序的可读性。 比较:“(x + y) / 2 – 1” 与 “(x+y)/2–1” 尽量把复杂的表达式分成多个表达式来写。 尽量使用圆括号显式指明哪部分先运算,而不是依赖运算符的优先级。;不同类型数据间的转换;注意 有符号与无符号之转换 由有符号负数转为同长度的无符号数时,最高位不再被当作符号位,结果相当于2^16或2^32加上该负值 由无符号数(超出表示范围)转为同长度的无符号数时,最高位被当作符号位,结果相当于该数减去2^16或2^32。 实数转整数,小数被截取。double转float,超出有效数字范围的四舍五入。 数据转换可能丢失精度。在截取与四舍五入及long型转实型时可能发生。 数据转换结果具有不确定性。将较长整数转为较短整数时,只低字节有效。double转float, 实数转整数时,如值超过目标类型的取值范围,则结果是不确定的。;隐式转换 什么情况下发生 运算转换------不同类型数据混合运算时 赋值转换------把一个值赋给与其类型不同的变量时 输出转换------输出时转换成指定的输出格式 函数调用转换------实参与形参类型不一致时转换 运算转换规则 不同类型数据运算时先自动转换成同一类型,转换结果使表达式中只有5种类型,即: int, unsigned int, long, unsigned long, double “向高看齐”原则。;

文档评论(0)

1亿VIP精品文档

相关文档