




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
教学内容:3.1数据类型3.2整型数据3.3实型数据3.4字符数据教学要求:1.掌握C语言数据类型分类。2.掌握整型数据、实型数据、字符数据使用规则。3.掌握C语言常量、变量的使用。,第3章语言数据类型,.,3.1数据类型,C语言提供的数据结构,是以数据类型形式出现的。一、数据类型分类1.基本类型整型、实型(又称浮点型)、字符型、枚举型、空类型2.构造类型数组类型、结构类型、共用类型3.指针类型C语言中的数据,有常量和变量之分,它们分别属于上述这些类型。,二、基本数据类型1.基本数据类型:整型、实型(又称浮点型)、双精度实型、字符型、无值型(空类型)。2.基本数据类型的关键字:int、float、double、char、void三、常量和变量1.常量的概念在程序运行过程中,其值不能被改变的量称为常量。,常量的类型,可通过书写形式来判别。常量的分类:表达形式:(1)整型常量6、432、76543、546783424(2)实型常量2.23、546.2487615247、3.057439+5(3)字符常量a、c、6、M(4)符号常量PI、WHI#definePI3.141592#defineWHIIamastudent.PI、WHI是符号常量,例3.1输出整型常量、字符常量的值main()printf(“%dn”,349);printf(“%dn”,-9);printf(“%Cn”,M);运行结果:349-9M,例3.2符号常量WHI的使用。#defineWHIIamastudent.main()printf(“Iamastudent.n”);printf(%sn,“Iamastudent.”);printf(%sn,WHI);运行结果:Iamastudent.Iamastudent.Iamastudent.,格式控制字符串中的普通字符,照原样输出,2.变量的概念在程序运行过程中,其值可以被改变的量称为变量。变量的三个要素:(1)变量名。每个变量都必须有一个名称。(2)变量值。在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。(3)变量的类型例如:inta;a(2个字节)变量的类型int变量名字:a变量的值:23在内存中存储单元占16位,0000000000010111,二进制数值,例3.3输出变量的数值。main()intx,y;x=5;y=3;printf(“%d-%dn”,x,y);x=1;y=2;printf(“%d-%dn”,x,y);运行结果:5-31-2,x、y是整型变量每个变量分配2个字节存储单元,将数值5、3分别存放到x、y变量的存储单元,x、y变量的值重新赋值,3.变量的定义与初始化(1)在语言中,要求对所有用到的变量,必须先定义、后使用。系统才可知道分配多大的存储空间。变量定义的一般格式:存储类型数据类型变量名,变量名2;例如:inta1,a2,a3;(2)变量初始化:在定义变量的同时进行赋初值的操作。变量初始化的一般格式:存储类型数据类型变量名=初值,变量名2=初值2;例如:floata1=2.5,a2=5.23,a3=45.43;,4.标识符命名规则语言中,用标识符来区分不同文件、函数、变量。(1)标识符有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头。(2)标识符有效长度:TCV2.0标识符的有效长度为个字符。随系统而异,但至少前个字符有效。如果超长,则超长部分被舍弃。例如student11和student12的前个字符相同,有的系统认为这两个变量,是一回事而不加区别。(3)C语言的关键字不能用作变量名。,(4)标识符命名通常应选择能表示数据含义的英文单词(或缩写)作变量名,或汉语拼音字头作变量名。通过变量名就知道变量值的含义,做到“见名知意”。例如:namexm姓名sexxb性别agenl年龄salarygz工资注意:C语言对英文字母的大小敏感,即同一字母的大小写,被认为是两个不同的字符。变量名total与变量名TOTAL、ToTaL、totAl等不是同一个变量习惯上,变量名和函数名中的英文字母用小写,以增加可读性。,3.2整型数据,一、整型变量1.整型变量分为类:(1)基本整型(int)(2)短整型(shortint)(3)长整型(longint)(4)无符号整型。无符号型又分为(3种):unsignedintunsignedshortunsignedlong,二、整型变量占用内存字节数与值域1.整型变量占用的内存字节数在16位操作系统中占用:int型变量占2个字节值域占16位short型变量占2字节值域占16位long型变量占4字节值域占32位2.不同类型的整型变量值域占用内存位数为n的整型变量其值域:有符号为:-2n-1(2n1-1)无符号为:0(2n-1),三、各种整型变量的值域范围int型变量(值域为16位):-3276832767shortint(值域为16位):-3276832767longint(值域为32位):-21474836482147483647unsignedint(值域为16位):065535Unsignedshortint(值域为16位):065535Unsignedlongint(值域为32位):04294967295,4.整型常量(整常数)三种表示形式(1)十进制例如:10、36(2)八进制(以数字0开头)例如:012(十进制10)(3)十六进制(以数字0+小写字母x开头)例如:0 x36(十进制54)5.整型常量分类(1)基本整型:其数据范围-3276832767(与int型变量一样)(2)长整型(在数值后面加字母L(小写字母l):其取值范围可达:-231(231-1)例如:32769、123L、315L等。,6.整型数据在内存中的存放,数值是以补码表示的。一个正数的补码与原码相同;一个负数的补码求法:原码的二进制形式,取反求得反码,再加1,得到负数的补码。例如:,-8的原码,0000000000001000,求反码,1111111111110111,补码,1111111111111000,例3.4输出不同进制整型常量#includemain()printf(“0 x80-%dn,0 x80);printf(“0200-%dn,0200);printf(128-%dn,128);printf(128-%on,128);运行结果:0 x80-1280200-128128-128128-200,不输出前缀数字,以数字开头,7.类型匹配规则类型匹配规则为:一个整型常量,可以赋给能容纳下其值的整型变量。例如,其值在-(-)的整型常量,可以赋给int型变量和longint型变量;其值在-(-)的整型常量,就只能赋给longint型变量。注意:常量无unsigned型。但一个非负整型常量,只要它的值不超过相应变量的值域(即取值范围),也可以赋给unsigned型变量。,3.3实型数据,1.实型常量(实数,又称浮点数)表示形式:(1)十进制形式例如:3.14、9.8(2)指数形式E(e)例如:3.02+534.42367750+7,例3.5实型常量的使用#includemain()printf(a=%fn,32.766);printf(“b=%en,1.7e+37);运行结果:a=32.766000b=1.700000e+037,2.实型变量分类(1)单精度型变量float型变量占4字节(32位)提供7位有效数字值域:(3.4e-383.4e+38)(2)双精度型变量double型变量占8个字节(64位)提供1516位有效数字值域:(1.7e-3081.7e+308),4.实型数据在内存中的存放形式。一个单精度实型数据(float)在内存中占用个字节(32位)存放数据的数值范围:(3.4e-383.4e+38)数值的有效数字7位例如数值:56783.45620.567834562e+5在内存中的浮点数存放形式:,+5+567834562,0831前8位后24位,例3.6运行以下程序,查看运行结果。,数值的有效数字7位尾数7031不是有效数值,例3.7实型变量的使用#includemain()floatx,y,z;x=42.67;y=12.3;z=x/y;printf(“z1=%fn,z);z=y/x;printf(“z2=%fn,z);程序运行结果:z1=3.469106z2=0.288259,小数点后6位,3.4字符数据,1.字符常量的定义用一对单引号括起来的单个字符称为字符常量。例如:A、7、等。2.转义字符语言还允许使用一种特殊形式的字符常量,就是以反斜杠“”开头的转义字符。nbrtf0”vdddxhh注意:如果反斜杠或单引号本身作为字符常量,必须使用转义字符:、,3.以“”开头的字符在printf函数中控制输出格式:n换行t横向跳格(下一个输出区)b退格r回车(回车不换行)f走纸换页反斜杠字符单引号ddd1到3位8进制数所代表的字符。如:101=Axhh1到2位16进制数所代表的字符。,例3.9用转义字符输出字符和不可打印字符。main()printf(“ABCtabctxyzn”);printf(“abcbxyzn”);程序运行结果如下:,4.字符变量(关键字为char)字符变量类型,占用1字节内存单元。(1)变量值的存储将一个字符常量存储到一个字符变量中,实际上是将该字符的ASCII码值(无符号整数)存储到内存单元中。(2)变量值的特性字符数据在内存中存储的是字符的ASCII码(一个无符号整数),其形式与整数的存储形式一样。,例如:charch1,ch2;/*定义变量:ch1,ch2*/ch1=a;/*给字符变量赋值*/ch2=b;字符数据a、b的ASCII码值97、98(一个无符号整数)分别存放在变量ch1,ch2所占用内存存储单元中,其形式与整数的存储形式一样。ch1ch2,97,98,(3)一个字符型数据,既可以字符形式输出,也可以整数形式输出。例3.10字符变量的字符形式输出和整数形式输出。main()charch1,ch2;ch1=a;ch2=b;printf(“ch1=%c,ch2=%cn”,ch1,ch2);printf(“ch1=%d,ch2=%dn”,ch1,ch2);程序运行结果:ch1=a,ch2=bch1=97,ch2=98,(4)允许对字符数据进行算术运算,此时就是对它们的ASCII码值进行算术运算。例3.11字符数据的算术运算。main()charch1,ch2;ch1=a;ch2=B;/*等价于ch1=97;ch2=66;*/printf(“ch1=%d”,ch1-32);/*字母的大小写转换*/printf(“ch2=%dn”,ch2+32);printf(“ch1=%c,ch2=%cn”,ch1-32,ch2+32);运行结果:ch1=65,ch2=98ch1=A,ch2=b,例3.12用字符形式输出一个大于256的数值main()charch1=a;printf(ch1+200=%dn,ch1+200);printf(ch1+200=%cn,ch1+200);printf(ch1+256=%dn,ch1+256);printf(ch1+256=%cn,ch1+256);程序运行结果:ch1+200=297ch1+200=)ch1+256=353ch1+256=a,5.字符串常量(1)字符串常量的概念和字符串长度字符串常量:是用一对双引号括起来的若干字符序列。字符串长度:字符串中字符的个数。空串:长度为0的字符串(即一个字符都没有的字符串),表示为“”(一对紧连的双引号)。例如字符串常量:“Howdoyoudo.”长度为14(空格也是一个字符)“Goodmorning.”长度为13如果反斜杠和双引号作为字符串中的有效字符,则必须使用转义字符。例C:msdosv6.22C:msdosv6.22Isay:Goodbye!Isay:Goodbye!,例3.13输出字符串常量#includemain()char*p;/*定义一个指针变量*/p=Iamastudent.;printf(%sn,p);printf(%sn,Isay:Goodbye!);运行结果:Iamastudent.Isay:Goodbye!,6.字符串的存储C语言规定:在存储字符串常量时,由系统在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届广渠门中学高三化学第一学期期末教学质量检测模拟试题含解析
- 山东省齐鲁名校2026届高一化学第一学期期中质量跟踪监视试题含解析
- 益气健脾中药对肠道菌群的调控机制
- 创意职业探索者:副业潮流面试题目与求职策略深度解析
- 细胞的衰老和死亡
- 销售内勤数据汇报
- 贪吃蛇游戏讲解
- 现在完成时的讲解
- 2026届山东省费县化学高一第一学期期末学业质量监测模拟试题含解析
- 习惯的养成汇报
- 医院综合门诊部综合管理体系建设
- 2025年中医师承出师考试题库
- uom无人机考试题库及答案2025
- 预防接种基础知识课件
- 护栏生产及安装方案(3篇)
- 污水厂培训课件
- 科协单位涉密管理制度
- 体育教师专业考试试题及答案
- 陕西省专业技术人员继续教育2025公需课《党的二十届三中全会精神解读与高质量发展》20学时题库及答案
- 应急中心组织架构
- 教练技术探索课程一阶段导师讲义
评论
0/150
提交评论