pdf第二章 数据与数据类型

上传人:油条 文档编号:20261771 上传时间:2017-09-09 格式:PDF 页数:6 大小:320.99KB
返回 下载 相关 举报
pdf第二章 数据与数据类型_第1页
第1页 / 共6页
pdf第二章 数据与数据类型_第2页
第2页 / 共6页
pdf第二章 数据与数据类型_第3页
第3页 / 共6页
pdf第二章 数据与数据类型_第4页
第4页 / 共6页
pdf第二章 数据与数据类型_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《pdf第二章 数据与数据类型》由会员分享,可在线阅读,更多相关《pdf第二章 数据与数据类型(6页珍藏版)》请在金锄头文库上搜索。

1、1第二章数据与数据类型2v计算机中数的表示及进制转换 数码、基与权 数码:表示数的符号 基:数码的个数 权:每一位所具有的值 数制 二进制、八进制、十六进制、十进制进制十进制:4956= 410+910 +510+610二进制:1011=12+02 +12+12十六进制:81AE=816+116 +1016+1416八进制:4275=48+28 +78+583n (二、八、十六进制) 十进制:按权相加100123452 59212120212121111011 )()(例 =+=100128 94868381136 )()(例 =+=10012316 79781610162161516121

2、)()(例 =+=AF各种进制之间的转换n 十进制 二、八、十六进制:连续除以基,从低到高记录余数,直至商为0例十进制数459转换成十六进制数4591628161160(459)10=(1CB)161 C B 余11余12余14n 二进制转换成其他进制:八进制:从右向左每3位一组,转成八进制十六进制:从右向左每4位一组,转换成十六进制n其他进制转换成二进制:用3位二进制数代替每位八进制数用4位二进制数代替每一位十六进制数例 (1101001)2=(001,101,001)2=(151)8例(246)8=(010,100,110)2=(10100110)2进制间转换例 (110101011111

3、01)2=(0011,0101,0111,1101)2=(357D)16例(4B9E)16=(0100,1011,1001,1110)2=(100101110011110)25 正数:原码、反码、补码相同 负数:原码:最高位为符号位,其余位为数值本身的绝对值 反码:符号位为1,其余位对原码取反 补码:最高位为1,其余位为原码取反后加1数值的表示方法原码、反码和补码 数据类型总表C数据类型基本类型构造类型指针类型空类型void定义类型typedef字符类型char枚举类型enum整型实型单精度型float双精度型double数组结构体struct共用体union短整型short长整型long整型

4、int2.1 数据类型27类型符号关键字数的表示范围所占位数整型字符型实型有无(signed)int 16 -3276832767(signed)short 16 -3276832767(signed)long 32 -2147483648214748364716unsignedint 06553532 04294967295unsignedlongunsignedshort 16 065535有 float 32 3.4e-383.4e38有 double 64 1.7e-3081.7e308有 char 8 -128127无 unsigned char 8 0255说明:数据类型所占字节数

5、随机器硬件不同而不同基本数据类型8 标识符定义:用来标识变量、常量、函数等的字符序列组成:只能由字母、数字、下划线组成,首字母不能为数字大小写敏感不能使用关键字长度:最长32个字符命名原则:见名知意使用不宜混淆字符如l与I, o与02.2 常量与变量9定义:程序运行时其值不能改变的量(即常数)分类: 直接常量:整型常量、实型常量、字符常量、字符串常量 符号常量:用标识符代表常量宏定义格式: #define 符号常量常量#define PI 3.14159 C语言中习惯用大写字母表示符号常量。 用const修饰符定义符号常量:const 数据类型关键字符号常量1=常量1, 符号常量2=常量2,

6、.;constintMAXINT=32767;常量10三种形式:十进制整数:由数字09和正负号表示.如 123,-456,0八进制整数:由数字0开头,后跟数字07表示.如0123,011十六进制整数:由0x开头,后跟09,af,AF表示. 如0x123,0Xff数据类型:根据值所在范围确定加字母l或L,是long型常量整型常量(整常数)11表示形式:十进制数形式:(必须有小数点)如0.123, .123, 123.0, 0.0, 123.指数形式:(e或E之前必须有数字;指数必须为整数)12.3e3 ,123E2, 1.23e4Wrong: e-5, 1.2E-3.5数据类型:默认double

7、型加字母f或F为float 型实型常量(实数或浮点数)aaa12定义:用单引号括起来的单个普通字符或转义字符.字符常量的值:该字符的ASCII码值如:enumweekday sun,mon,tue,wed,thu,fri,sat;enumweekday workday,freeday;注意: 枚举元素均为常量,不能当作变量赋值。 枚举元素作为常量,从左到右对应的序号值为0,1,2,。如果freeday= sun,则printf(%d,freeday)将输出整数0。 枚举元素的值可由用户指定,如:enumweekday sun=7,mon=1,tue,wed, thu,fri,sat;则sun的

8、值为7,mon的值为1,下面的元素值依次为2,3,4,5,6。 枚举类型数据可以作关系运算。 不能将整数赋给枚举类型变量wrong freeday= 017隐式转换何时发生运算转换-不同类型数据混合运算时赋值转换-把一个值赋给与其类型不同的变量时输出转换-输出时转换成指定的输出格式函数调用转换-实参与形参类型不一致时转换运算转换规则:运算时先自动转换成同一类型2.3 不同类型数据间的转换double floatlongunsignedint char,short低高18一般形式:(类型名)(表达式)例: (int)(x+y)(int)x+y(int)3.6 说明:强制转换得到所需类型的中间变量

9、,原变量类型不变显式转换(强制转换)419C运算符算术运算符:(+ -* / % + -)关系运算符:( = !=)逻辑运算符:(! & |)位运算符:( | &)赋值运算符:(= 及其扩展)条件运算符:(?:)逗号运算符:(,)指针运算符:(* &)求字节数:(sizeof)强制类型转换:(类型)分量运算符:(. -)下标运算符:()其它 :(( ) -)2.4 运算符和表达式20 运算符功能 与运算量关系要求运算量个数要求运算量类型 运算符优先级别 结合方向 结果的类型运算符注意要点21基本算术运算符: + -* / %结合方向:从左向右优先级: -* / %- + -说明:“-”可为单目

10、运算符时,右结合性两整数相除,结果为整数%要求两侧均为整型数据例 5/2 =-5/2.0 =算术运算符和表达式2-2.522作用:使变量值加1或减1种类:前置 +i, -i (先执行i+1或i-1,再使用i值)后置 i+,i-(先使用i值,再执行i+1或i-1)例 j=3; k=+j; j=3; k=j+; j=3; printf(“%d”,+j); j=3; printf(“%d”,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b; /k=4,j=4/k=3,j=4/4/3/c=20,a=4/c=15,a=4自增、自减运算符+ -23作用:使变量值加1或减1种类

11、:前置 +i, -i (先执行i+1或i-1,再使用i值)后置 i+,i-(先使用i值,再执行i+1或i-1)说明:+ - 不能用于常量和表达式,如5+,(a+b)+ -结合方向: 自右向左自增、自减运算符+ -例:i=j=3;分别执行如下三组语句,变量a b的值? a=i+;b=+j; 3 4 a=i+j; b=i+(+j); 6 7 a=(i+)+(i+)+(i+); b=(+j)+(+j)+(+j);9 18*第三组运行环境不同,结果可能不同24l简单赋值运算符 符号: = 格式:变量标识符=表达式作用:将一个数据(常量或表达式)赋给一个变量l复合赋值运算符种类:+= -= *= /=

12、%= = = &= = |=赋值运算符和表达式例: a=12; a+=a-=a*a例: inta=2; a%=4-1; a+=a*=a-=a*=3; /a=-264 等价于a=a+(a=a-(a*a)/a=0 等价于a=a+(a=a*(a=a-(a=a*3)525 形式:表达式1,表达式2,表达式n 结合性:从左向右 逗号表达式的值:等于表达式n的值例 a=3*5,a*4a=3*5,a*4,a+5例 x=(a=3,6*3)x=a=3,6*a例 a=1;b=2;c=3;printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c); /a=15,

13、表达式值60/a=15,表达式值20/赋值表达式,表达式值18,x=18/逗号表达式,表达式值18,x=3/1,2,3/3,2,3逗号运算符和表达式26 关系运算符 种类:= != 结合方向:自左向右 优先级别:关系表达式的值:是逻辑值“真”或“假”,用1和0表示例 inta=3,b=2,c=1,d,f;ab (ab)=cb+cbf=abc/表达式值1/表达式值1/表达式值0/d=1/f=0关系运算符和表达式27例 若a=0; b=0.5; x=0.3;则 a278值为 0例 inti=1, j=7,a; a=i+(j%4!=0); 则a= 2例 a0 结果为A100 结果为10关系运算符:例

14、 注意区分“=”与“=”inta=0,b=1;if(a=b) printf(“aequal to b”);elseprintf(“anot equal to b”);例 应避免对实数作相等或不等的判断 1.0/3.0*3.0=1.0 结果为可改写为:fabs(1.0/3.0*3.0-1.0)3&2|83)&2|(8b)&(n=cd) /结果m=0,n=1逻辑运算符和表达式631 一般形式: expr1 ?expr2:expr3 执行过程 功能:相当于条件语句,但不能取代一般if语句例 if (ab)printf(“%d”,a);elseprintf(“%d”,b);printf(“%d”,ab?a:b);例 (a=b)?Y:N(x%2=1)?1:0(x=0)?x:-x(c=a & c=z)?c-a+A:c条件运算符与表达式32长度运算符 sizeof格式:sizeof(表达式)功能:测某种类型占据内存字节数。例 : sizeof1.5+1018sizeof(1.5+10) 833本章知识点1 C的数据类型2 常量和变量3 整型、 实型、字符型数据4 变量赋初值5 数值数据混合运算6 算术、赋值、逗号运算符与表达式v 细节决定成败v 理解的基础上记忆

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号