二章数据类型运算符表达式.ppt
《二章数据类型运算符表达式.ppt》由会员分享,可在线阅读,更多相关《二章数据类型运算符表达式.ppt(46页珍藏版)》请在三一文库上搜索。
1、第二章 数据类型、运算符、表达式,数据类型 常量与变量 整型、实型、字符型 不同类型数据间的转换 运算符和表达式,2.1 数据类型,2.2 常量与变量 常量和符号常量 常量:在程序运行过程中,其值不能改变的量 如;12,0,-3,4.6,-1.23,a,c 符号常量:用一个标识符代表一个常量 例2.1 符号常量的使用 #define PRICE 30 main() int num,total; num=10; total=num* PRICE; printf(“total=%d”,total); ,运行结果: total=300,符号常量的好处 含义清楚 如 PRICE 代表价格 能做到一改全
2、改 如 #define PRICE 35 程序中所有以PRICE代表的价格自动改为35,变量 在程序运行过程中,其值可以改变的量 变量有一个名字 变量在内存中占一定的存储单元,标识符 定义:用来标识变量、常量、函数等的有效字符序列 组成: 只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线 大小写敏感 命名原则: 见名知意 变量名尽量用小写,符号常量用大写 长度尽量不要超过8个字符 尽量不使用下划线开头 不能用关键字作标识符 避免使用容易认错的字符,例:判断下列标识符号合法性 sum Sum M.D.John day Date 3days student_name #33 lotus
3、_1_2_3 char ab _above $123,M.D.John,3days,#33,char,$123,ab,变量的使用应“先定义,后使用” 未被事先定义的不作为变量名 例:如果在定义部分写了 int student ; 而在执行语句中错写成stadent. 如:stadent =30; 则输出错误“变量stadent未定义” 编译时根据变量的类型为其分配相应的存储单元 如 int为两个字节 float为四个字节 编译时根据变量的类型检查运算是否合法 如 % 运算只能在整型数据之间进行 如果a,b为两个实型变量,则a%b是错误的,2.3 整型数据 整型常量的表示方法 十进制整数 如;1
4、23,-456,0 八进制整数 以0开头的数 如:0123即(123)8 其值为1*82+2*81+3*80=83 十六进制整数 以0x开头的数 如:0x123即(123)16 其值为1*162+2*161+3*160=291,要注意各种进制数字的组成,各种进制之间的转换 二进制、八进制、十六进制转换成十进制 方法:按权相加,各种进制之间的转换(整数) 二进制、八进制、十六进制转换成十进制 方法:按权相加,十进制转换成二进制、八进制、十六进制,方法:连续除以基,从低到高记录余数,直至商为0,二进制与八进制之间的转换 二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制 八进
5、制转换成二进制:用3位二进制数代替每一位八进制数,例 (1101001)2=(001,101,001)2=(151)8,例 (246)8=(010,100,110)2=(10100110)2,000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7,二进制与十六进制之间的转换 二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制 十六进制转换成二进制:用4位二进制数代替每一位十六进制数,例 (11010101111101)2=(0011,0101,0111,1101)2=(357D)16,例 (4B9E)16=(0100,1011,
6、1001,1110)2=(100101110011110)2,0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F,字节和位 内存以字节为单元组成 每个字节有一个地址 一个字节一般由8个二进制位组成 每个二进位的值是0或1,整型变量 整型数据在内存中的存放 在内存中以二进制形式存放 一个整型变量在内存中占两个字节 如:int i ;i=10;数据在内存中的实际存放情况 补码 正数的补码和其原码形式相同 负数的补码 取-10的绝
7、对值 按位取反 加1,整型变量的分类 有符号基本整型 signed int 无符号基本整型 unsigned int 有符号短整型 signed short int 无符号短整型 unsigned short int 有符号长整型 signed long int 无符号长整型 unsigned long int,有符号整型变量,无符号整型变量,ANSI标准定义的整数类型,整型变量的定义 int a,b; unsigned short c,d; long e,f,例2.2 整型变量的定义与使用 main() int a,b,c,d; unsigned u; a=12;b=-24;u=10; c=
8、a+u;d=b+u; printf(“a+u=%d,b+u=%dn”,c,d); ,运行结果: a+u=22,b+u=-14,整型数据的溢出,例2.3 整型数据的溢出 main() int a,b; a=32767; b=a+1; printf(“%d,%dn”,a,b); ,运行结果: 32767,-32768,整型常量的类型 其值在-32768+32767范围内的整数认为它是int 型 其值超出上述范围,在-2147483648+2147483647范 围内,则认为是长整型 一个整型常量后加一个字母u,认为是unsigned int 型 如12345u。如果是-12345u,则先将-123
9、45转换成补码 53191,然后按无符号数存储。 一个整型常量后面加一个字母l或L,认为是long int 型,思考题 请写出下列程序的运行结果,main() long int a; a=32767+1; printf(“a=%ldn”,a); main() long int a; a=32768; printf(“a=%ldn”,a); ,2.4 实型数据 实型常量的表示方法 十进制小数形式 由数字和小数点组成(必须有小数点) 如;.123、123.、123.0、0.0 指数形式 如:123e3或123E3 都代表123*103 字母e之前必须有数字,e后面的指数必须为整数 规范化的指数表示
10、形式 一个实数可以有多种指数表示形式 如123.456可表示为123.456e0、12.3456e1、 1.23456e2、0.123456e3等 字母e之前的小数部分中,小数点左边有且只能有一位 非零的数字,实型变量 实型数据在内存中的存放 实型变量的分类,实型数据的舍入误差 例2.4 实型数据的舍入误差 main() float a,b; /*double*/ a=123456.789e5; b=a+20; printf(“%fn”,b); ,运行结果: 12345678848.000000,实型常量的类型 系统将实型常量作为双精度来处理 可在数的后面加字母f或F,按单精度处理,2.5 字
11、符常量 定义:用单引号括起来的单个普通字符或转义字符.,如 101 -A 012 -n 376 - x61 -a 60 -0 483 -(),例: A-101-x41-65,如 a A ? n 101,转义字符:反斜线后面跟一个字符或一个代码值表示,例 转义字符举例 main() printf(“101 x42 Cn“); printf(“I say:“How are you?“n“); printf(“C Programn“); printf(“Turbo C“); ,运行结果:(屏幕显示) A B C Isay:”How are you?” C Program Turbo C,例 main
12、() printf(“Yb=n”); ,运行结果: 屏幕显示:= 打印机输出:,例2.5 转义字符的使用 main() printf(“ ab ct derftgn“); printf(“htibbj kn“); ,运行结果: 屏幕显示:f gde h j k 打印机输出:fab c gde h jik,字符变量 定义形式 char c1,c2; 赋值 c1=a;c2=b;,字符数据在内存中的存储 一个字符在内存中占一个字节 字符数据在内存中以ASCII码存储,例2.6 向字符变量赋以整数 main() char c1,c2; c1=97;c2=98; printf(”%c %cn”,c1,c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型 运算 表达式
链接地址:https://www.31doc.com/p-2553804.html