专升本C语言课件C02数据类型.ppt

上传人:max****ui 文档编号:11501464 上传时间:2020-04-26 格式:PPT 页数:26 大小:241.16KB
返回 下载 相关 举报
专升本C语言课件C02数据类型.ppt_第1页
第1页 / 共26页
专升本C语言课件C02数据类型.ppt_第2页
第2页 / 共26页
专升本C语言课件C02数据类型.ppt_第3页
第3页 / 共26页
点击查看更多>>
资源描述
C程序设计二、数据类型,二、数据类型2.1数据类型基本类型整型短整型short整型int长整型long实型单精度型float双精度型double字符型char枚举类型enum构造类型数组结构体struct共用体union指针类型空类型void,二、数据类型2.1数据类型2.2各种类型数据的存储空间,下面这个C程序可以测试各种数据类型的存储空间main()printf(short:%dn,sizeof(short);printf(int:%dn,sizeof(int);printf(long:%dn,sizeof(long);printf(float:%dn,sizeof(float);printf(double:%dn,sizeof(double);printf(char:%dn,sizeof(char);,short:1int:2long:4float:4double:8char:1,二、数据类型2.1数据类型2.2各种类型数据的存储空间short:2int:2long:4float:4double:8char:1数的范围:按10位二进制1000近似估算。int的范围:065535-3276832767,说明下面的语句是否正确:inta=80000;intb=-32700;,二、数据类型2.1数据类型2.2各种类型数据的存储空间short:2int:2long:4float:4double:8char:1数的范围:按10位二进制1000近似估算。int的范围:065535-3276832767,长整型的范围比整型的范围大16倍吗?double与float相比区别是什么?,大2的16次方,精度高很多,二、数据类型2.1数据类型2.2各种类型数据的存储空间2.3常量1)各种类型的常量表示整型常量:十进制,如2545,-98八进制,以数字0开头,如025十六进制,以0 x或0X开头,如0 xf9A,以下哪个数最大?890730 x5a,0 x5a,二、数据类型2.1数据类型2.2各种类型数据的存储空间2.3常量1)各种类型的常量表示整型常量:十进制,如2545,-98八进制,以数字0开头,如025十六进制,以0 x或0X开头,如0 xf9A长整型常量:后加l或L,如-12l,-0 xaeL,065645545L,注意12和12L的区别:12:000000000000110012L:00000000000000000000000000001100,二、数据类型2.1数据类型2.2各种类型数据的存储空间2.3常量1)各种类型的常量表示整型常量:十进制,如2545,-98八进制,以数字0开头,如025十六进制,以0 x或0X开头,如0 xf9A长整型常量:整型常量后加l或L,如-12l,-0 xaeL,065645545L实型常量:不分单双精度,全部是双精度,不能用八进制和十六进制表示。如34.5,.345,345.,1e2,1.5e-6,以下常量错在什么地方?0950a92b3.56L3.4e1.25.e,八进制不会有9八进制不会有a十进制不会有b实型常量不带LE后面必须是整数E后面必须有数,二、数据类型2.1数据类型2.2各种类型数据的存储空间2.3常量1)各种类型的常量表示2)有符号整数与无符号整数有符号数signedinta;等同于inta;,有符号整数最高位(最左边一位)表示数的符号,0为正,1为负。有符号整型的范围是-215215-1一个有符号长整型的范围是-231231-1,二、数据类型2.1数据类型2.2各种类型数据的存储空间2.3常量1)各种类型的常量表示2)有符号整数与无符号整数有符号整数signedinta;无符号整数unsignedinta;,无符号整数则不留符号位,所有的位都表示大小,因此一个无符号整型的范围是0216-1一个无符号长整型的范围是0232-1,二、数据类型2.1数据类型2.2各种类型数据的存储空间2.3常量1)各种类型的常量表示2)有符号整数与无符号整数3)字符常量字符常量:字符用单引号,如e,9字符在计算机中以ASCII码表示,如A存储为01000001,即65,r存储为01110010,即114因此字符就相当于整数。,已知字符u的ASCII码值为117,以下程序输出什么?main()charx=u;inty;y=x-5;printf(%d,%c,y,y);,输出112,p,二、数据类型2.1数据类型2.2各种类型数据的存储空间2.3常量1)各种类型的常量表示2)有符号整数与无符号整数3)字符常量字符常量:字符用单引号,如e,9字符在计算机中以ASCII码表示,如A存储为01000001,即65,r存储为01110010,即114因此字符就相当于整数。,是不是整数65与字符A就没有区别呢?,有:A存储为01000001,65存储为0000000001000001,二、数据类型2.1数据类型2.2各种类型数据的存储空间2.3常量1)各种类型的常量表示2)有符号整数与无符号整数3)字符常量转义字符:遇到时不是直接作为字符,而是要跟后面的字符连起来一起作为一个字符。对于大多数字符,如a与a一样。但有些字符不一样,如n与n,几个需要记住的特殊字符:换行:n横行跳格:t回车:r:,二、数据类型2.1数据类型2.2各种类型数据的存储空间2.3常量1)各种类型的常量表示2)有符号整数与无符号整数3)字符常量任意一个字符还可以表示如下:dddddd是一个13位的8进制数xhhhh是一个12位的十六进制数空字符:ASCII码值为0的字符,记为0,如U,U,125,x55完全等效。,下面哪些是合法的字符常量,哪些是不合法的字符常量?/upxg35693xa,二、数据类型2.1数据类型2.2各种类型数据的存储空间2.3常量1)各种类型的常量表示2)有符号整数与无符号整数3)字符常量4)字符串常数用双引号括起来的0至多个字符序列字符串存储时系统自动在末尾加空字符0字符串的长度:字符串中的字符个数,不包括空字符。,字符串的存储:0w:w0iam:iam0字符串iam的长度为4,二、数据类型2.1数据类型2.2各种类型数据的存储空间2.3常量1)各种类型的常量表示2)有符号整数与无符号整数3)字符常量4)字符串常数用双引号括起来的0至多个字符序列字符串存储时系统自动在末尾加空字符0字符串的长度:字符串中的字符个数,不包括空字符。,求字符串nyu76r的长度,长度为6,二、数据类型2.1数据类型2.2各种类型数据的存储空间2.3常量1)各种类型的常量表示2)有符号整数与无符号整数3)字符常量4)字符串常数用双引号括起来的0至多个字符序列字符串存储时系统自动在末尾加空字符0字符串的长度:字符串中的字符个数,不包括空字符。,以下语句输出什么?printf(%d,sizeof(nk);,输出3,二、数据类型2.1数据类型2.2各种类型数据的存储空间2.3常量1)各种类型的常量表示2)有符号整数与无符号整数3)字符常量4)字符串常数用双引号括起来的0至多个字符序列字符串存储时系统自动在末尾加空字符0字符串的长度:字符串中的字符个数,不包括空字符。,例:找出下列常量哪些是错误的kp0kppkon,kpkon,二、数据类型2.1数据类型2.2各种类型数据的存储空间2.3常量1)各种类型的常量表示2)有符号整数与无符号整数3)字符常量4)字符串常数5)符号常量以下是用一个符号来代表常量的两种形式:constintabc=-62;#defineyu12.632这里abc,yu都是常量,不是变量,以下程序段有什么问题?constintx=7;x+;printf(%d,x);,x是常量,不能自加,二、数据类型2.4数据类型转换1)数据类型按以下顺序级别提升:char,short,int,long,float,double2)int转为long时,高位加0,值保持不变。long转为int时,截去高位。3)实数转为整数时,舍去小数部分。整数转为实型数时,小数为0。double转为float时,四舍五入。,例:以下运算数据如何进行转换?char型+int型double型+long型long型+float型double型+short型char型+short型,intdoublefloatdoubleshort,二、数据类型2.4数据类型转换1)数据类型按以下顺序级别提升:char,short,long,float,double2)int转为long时,高位加0,值保持不变。long转为int时,截去高位。3)实数转为整数时,舍去小数部分。整数转为实型数时,小数为0。double转为float时,四舍五入。,例:进行如下语句后,各变量的值是多少?inta,b;longx,y;floatu,v;doubles,t;a=0 x12345678L;x=0 x78;u=6.123456789;s=6.123;b=-6.698;v=8;,0 x56780 x786.1234576.123-68.0,二、数据类型2.4数据类型转换4)运算符两端数据类型不一时,低级别转为高级别,然后运算。5)实型数运算时全部转为double型6)如果赋值时类型不符,右边表达式的值算出以后,要转化为左边变量的类型,再赋值给左边的变量。7)输出时如果类型不符,要将表达式的值按输出格式转换。(不可靠),例:以下各表达式的值是多少?2.3-3/22.3-3./22-3/22-3./2,1.30.810.5,二、数据类型2.4数据类型转换4)运算符两端数据类型不一时,低级别转为高级别,然后运算。5)实型数运算时全部转为double型6)如果赋值时类型不符,右边表达式的值算出以后,要转化为左边变量的类型,再赋值给左边的变量。7)输出时如果类型不符,要将表达式的值按输出格式转换。(不可靠),例:程序输出什么?main()inta;floatb;a=5.6;b=a/2;a=a/b+b/3;b=(a+b)/2;printf(a=%d,b=%f,a,b);,52.032.5,二、数据类型2.4数据类型转换4)运算符两端数据类型不一时,低级别转为高级别,然后运算。5)实型数运算时全部转为double型6)如果赋值时类型不符,右边表达式的值算出以后,要转化为左边变量的类型,再赋值给左边的变量。7)输出时如果类型不符,要将表达式的值按输出格式转换。(不可靠),例:程序输出什么?printf(a=%d,123456L);输出a=-7616注意printf(%d,5.28);输出-31457(turboc)原因是直接将内存中的浮点格式的数以整数读出printf(%d,(int)5.28);输出5这里进行了数据类型转换。,二、数据类型2.4数据类型转换强制类型转换(类型)值,例:y,z各是多少?inty,z;y=8-6.87;z=8-(int)6.87;,12,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!