c语言数据类型.ppt

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第二讲C语言数据类型参考教材第2章P13-28教学目的1,掌握C语言的数据类型2,掌握整型、实型、字符型数据的常量表示3,掌握整型、实型、字符型数据的变量表示4,各种不同类型数据间的转换重点和难点重点:各种基本数据类型的常量和变量难点:不同类型的数据在内存中的物理存储形式数据类型基本类型整型短整型(short)整型(int)长整型(long)实型(浮点型)单精度型(float)双精度型(double)数值类型字符类型(char)枚举类型(enum)构造类型(组合类型)数组类型结构体类型(struct)共用体类型(union)指针类型空类型(void)不返回任何类型的数据2.1C的数据类型2.1C的数据类型类型类型标识符占用字节数值范围基本类型int2-32768~32767短整数short[int]2-32768~32767长整数long[int]4-2147483648~214748647无符整数unsigned[int]20~65535无符号短整数unsignedshort20~65525无符号长整数unsignedlong40~4294967295单精度实数float4±10-37~±3.4X1038(精度6~7位)双精度实数double8±10-307~±1.7X10308(精度15~16位)长双精度实数Longdouble16±10-4923~±1.2X104923(精度18~19位)TurboC数值型数据占用的存储空间及数值范围C语言中,标识符分为:关健字和用户自定义标识两类。一、关健字在C语言中的关键字,根据其功能不同可分为以下几种。2.2标识符定义数据类别:autostaticregisterextern用于语句的:ifelsecasedefaultbreakdowhileforswitchgotoreturncontinue为原有的数据类型命新名:typedef求字节数:sizeof预处理:defineincludeundefifelseendififdefifndef说明数据类型:intlongshortcharunsignedfloatdoubleenumstructunionvoidconst2.2标识符二、标识符•定义:用来标识变量、常量、函数等的字符序列•组成:–只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线–字母区分大小写–不能使用关键字•长度:最长32个字符•命名原则:–见名知意–不宜混淆如l与I,o与0例:判断下列标识符号合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3charab_above$123M.D.John3days#33char$123ab例1、可在C程序中用做用户标识符的一组标识符是()。(2007年9月全国计算机等考试原题)A、andB、DateC、HiD、case例2、以下()是不合法的标识符。A、abc.cB、fileC、MianD、prontf例3、在C程序中,APH和aph代表不同的变量。»习惯上,符合常量用大写字母表示»定义符合常量时,不能以“;”结束»一个#define占一行,且要从第一列开始书写»一个源程序文件中可含有多个#define命令,不同的#define命令指定的“标识符”不能相同–直接常量:»整型常量»实型常量»字符常量»字符串常量如#definePI3.14159265352.3常量•定义:程序运行时其值不能改变的量(即常数)•分类:–符号常量:用标识符代表常量»定义格式:#define符号常量常量1、整型常量(整常数)•三种形式:–十进制整数:由数字0~9和正负号表示.如123,-456,0–八进制整数:由数字0开头,后跟数字0~7表示.如0123,011–十六进制整数:由0x开头,后跟0~9,a~f,A~F表示.如0x123,0Xff例12与12L例30000为int型65536为longint型•整型常量的类型–根据其值所在范围确定其数据类型–在整常量后加字母l或L,认为它是longint型常量问题:0123=()100x123=()100Xff=()1083291255问题:0123=()100x123=()100Xff=()10例1、表达式0195是一个八进制整数。例2、08是正确的整型常量。例3、以下选项中,合法的一组C语言数值常量是()(2007年9月全国计算机等考试原题)A、028B、12.C、.177D、0x8A.5e-3OXa234c1.510,000-0xf4.5e0Oabc3.e5例4、以下选项中正确的常量是()。A、12B、-20C、1,000D、456例5、在C语言中,不正确的int类型的常数是A、32768B、0C、037D、0xAF2、实型常量(实数或浮点数)•表示形式:–十进制数形式:(必须有小数点)如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型3、字符常量•定义:用单引号括起来的单个普通字符或转义字符.•字符常量的值:该字符的ASCII码值转义字符及其含义:转义字符含义\n\v\r\a\‘\ddd\t\b\f\\\“\xhh转义字符含义换行垂直制表回车响铃单引号3位8进制数代表的字符水平制表退格换页反斜线双引号2位16进制数代表的字符如‘\101’-----------‘A’‘\012’-----------’\n’‘\376’-----------’’‘\x61’-----------’a’‘\60’-----------’0’‘\483’----------()例:‘A’-------’\101’-------’\x41’--------65如‘A’——65,‘a’——97,‘0’——48,‘\n’——10如‘a’‘A’‘?’‘\n’‘\101’•转义字符:反斜线后面跟一个字符或一个代码值表示例main(){printf(“Y\b=\n”);}运行结果:屏幕显示:=打印机输出:¥•字符常量与字符串常量不同4、字符串常量•定义:用双引号(“”)括起来的0个或者多个字符组成的序列•存储:每个字符串尾自动加一个‘\0’作为字符串结束标志hello\0例字符串“hello”在内存中aa\0例‘a’“a”例空串“”\0例:charch;ch=“A”;例:charch;ch=‘A’;如:“Clanguageprogramming”、“a\\n”、“#123”、“”等为字符串常量编译程序根据变量定义为其分配指定字节的内存单元…...地址inta=1,b=-3,c;abc2字节2字节2字节地址地址…...内存1-3随机数2.4变量•概念:在程序运行中,其值会发生变化•变量名与变量值•变量定义的一般格式:数据类型变量1[,变量2,…,变量n];•变量初始化:定义时赋初值例:inta,b,c;floatdata;决定分配字节数和数的表示范围合法标识符例:inta=2,b,c=4;floatdata=3.67;charch=‘A’;intx=1,y=1,z=1;intx=y=z=1;•变量的使用:先定义,后使用例1intstudent;stadent=19;//Undefinedsymbol‘statent’infunctionmain例2floata,b,c;c=a%b;//Illegaluseoffloatingpointinfunctionmain•变量定义位置:一般放在函数开头main(){inta,b=2;floatdata;a=1;data=(a+b)*1.2;printf(“data=%f\n”,data);}变量定义可执行语句main(){inta,b=2;a=1;floatdata;data=(a+b)*1.2;printf(“data=%f\n”,data);}2.4变量2.4.1整型变量:1.整型数据在内存中的存储形式整型数据在内存中以二进制形式存放,每一个整型变量在内存中占2个字节.例:inti,k;i=10;j=-10;i=100000000000001010正数j=-101111111111110110负数2.4变量2.整型变量的分类:基本型int短整型shortint或short长整型longint或long无符号型无符号整型unsignedint无符号长整型unsignedlong无符号短整型unsignedshort说明:无符号型变量只能存放不带符号的整数,不能存放负数一个无符号整型变量中可以存放的正数的范围比一般整型变量中正数的范围大一倍-32768∼327670∼655351111111111111111unsigned0111111111111111int一个字节符号位0正数1负数3.整型变量的定义(定义变量一般放在函数开头)inta,b;shortc,d;或shortintc,d;longe,f;或longinte,f;unsignedg,h;或unsignedintg,h;例:整型变量的定义和使用#includestdio.hmain(){inta,b,c,d;/*指定a,b,c,d为整型变量*/unsignedu;/*指定u为无符号整型变量*/a=12;b=-24;u=10;c=a+u;d=b+u;printf(a+u=%d,b+u=%d\n,c,d);}2.4变量运行结果为a+u=22,b+u=-144.整型数据的溢出例:main(){inta,b;a=32767;b=a+1;printf(%d,%d\n,a,b);}运行结果:a=32767,b=-327682.4变量一个int型变量的最大值为32767,如果再加1,其结果不是32768,而是-32768。即“溢出”0111111111111111a符号位32767b=a+11000000000000000符号位-32768b2.4变量例1、下列定义中,定义的变量可以存放–123.4。A.longaB.unsignedbC.intdD.floatc例2、以下关于long、int和short类型数据占用内存大小的叙述中正确的是()(2007年9月全国计算机等考试原题)A、均占4个字节B、根据数据的大小来决定所占内存的字节数C、由用户自己定义D、由C语言编译系统决定2.4.2实型变量1.实型数据在内存中的存放形式.314159+1数符小数部分指数+.314159×103.141591例:实数3.14159在内存中的存放形式示意:2.4变量一个实型数据一般在内存中占4个字节(32位)。实型数据是按照指数形式存储的。2.4.2实型变量2.实型变量的分类实型变量分为单精度(float型)、双精度(double型)和长双精度型(longdouble型)类型位数有效数字数值范围float326~7-3.4×1038~3.4×1038double6415~16-1.7×10308~1.7×10308longdouble12818~19-1.2×104932~1.2×1049322.4变量1、字符变量的定义字符型变量用来存放字符常量,注意只能放一个字符,不要以为在一个字符变量中可以放一个字符串(包括若干字符)。字符变量的定义形式如下:charc1,c2;它表示c1和c2为字符型变量,各可以放一个字符,因此可以用下面语句对c1、c2赋值:c1=‘a’;c2=‘b’;2.4.3字符型变量:2.4变量2、字符数据在内容中的存储形式及其使用方法(1)一般以一个字节来存放一个字符,或者说一个字符变量在内存中占一个字节。(2)将一个字符常量放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的相应的ASCII代码放到存储单元中。2.4变量例如:字符‘a’的ASCII

1 / 31
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功