- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言数据的存储讲解材料.ppt
第二章 数据的存储与运算;2.0 预备知识
计算机中数的表示及进制转换
数码、基与权
数码:表示数的符号
基:数码的个数
权:每一位所具有的值
数制;数制;各种进制之间的转换
二进制、八进制、十六进制转换成十进制
方法:按权相加;各种进制之间的转换(整数)
二进制、八进制、十六进制转换成十进制
方法:按权相加;二进制与八进制之间的转换
二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制
八进制转换成二进制:用3位二进制数代替每一位八进制数;二进制与十六进制之间的转换
二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制
十六进制转换成二进制:用4位二进制数代替每一位十六进制数;数值的表示方法——计算机不论对正数和负数都按“补码”形式存放到存储单元。
原码:最高位为符号位,其余各位为数值本身的绝对值
反码:
正数:反码与原码相同
负数:符号位为1,其余位对原码取反
补码:
正数:原码、反码、补码相同
负数:最高位为1,其余位为原码取反,再对整个数加1;;
数据类型总表;内存以字节为单元组成
一个字节一般由8个二进制位组成
每个二进位的值是0或1
以turbo c系统为例:
int a,b; 2 Byte=16 bit
Char c,d; 1 Byte= 8 bit
Float e,f; 4 Byte=32 bit
Double g,h; 8 Byte=64 bit
;整型变量的分类;01 11 11 11 11 11 11 11;整型数据类型(Turbo C系统 );整型数据运算程序举例(2-1.c)
例 鸡兔同笼。在一个笼子里同时养着一些鸡和兔,你想了解有多少只鸡和多少只兔,主人对你说:我只告诉你鸡和兔的总头数是16和总脚数是40,你能不能自己计算有多少只鸡和多少只兔?;
整型常量
实型常量
字符常量
字符串常量;一.整型常量(整常数)
三种形式:
十进制整数:由数字0~9和正负号表示.如 12,-46,
八进制整数:由数字0开头,后跟数字0~7表示.
如012,024,-010
十六进制整数:由数字0和小写字母x开头,后跟0~9, A~F(字母不区分大小写)表示.
如0x12,-0x1AB0,-0x12
不合法:018,ox10,特殊:0;二.实型常量(实数或浮点数)
有两种表示形式:
小数形式:(由数字和小数点组成,必???有小数点)
如0.25, -123.0, .5, 0.0
指数形式:(e或E之前必须有数字,之后的指数必须为整数,且不能插入空格!)
如123e3,123E3,(用字母e和E代表以10为底的指数)
错误: e-5 , 1.2E-3.5
思考:常量1如何用指数表示?;
规范化的指数形式:
在字母e或E之前的小数部分中,小数点左边
应有一位(且只能有一位)非零的数字。
如2.3478e2,3.0999E5等都属于规范化的指数形式,
而12.908e10, 0.4578E3不属于规范化的指数形式;实型数据运算程序举例(2-6.c)
例 分期付款的计算。张先生为购房,向银行贷款,贷款额为D元,每月准备还P元,月利率为R,求需要多少个月才能还清。;;注意:转义序列实际上作为一个字符来对待,
但如果反斜线之后的字符和它不构成转义序列,
则‘\’不起转义作用,将被忽略。;字符常量与字符串常量不同;五.符号常量:用标识符代表常量
定义格式: #define 符号常量 常量
; 2.2变 量
标识符
定义:用来标识变量、符号常量、数组,函数等的字符序列
组成:
只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线
大小写敏感
不能使用关键字
长度:最长32个字符
命名原则:
见名知意
不宜混淆 如l与L, o与0;编译程序根据变量定义为其
分配指定字节的内存单元;一.整型变量
int a,b;;;[例]大小写字母的转换(2-2.c);例 (2-3.c)
#define PRICE 12.5
main()
{ int num=3;
float total;
char ch1,ch2=‘D’;
total=num*PRICE;
ch1=ch2-‘A’+‘a’;
printf(“total=%f,ch1=%c\n”,total,ch1);
}
文档评论(0)