




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二讲 C语言数据类型 参考教材第2章P13-28 教学目的 1,掌握C语言的数据类型 2,掌握整型、实型、字符型数据的常量表示 3,掌握整型、实型、字符型数据的变量表示 4,各种不同类型数据间的转换 重点和难点 重点: 各种基本数据类型的常量和变量 难点: 不同类型的数据在内存中的物理存储形式 数 据 类 型 基本类型 整型 短整型 (short) 整型 ( int ) 长整型 (long) 实型(浮点型) 单精度型 ( float ) 双精度型 (double) 数值类型 字符类型 ( char ) 枚举类型 ( enum ) 构造类型 (组合类型) 数组类型 结构体类型 (struct) 共用体类型 (union) 指针类型 空类型 (void)不返回任何类型的数据 2.1 C的数据类型 2.1 C的数据类型 类类型类类型标识标识 符占用 字节节 数值值范围围 基本类类型int2-3276832767 短整数short int2-3276832767 长长整数long int4-2147483648214748647 无符整数unsigned int2065535 无符号短整数unsigned short2065525 无符号长长整数unsigned long404294967295 单单精度实实数float410-37 3.4X1038(精度67位) 双精度实实数double8 10-307 1.7X10308(精度1516位) 长长双精度实实 数 Long double16 10-4923 1.2X104923(精度1819位) Turbo C数值型数据占用的存储空间及数值范围 C语言中,标识符分为:关健字和用户自定义标识两类。 一、关健字 在语言中的关键字,根据其功能不同可分为以下几种。 2.2 2.2 标识符标识符 定义数据类别:auto static register extern 用于语句的: if else case default break do while for switch goto return continue 为原有的数据类型命新名:typedef 求字节数:sizeof 预处理: define include undef if else endif ifdef ifndef 说明数据类型: int long short char unsigned float double enum struct union void const 2.2 标识符 二、标识符 定义:用来标识变量、常量、函数等的字符序列 组成: 只能由字母、数字、下划线组成,且第一个字母必须是字母或下 划线 字母区分大小写 不能使用关键字 长度:最长32个字符 命名原则: 见名知意 不宜混淆 如l与I, o与0 例:判断下列标识符号合法性 sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123 M.D.John3days #33 char$123ab 例1、可在C程序中用做用户标识符的一组标识符是( )。 (2007年9月全国计算机等考试原题) A、and B、Date C、Hi D、case 例2、以下()是不合法的标识符。 A、abc.cB、fileC、MianD、prontf 例3、在 C 程序中 ,APH 和 aph 代表不同的变量。 习惯上,符合常量用大写字母表示 定义符合常量时,不能以“;”结束 一个#define占一行,且要从第一列开始书写 一个源程序文件中可含有多个#define命令,不同的#define 命令指定的“标识符”不能相同 直接常量: 整型常量 实型常量 字符常量 字符串常量 如 #define PI 3.1415926535 2.3 常量 定义:程序运行时其值不能改变的量(即常数) 分类: 符号常量:用标识符代表常量 定义格式: #define 符号常量 常量 1、整型常量(整常数) 三种形式: 十进制整数:由数字09和正负号表示.如 123,-456,0 八进制整数:由数字0开头,后跟数字07表示.如0123,011 十六进制整数:由0x开头,后跟09,af,AF表示. 如0x123,0Xff 例 12 与 12L 例 30000 为int型 65536 为long int 型 整型常量的类型 根据其值所在范围确定其数据类型 在整常量后加字母l或L,认为它是long int 型常量 问题: 0123 = ( )10 0x123 = ( )10 0Xff = ( )10 83 291 255 问题: 0123 = ( )10 0x123 = ( )10 0Xff = ( )10 例1、表达式 0195 是一个八进制整数。 例2、08是正确的整型常量。 例3、以下选项中,合法的一组C语言数值常量是()(2007 年9月全国计算机等考试原题) A、028 B、12. C、.177 D、0x8A .5e-3 OXa23 4c1.5 10,000 -0xf 4.5e0 Oabc 3.e5 例4、以下选项中正确的常量是()。 A、12B、-20C、1,000D、4 5 6 例5、在C语言中,不正确的int类型的常数是 A、32768 B、0 C、037 D、0xAF 2、实型常量(实数或浮点数) 表示形式: 十进制数形式:(必须有小数点) 如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码值 main() int a,b,c,d; * 指定a,b,c,d为整型变量 * unsigned u; * 指定为无符号整型变量* / a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%dn“,c,d); 2.4 变量 运行结果为 +=22,b+u=-14 4. 整型数据的溢出 例: main() int a,b; a=32767; b=a+1; printf(“%d,%dn“,a,b); 运行结果: a=32767,b=-32768 2.4 变量 一个int型变量的最大值为32767,如果再加1,其结果不是 32768,而是-32768。即“溢出” 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1a 符号位 32767 b=a+1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 符号位 -32768b 2.4 变量 例1、下列定义中, 定义的变量可以存放 123.4。 Along aBunsigned bCint dDfloat c 例2、以下关于long、int和short类型数据占用内存大小的叙述 中正确的是()( 2007年9月全国计算机等考试原题) A、均占4个字节 B、根据数据的大小来决定所占内存的字节数 C、由用户自己定义 D、由C语言编译系统决定 2.4.2 实型变量 1.实型数据在内存中的存放形式 .314159+1 数符 小数部分 指数 + .314159 10 3.14159 1 例:实数3.14159在内存中的存放形式示意: 2.4 变量 一个实型数据一般在内存中占4个字节(32位) 。实型数据是按照指数形式存储的。 2.4.2 实型变量 2.实型变量的分类 实型变量分为单精度(float型)、双精度(double 型)和长双精度型(long double型) 类类型位数有效数字 数值值范围围 float3267-3.41038 3.41038 double641516-1.710308 1.710308 long double1281819-1.2104932 1.2104932 2.4 变量 1、字符变量的定义 字符型变量用来存放字符常量,注意只能放一个字符,不要 以为在一个字符变量中可以放一个字符串(包括若干字符)。 字符变量的定义形式如下: char c1,c2; 它表示c1和c2为字符型变量,各可以放一个字符,因此可以用下 面语句对c1、c2赋值: c1=a; c2=b; 2.4.3 字符型变量: 2.4 变量 2、字符数据在内容中的存储形式及其使用方法 (1)一般以一个字节来存放一个字符,或者说一个字符变量在 内存中占一个字节。 (2)将一个字符常量放到一个字符变量中,实际上并不是把该 字符本身放到内存单元中去, 而是将该字符的相应的ASCII 代码放到存储单元中。 2.4 变量 例如:字符a的ASCII代码为97,b为98,在内存中实际 上是以二进制形式存放的,如下所示。 9798 0110000101100010 c1 c2 在C中,字符型数据和整型数据之间可以通用,一个字符数据既可以字 符形式输出,也可以以整数形式输出。 例: 向字符变量赋以整数 main( ) char c1 , c2 ; c1=97 ; c2=98 ; printf(“%c %c”, c1, c2) ; 输出结果: a b 2.4 变量 main( ) char c1 , c2 ; c1=a; c2=b; c1=c1-32 ; c2=c2-32 ; printf(“%c %c”, c1 , c2) ; 输出结果:A B 以字符形式输出时,将存储单元中的ASCII码转换成相应的字符,然 后输出; 以整数形式输出时,直接将ASCII码作为整数输出 也可以对字符数据进行算术运算, 此时, 相当于对它们的ASCII码进 行算术运算 说明: 1. 字符数据与整型数据可以互相赋值 int i ; char c ; i=a; /* i的值输出得到97 */ c=97 ; /* 输出C可得到字符 a*/ 2.字符数据可以以字符形式输出,也可以用整数形式输出 printf(“%c,%dn”,c,c); 输出: a , 97 printf(“%c,%dn”, i, i); 输出: a , 97 2.4 变量 C语言允许数据值从一种类型转换成另一种类型 数据类型的转换有如下三种基本形式: 同一类型但长度不同的数据间的转换 定点方式与浮点方式之间的转换 整型数中有符号格式与无符号格式之间的转换 整型、实型(float , double),字符型数据间可以混合运算,在 进行运算时,不同类型的数据要先转换成同一类型,然后进行运 算。 2.5 数据间的混合运算(P23) char ,shortint unsigned long double float
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工会知识培训
- 腹腔镜子宫切除护理配合
- 九年级化学上册 第五单元 定量研究化学反应 第二节 化学反应的表示教学设计 鲁教版
- 餐巾折花培训方案
- 2024中国航天科工集团有限公司档案馆招聘3人笔试参考题库附带答案详解
- 六年级上册心理健康教育教案-5插上创造的翅膀|辽大版
- 船舶预防火灾培训
- 动火作业安全培训课件
- 人教版历史与社会八年级上册第二单元第一课《西欧封建国家与基督教文明》 教学设计1
- 双重预防体系练习试卷附答案(一)
- 急性胰腺炎护理业务学习课件
- 《数据科学与大数据技术导论》完整版课件(全)
- 《枪炮、病菌与钢铁》-基于地理视角的历史解释(沐风学堂)
- 压电陶瓷精品课件
- 教学课件·植物组织培养
- 纸包装生产企业设备管理课件
- 部编版语文一年级下册识字8-人之初市级优质课课件
- 基于仿真的轴承动力学分析设计毕业设计说明书
- 丽声北极星分级绘本第二级下Eek,Spider 教学设计
- (高清正版)JJF 1908-2021 双金属温度计校准规范
- 测量成果验收单
评论
0/150
提交评论