- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二讲 数据基本类型与变量
各种进制之间的转换 二进制、八进制、十六进制转换成十进制 方法:按权相加 .变量的地址属性 变量名携带着存储的位置信息即变量的地址属性。变量的地址可以通过取地址运算符与变量名组合在一起得到,设a是变量,则a就是变量a的地址,此时系统使用了变量的地址属性。 例:#includestdio.h main() { int a,b,max; printf(“Please input two integers:\n”); scanf(“%d %d”,a,b); if(ab) max=a; else max=b; printf(“Max=%d”,max); } 为了得到变量a的地址中的内容,系统提供了访问指针运算符*, 例如*(a)就是变量a的值。对变量的地址属性进行操作可以通过指针来实现,指针就是地址的变量,定义指针的格式如下: int* pi; //定义一个int*类型属性的指针pi long * pl; double * pd; //定义long *型的指针pl , double *型指针pd 定义和使用指针要注意: 1、初始化指针或给指针赋值要用变量的取址运算符; 2、指针不能指向不同的数据类型; 3、指针变量必须先赋值,再使用; 例: #includestdio.h main() { int a=4; float b=5; int *p=a; //不能写成 int *p=a 或者是 int *p=b printf(“%d”,*p) } * 第二讲 C程序中数据基本类型与变量 C 数 据 类 型 基本类型 构造类型 指针类型 空类型void 定义类型typedef 字符类型char 枚举类型enum 整 型 实型 单精度型float 双精度型double 数组 结构体(联合)struct 共用体union 短整型short 长整型long 整型int 数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作 基本数据类型 类型 符号 关键字 数的表示范围 所占位数 整型 字符型 实型 有 无 (signed)int 16 -32768~32767 (signed)short 16 -32768~32767 (signed)long 32 -2147483648~2147483647 16 unsigned int 0~65535 32 0~4294967295 unsigned long unsigned short 16 0~65535 有 float 32 3.4e-38~3.4e38 有 double 64 1.7e-308~1.7e308 有 char 8 -128~127 无 unsigned char 8 0~255 说明:数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例: 各种进制之间的转换(整数) 十进制转换成二进制、八进制、十六进制 方法:连续除以基,从低到高记录余数,直至商为0 例 把十进制数59转换成二进制数 59 2 29 2 14 2 7 2 3 2 1 2 0 (59)10=(111011)2 1 1 0 1 1 1 1 1 1 0 1 1 余 余 余 余 余 余 例 把十进制数159转换成八进制数 159 8 19 8 2 8 0 (159)10=(237)8 2 3 7 余 7 余 3 余 2 例 把十进制数459转换成十六进制数 459 16 28 16 1 16 0 (459)10=(1CB)16 1 C B 余11 余12 余 1 二进制与八进制之间的转换 二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制 八进制转换成二进制:用3位二进制数代替每一位八进制数 例 (1101001)2=(001,101,001)2=(151)8 例 (246)8=(010,100,110)2=2 000 ~ 0 001 ~ 1 010 ~
原创力文档


文档评论(0)