c语言的运算符分类ppt,c语言的数据类型、运算符与表达式.ppt

253b171540df25e1b84436cbe50dfc72.gifc语言的数据类型、运算符与表达式.ppt

第3章数据类型、运算符与表达式,预备知识 数据类型 常量与变量 不同类型数据间的转换 运算符和表达式3.0 预备知识 计算机中数的表示及进制转换 数码、基与权 数码表示数的符号 基数码的个数 权每一位所具有的值 数制,任何一种数制表示的数都可以写成按位权展开的多项式之和,其一般形式为 Ndn-1bn-1dn-2bn-2d0b0d-1b-1d-mb-m 式中 n 整数的总位数 m 小数的总位数 d 某位的数码 b 基数,各种进制之间的转换 二进制、八进制、十六进制转换成十进制 方法按权相加,各种进制之间的转换整数 二进制、八进制、十六进制转换成十进制 方法按权相加,十进制转换成二进制、八进制、十六进制 原理,方法连续除以基,从低到高记录余数,直至商为0,二进制与八进制之间的转换 二进制转换成八进制从右向左,每3位一组(不足3位左补0),转换成八进制 八进制转换成二进制用3位二进制数代替每一位八进制数,例 11010012001,101,00121518,例 2468010,100,1102101001102,000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7,二进制与十六进制之间的转换 二进制转换成十六进制从右向左,每4位一组(不足4位左补0),转换成十六进制 十六进制转换成二进制用4位二进制数代替每一位十六进制数,例 1101010111110120011,0101,0111,11012357D16,例 4B9E160100,1011,1001,111021001011100111102,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,数值的表示方法原码、反码和补码 原码最高位为符号位,其余各位为数值本身的绝对值 反码 正数反码与原码相同 负数符号位为1,其余位对原码取反 补码 正数原码、反码、补码相同 负数最高位为1,其余位为原码取反,再对整个数加1,十进制数 二进制数原码 二进制数补码 十六进制数 15 0 1 1 1 1 0 1 1 1 1 F 14 0 1 1 1 0 0 1 1 1 0 E 13 0 1 1 0 1 0 1 1 0 1 D 12 0 1 1 0 0 0 1 1 0 0 C 11 0 1 0 1 1 0 1 0 1 1 B 10 0 1 0 1 0 0 1 0 1 0 A 9 0 1 0 0 1 0 1 0 0 1 9 8 0 1 0 0 0 0 1 0 0 0 8 7 0 0 1 1 1 0 0 1 1 1 7 6 0 0 1 1 0 0 0 1 1 0 6 5 0 0 1 0 1 0 0 1 0 1 5 4 0 0 1 0 0 0 0 1 0 0 4 3 0 0 0 1 1 0 0 0 1 1 3 2 0 0 0 1 0 0 0 0 1 0 2 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 -0 1 0 0 0 0,十进制数 二进制数原码 二进制数补码 十六进制数 - 1 1 0 0 0 1 1 1 1 1 1 - 2 1 0 0 1 0 1 1 1 1 0 - 3 1 0 0 1 1 1 1 1 01 - 4 1 0 1 0 0 1 1 1 0 0 - 5 1 0 1 0 1 1 1 0 1 1 -6 1 0 1 1 0 1 1 0 1 0 - 7 1 0 1 1 1 1 1 0 0 1 - 8 1 1 0 0 0 1 1 0 0 0 - 9 1 1 0 0 1 1 0 1 1 1 - 10 1 1 0 1 0 1 0 1 1 0 - 1 1 1 1 0 1 1 1 0 1 0 1 - 12 1 1 1 0 0 1 0 1 0 0 - 13 1 1 1 0 1 1 0 0 1 1 - 14 1 1 1 1 0 1 0 0 1 0 - 15 1 1 1 1 1 1 0 0 0 1 -16 1 0 0 0 0,负数补码转换成十进制数最高位不动,其余位取反加1,例 补码11111001 取反10000110 加1 10000111-7,原码 -65 反码原码按位取反 补码反码加一 用补码表示后,减法用加法计算。如 -65 683,11 00 00 01,10 11 11 10,10 11 11 11,,01 00 01 00,10 11 11 11,01 00 01 00,1 00 00 00 1 1,10 11 11 11,假定 8位机器,表示的数为-128 127,16 32 48,20- 128 -108,-16-127 -143,9-54 97161243.1 数据类型 数据类型总表,数据类型决定 1. 数据占内存字节数 3. 数据取值范围 3. 其上可进行的操作,基本数据类型整型,字符型,实型,有,无,说明数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例,3.2 常量与变量 标识符 定义用来标识变量、常量、函数等的字符序列 组成 只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线 大小写敏感 不能使用关键字 长度最长32个字符 命名原则 见名知意 不宜混淆 如l与I, o与0,例判断下列标识符号合法性 sum Sum M.D.John day Date 3days student_name 33 lotus_1_2_3 char ab _above 123,M.D.John,3days,33,char,123,ab,练习,判断合法的标识符 A Pad B scanf c void D a * Pd a10 max temp A b-b B CCP c hiy D _isw abc float INT A _0123 B del_word C list D keep ssiped signed *jer wind,B,D,一般用大写字母,以示区别,但不是必须的。 是宏定义预处理命令,不是C语句不加分号(;),如 define PRICE 30,常量 定义程序运行时其值不能改变的量(即常数) 分类 符号常量用标识符代表常量 定义格式 define 符号常量 常量,例 符号常量举例ch2_1.c define PRICE 30 main int num,total; num10; totalnum*PRICE; printf“totald“,total; ,运行结果total300直接常量 整型常量 实型常量 字符常量 字符串常量,整型常量(整常数) 三种形式 十进制整数由数字09和正负号表示.如 123,-456,0 八进制整数由数字0开头,后跟数字07表示.如0123,011 十六进制整数由0 x开头,后跟09,af,AF表示. 如0 x123,0Xff例 12 与 12L,例 30000 为int型 65536 为long int 型整型常量的类型 根据其值所在范围确定其数据类型 在整常量后加字母l或L,认为它是long int 型常量,问题 0123 10 0 x123 10 0Xff 10,实型常量(实数或浮点数) 表示形式 十进制数形式(必须有小数点) 如0.123, .123, 123.0, 0.0, 123. 指数形式(e或E之前必须有数字;指数必须为整数)如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5实型常量的类型 默认double型 在实型常量后加字母f或F,认为它是float 型,字符常量 定义用单引号括起来的单个普通字符或转义字符.,字符常量的值该字符的ASCII码值,如 101 -A 012 -n 376 - x61 -a 60 -0 483 ,例 A-101-x4165如 A65, a97, 048 , n10,如 a A n 101,转义字符反斜线后面跟一个字符或一个代码值表示,例 转义字符举例ch2_001.c,ch2_004.c 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 printf“Ybn”; ,运行结果 屏幕显示 打印机输出,字符常量与字符串常量不同,字符串常量 定义用双引号“”括起来的字符序列 存储每个字符串尾自动加一个 0 作为字符串结束标志,变量 概念其值可以改变的量 变量名与变量值 变量定义的一般格式 数据类型 变量1,变量2变量n;,变量初始化定义时赋初值,例 int a,b,c; float data;,决定分配字节数 和数的表示范围,合法标识符,例 int a2,b,c4; float data3.67; char chA; int x1,y1,z1; int xyz1;,变量定义位置一般放在函数开头,Ch2_005.c,变量的使用先定义,后使用,例1 int student; stadent19; Undefined symbol statent in function main,例2 float a,b,c; cab; Illegal use of floating point in function main,凡未被事先定义的,不做为变量名,以避免变量名使用出错;,每个变量属于一确定类型,以避免运算时类型出错;比如 求余运算,每个变量在定义时被指定为一确定类型,编译时为其分配相应存储单元;,整型变量 占字节数随机器不同而不同,一般占一个机器字 shortintlong 可用sizeof类型标识符)测量,实型变量 float占4字节,提供7位有效数字 double占8字节,提供1516位有效数字,字符型变量 字符变量存放字符ASCII码 char与int数据间可进行算术运算,例 float a; a111111.111; /* a111111.1*/ double b; b111111.111; /* b111111.111*/,例 aD; /* a68; */ xA5; /* x655; */ sG /* s3371; */,没有字符串变量,用字符数组存放Ch2_006.c例 /*ch2_003.c*/ define PRICE 12.5 main int num3; float total; char ch1,ch2D; totalnum*PRICE; ch1ch2-Aa; printf“totalf,ch1cn”,total,ch1; ,运行结果 total37.500000, ch1d在内存中字符变量存字符的ASCII码, 如 A 65 B 66 字符变量和整型变量是通用的(但字节数不同)比如,main int a, b; char c, d; a65; bx41; c65; dx41; printf “c ,dn“,a, a; printf “c ,dn“,b, b; printf “c ,dn“,c, c; printf “c ,dn“,d, d;,A, 65 A,65 A,65 A,65,01 00 00 01,01 00 00 10,无符号字符,a 97 254 、376 作为数字输出时,最高位理解为符号位 反码 原码,0 1 10 00 01,11 11 11 01,11 11 11 10,10 00 00 10,3.3不同类型数据间的转换 隐式转换 什么情况下发生 运算转换不同类型数据混合运算时 赋值转换把一个值赋给与其类型不同的变量时 输出转换输出时转换成指定的输出格式 函数调用转换实参与形参类型不一致时转换 运算转换规则不同类型数据运算时先自动转换成同一类型,显式转换(强制转换) 一般形式(类型名)(表达式) 例 intxy intxy double3/2 int3.6 说明强制转换得到所需类型的中间变量,原变量类型不变,例 main float x; int i; x3.6; iintx; printf“xf,id”,x,i; 结果x3.600000,i3,精度损失问题,Ch2_007.c,Ch2_008.c,3.4 运算符和表达式,学习运算符应注意 运算符功能 与运算量关系 要求运算量个数 要求运算量类型 运算符优先级别 结合方向 结果的类型,算术运算符和表达式 基本算术运算符 - * / 结合方向从左向右 优先级 - * / - - 2 3 4 说明 “-”可为单目运算符时,右结合性 两整数相除,结果为整数 要求两侧均为整型数据,例 5/2 -5/2.0 ,例 52 -52 110 51 5.52,例 5/2 为 2 -5/2.0 为 -2.5,例 52为1 -52为-1 110为1 51为0 5.52 ,自增、自减运算符 作用使变量值加1或减1 种类 前置 i, i 先执行i1或i-1,再使用i值) 后置 i,i 先使用i值,再执行i1或i-1),例 j3; kj; j3; kj; j3; printf“d”,j; j3; printf“d”,j; a3;b5;ca*b; a3;b5;ca*b;,k4,j4,k3,j4,4,3,c20,a4,c15,a4,说明 不能用于常量和表达式,如5,ab 结合方向 自右向左 优先级- * / - - 2 3 4,例 -i -i i3; printf“d”,-i; -3,例 -i i3; printf“d”,-i;Ch2_009.c,赋值运算符和表达式 简单赋值运算符 符号 格式 变量标识符表达式 作用将一个数据(常量或表达式)赋给一个变量,复合赋值运算符 种类 - * / dfunc; cd2;,说明 结合方向自右向左 优先级 14 左侧必须是变量,不能是常量或表达式,赋值表达式的值与变量值相等,且可嵌套,赋值转换规则使赋值号右边表达式值自动转换成其左边变量的类型,例 3x-2*y; ab3;,例 float f; int i; i10; fi; 则 f10.0,例 int i; i2.56; 结果i2;,例 abc5 ab5 a5c6 ab4c6 ab10/c2,表达式值为5,a,b,c值为5, b5;a5,表达式值11,c6,a11,表达式值10,a10,b4,c6,表达式值5,a5,b10,c2,例 a12; aa-a*a,例 int a2; a4-1; aa*a-a*3;,a-264 等价于aaaa-a*a,a0 等价于aaaa*aa-aa*3,逗号运算符和表达式 形式表达式1,表达式2,表达式n 结合性从左向右 优先级 15 逗号表达式的值等于表达式n的值 用途常用于循环for语句中,例 a3*5,a*4 a3*5,a*4,a5 例 xa3,6*3 xa3,6*a 例 a1;b2;c3; printf“d,d,d”,a,b,c; printf“d,d,d”,a,b,c,b,c;,a15,表达式值60,a15,表达式值20,赋值表达式,表达式值18,x18,逗号表达式,表达式值18,x3,1,2,3,3,2,3,逗号运算符和表达式 形式表达式1,表达式2,表达式n 结合性从左向右 优先级 15 逗号表达式的值等于表达式n的值 用途常用于循环for语句中,例 /*ch2_6.c*/ include main int x,y7; float z4; xyy6,y/z; printf“xdn“,x; ,运行结果x3隔开函数参数的逗号,不是逗号运算符,printf“d,d,d“, a,b,c printf“d, d“, a,b,c,十进制4956 410910 510610,二进制10111202 1212,十六进制81AE816116 10161416,八进制42754828 7858,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
疫情居家办公系统管理系统按照操作主体分为管理员和用户。管理员的功能包括办公设备管理、部门信息管理、字典管理、公告信息管理、请假信息管理、签到信息管理、留言管理、外出报备管理、薪资管理、用户管理、公司资料管理、管理员管理。用户的功能等。该系统采用了MySQL数据库,Java语言,Spring Boot框架等技术进行编程实现。 疫情居家办公系统管理系统可以提高疫情居家办公系统信息管理问题的解决效率,优化疫情居家办公系统信息处理流程,保证疫情居家办公系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 管理员权限操作的功能包括管理公告,管理疫情居家办公系统信息,包括外出报备管理,培训管理,签到管理,薪资管理等,可以管理公告。 外出报备管理界面,管理员在外出报备管理界面中可以对界面中显示,可以对外出报备信息的外出报备状态进行查看,可以添加新的外出报备信息等。签到管理界面,管理员在签到管理界面中查看签到种类信息,签到描述信息,新增签到信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值