ImageVerifierCode 换一换
格式:PPTX , 页数:61 ,大小:244.86KB ,
资源ID:3245975      下载积分:14 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3245975.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C语言数据类型.pptx)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C语言数据类型.pptx

1、l l 本章要点n n数据的描述规则数据的描述规则n n数据的操作规则数据的操作规则l 主要内容2.1 C2.1 C语言的数据类型语言的数据类型2.2 2.2 常量与变量常量与变量2.3 2.3 整型数据整型数据2.4 2.4 浮点型数据浮点型数据2.5 2.5 字符型数据字符型数据 2.6 2.6 各类数值型数据间的混合运算各类数值型数据间的混合运算 2.7 2.7 算术运算符和算术表达式算术运算符和算术表达式 2.8 2.8 逗号运算符和逗号表达式逗号运算符和逗号表达式为什么要有不同的数据类型为什么要有不同的数据类型例:学生信息管理例:学生信息管理姓名姓名 年龄年龄 成绩成绩张三张三 20

2、2080.580.5李四李四 212190.090.0赵五赵五 191976.676.6为什么要指定数据类型为什么要指定数据类型?1 1不同类型的数据在内存中占据不不同类型的数据在内存中占据不同长度的存储区。同长度的存储区。2 2不同类型的数据取值范围不同。不同类型的数据取值范围不同。3 3不同类型的数据有不同的操作。不同类型的数据有不同的操作。2.1 C2.1 C的数据类型的数据类型C C语言提供了以下一些数据类型。语言提供了以下一些数据类型。数据类型数据类型构造类型构造类型指针类型指针类型空类型(空类型(无值类型)无值类型)voidvoid枚举类型枚举类型枚举类型枚举类型 enumenum

3、数组类型数组类型数组类型数组类型结构类型结构类型结构类型结构类型 structstruct联合类型联合类型联合类型联合类型 unionunion基本类型基本类型整型整型整型整型 intint字符型字符型字符型字符型 charchar实型(浮点型)实型(浮点型)实型(浮点型)实型(浮点型)单精度实型单精度实型单精度实型单精度实型 floatfloat双精度实型双精度实型双精度实型双精度实型 doubledouble2.2 2.2 常量与变量常量与变量 2.2.1 2.2.1 常量常量在程序运行过程中在程序运行过程中,其值不能被改变的量称为常量其值不能被改变的量称为常量常量区分为不同的类型:常量区

4、分为不同的类型:整型整型 100100,125125,-100-100,0 0实型实型 3.14 3.14,0.1250.125,-3.789-3.789字符型字符型 a,a,bb,22说明:说明:说明:说明:符号常量符号常量为为了使用方便,可用一个符号名来代表一个常量。了使用方便,可用一个符号名来代表一个常量。例例2.1在程序中使用符号常量在程序中使用符号常量#define PRICE 30#include void main()int num,total;num=10;total=num*PRICE;printf(total=%dn,total);符号常量符号常量符号常量符号常量:用一个标

5、识符代表一个常量。符号常量的值在其作用域内不能改变,也不能再被赋值。运行结果:运行结果:total=300total=300说明:说明:说明:说明:程序中用#define命令行定义PRICE代表常量30,此后凡在本文件中出现的PRICE都代表30,可以和常量一样进行运算说明:说明:说明:说明:如再用赋值语句给PRICE赋值是错的PRICE=40;/*错误,不能给符号常量赋不能对符号常量指定类型int PRICE;/*错误,PRICE不是变量,不能指 定类型*/2.2 2.2 常量与变量常量与变量 2.2.2 2.2.2变量变量变量代表内存中具有特定属性的一个存储单元,它用来存放数据,也就是变量

6、的值,在程序运行期间,这些值是可以改变的。变量名实际上是一个以一个名字对应代表一个地址,在对程序编译连接时由编译系统给每一个变量名分配对应的内存地址。从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。2.2 2.2 常量与变量常量与变量 2.2.2 2.2.2变量变量用来标识对象名字用来标识对象名字(包括变量、函数、数组、包括变量、函数、数组、类型等类型等)的有效字符序列的有效字符序列 。C C语言中,有语言中,有3 3类标识符:关键字、系统预定类标识符:关键字、系统预定义的标识符、用户标识符。义的标识符、用户标识符。变量的名字必须符合变量的名字必须符合C C语言对标

7、识符的规定。语言对标识符的规定。C C语言语言规定标识符只能由字母、数字和下划线规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或三种字符组成,且第一个字符必须为字母或下划线。下划线。2.2 2.2 常量与变量常量与变量 变量命名的规定:变量的名字必须符合C语言对标示符得规定 例:例:sum,_total,month,Student_name,lotus_1_2_3,BASIC,li_ling M.D.John,¥123,3D64,ab 2.2 2.2 常量与变量常量与变量注意:注意:编译系统将大写字母和小写字母认为是两编译系统将大写字母和小写字母认为是两个不同的字符。个

8、不同的字符。建议变量名的长度最好不要超过建议变量名的长度最好不要超过8 8个字符。个字符。在选择变量名和其它标识符时,应注意做在选择变量名和其它标识符时,应注意做到到“见名知意见名知意”,即选有含意的英文单词,即选有含意的英文单词 (或其缩写)作标识符。(或其缩写)作标识符。要求对所有用到的变量作强制定义,也就要求对所有用到的变量作强制定义,也就是是“先定义,后使用先定义,后使用”。2.3 2.3 整型数据整型数据2.3.1 2.3.1 整型常量的表示形式整型常量的表示形式 整型常量即整常数。在语言中,整常数可用以下三种形式表示:(1)十进制整数。如:如:123,-456,4。(2)八进制整数

9、以0头的数是八进制数。如:如:0123表示八进制数123,等于十进制数83,-011表示八进制数-11,即十进制数-9。2.3 2.3 整型数据整型数据2.3.1 2.3.1 整型常量的表示形式整型常量的表示形式(3)十六进制整数。以0 x开头的数是16进制数。如:如:0 x123,代表16进制数123,等于十进制数 291。-0 x12等于十进制数10。2.3.2 2.3.2整型变量整型变量整型变量用来存放整型常量。整型变量的基整型变量用来存放整型常量。整型变量的基本类型符为本类型符为 intint。C C语言中有以下语言中有以下3 3类整型变量类整型变量 :基本整型,短:基本整型,短整型

10、长整型。整型,长整型。2.3 2.3 整型数据整型数据 2.3.2整型变量注意:注意:ANSI CANSI C标准没有具体规定以上各类数据标准没有具体规定以上各类数据所占内存的字节数而是由各计算机系统自行所占内存的字节数而是由各计算机系统自行决定。决定。Turbo CTurbo C中,中,intint型和型和shortshort型数据都是型数据都是2 2个字节,即个字节,即1616个二进制位。个二进制位。longlong型数据是型数据是4 4个字节,个字节,3232位。而位。而VC+VC+则给则给shortshort型数据分型数据分配配2 2个字节,个字节,1616位,位,intint和和l

11、onglong型数据都是型数据都是4 4个字节,个字节,3232位。位。2.3 2.3 整型数据整型数据 2.3.2整型变量 一般情况下,存储整数时存储单元中的第一个二进位用来代表数值符号,而在实际应用中,变量的值常常是正的,所以存储单元全部用来存储数值本身,此定义无符号整数。所以归纳起来,在C语言中,可以定义和使用6种整型变量。共六种共六种有符号基本整型有符号基本整型有符号短整型有符号短整型有符号长整型有符号长整型无符号基本整型无符号基本整型无符号短整型无符号短整型无符号长整型无符号长整型(signed)int(signed)short(int)(signed)long(int)unsign

12、ed intunsigned short(int)unsigned long(int)注意:注意:括号表示其中的内容是可选的括号表示其中的内容是可选的.2.3 2.3 整型数据整型数据 2.3.2整型变量整数类型的有关数据:类型类型类型类型 类型说明符类型说明符类型说明符类型说明符 长度长度长度长度 数的范围数的范围数的范围数的范围 基本型基本型基本型基本型 intintintint 4 4 4 4字节字节字节字节 -2-2-2-2313131312 2 2 231313131-1-1-1-1 短整型短整型短整型短整型 short 2short 2short 2short 2字节字节字节字节

13、2-2-2-2151515152 2 2 215151515-1-1-1-1 长整型长整型长整型长整型 long long long long 4 4 4 4字节字节字节字节 -2-2-2-2313131312 2 2 231313131-1-1-1-1 无符号整型无符号整型无符号整型无符号整型 unsigned int 4unsigned int 4unsigned int 4unsigned int 4字节字节字节字节 0 0 0 02 2 2 232323232-1-1-1-1 无符号短整型无符号短整型无符号短整型无符号短整型 unsigned short unsigned short

14、 unsigned short unsigned short 2 2 2 2字节字节字节字节 0 0 0 02 2 2 216161616-1(65535)-1(65535)-1(65535)-1(65535)无符号长整型无符号长整型无符号长整型无符号长整型 unsigned long unsigned long unsigned long unsigned long 4 4 4 4字节字节字节字节 0 0 0 02 2 2 232323232-1-1-1-1例例2.2 整型变量的定义与使用整型变量的定义与使用#include void main()int a,b,c,d;/*指定a、b、c、

15、d为整型变量*unsigned u;/*指定u为无符号整型变量*a=12;b=-24;u=10;c=a+u;d=b+u;printf(a+u=%d,b+u=%dn,c,d):说明:说明:说明:说明:可以看到不同种类的整型数据可以进行算术运算 运行结果:运行结果:a+u=22,b+u=-14a+u=22,b+u=-14 2.3 2.3 整型数据整型数据 2.3.3整型数据在内存中的存放形式 数据在内存中以二进制形式存放。数据在内存中以二进制形式存放。如如:int i;/*int i;/*定义为整型变量定义为整型变量*/i=10;/*i=10;/*给给i i赋以整数赋以整数10*/10*/i i

16、a)(b)0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0102.3 2.3 整型数据整型数据 2.3.3整型数据在内存中的存放形式实际上,数值是以补码表示的。一个正整实际上,数值是以补码表示的。一个正整数的补码和该数的原码相同。负数的补码数的补码和该数的原码相同。负数的补码是:将该数的绝对值的二进制形式,按位是:将该数的绝对值的二进制形式,按位取反再加取反再加1 1。10的原码的原码 (a)取反取反 (b)得得-10的补码的补码 (c)0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 01 1 11 1 1 1 1 1 1 1 1 0 10 11 1 1 1 1 1

17、 1 1 1 1 1 1 0 1 1 0例例2.3 整型数据的溢出整型数据的溢出(TC环境环境)#include void main()int a,b;a=32767;b=a+1;printf(%d,%dn,a,b);说明:说明:说明:说明:数值是以补码表示的。一个整型变量只能容纳-3276832767范围内的数,无法表示大于32767或小于-32768的数。遇此情况就发生“溢出”。运行结果:运行结果:32767,-3276832767,-327682.3 2.3 整型数据整型数据 2.3.4 整型数据的溢出 如果系统给一个整型变量分配2个字节,则变量的最大允许值为32767,若超出最大值就出

18、现溢出现象。例例2.3 整型数据的溢出整型数据的溢出(VC环境环境)#include void main()Sum=2147483647;printf(%dn,Sum);Sum=Sum+1;printf(%dn,Sum);Sum=4294967295;printf(%dn,Sum);运行结果:运行结果:2147483647,2147483647,-2147483648,-2147483648,-1-12.3 2.3 整型数据整型数据 2.3.5 2.3.5 整型常量的类型整型常量的类型 整型变量的分类规则:(1)一个整数,如果其值在-32768+32767范围内,认为它是int型,它可以赋值给

19、int型和long int型变量。(2)一个整数,如果其值超过了上述范围,而在-2147483637+2147483647范围内,则认为它是为长整型。可以将它赋值给一个long int型变量。2.3 2.3 整型数据整型数据 2.3.5 2.3.5 整型常量的类型整型常量的类型(3)在一个整常量后面加一个字母l或L,则认为是long int型常量,例如123l、432L、0L等,这往往用于函数调用中。如果函数的形参为long int型,则要求实参也为long int型。(4)一个整常量后面加一个字母u或U,认为是unsigned int型,如12345u在内存中按unsigned int规定的

20、方式存放(存储单元中最高位不作为符号位,而用来存储数据)。2.4 2.4 浮点型数据浮点型数据 2.4.12.4.1浮点型常量的表示形式浮点型常量的表示形式两种表两种表示形式示形式十进制小数十进制小数指数指数0.1230.1233 3e-3e-3注意注意:字母e(或E)之前必须有数字,且e后面的指数必须为整数1e31e3、1.8e-31.8e-3、-123e-6-123e-6、-.1e-3-.1e-3e3e3、2.1e3.52.1e3.5、.e3.e3、e e 2.4 2.4 浮点型数据浮点型数据 2.4.1 2.4.1 浮点型常量的表示形式浮点型常量的表示形式 规范化的指数形式:规范化的指数

21、形式:在字母e(或E)之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数字.例如例如:123.456可以表示为:123.456e0,12.3456e1,1.23456e2,0.123456e3,0.0123456e4,0.00123456e 其中的1.23456e31.23456e3称为“规范化的指数形式”。类型类型 位数位数 数的范围数的范围 有效数字有效数字float float 32 32 10 10-38-38 101038 38 6 6 7 7 位位doubledouble型型 6464 10 10-308-308 1010308308 15 15 1616位位long d

22、ouble 128 10long double 128 10-4932-4932 10104932 4932 1818 1919位位2.4 2.4 浮点型数据浮点型数据 2.4.2 2.4.2 浮点型变量浮点型变量 1)浮点型变量分为单精度(float型)、双精度(double型)和长双精度型(long double)三类形式。2.4 2.4 浮点型数据浮点型数据 2.4.2 2.4.2 浮点型变量浮点型变量 2)浮点型数据在内存中的存放形式:一个浮点型数据一般在内存中占4个字节(32位)。与整型数据的存储方式不同,浮点型数据是按照指数形式存储的。系统把一个浮点型数据分成小数部分和指数部分,分

23、别存放。指数部分采用规范化的指数形式。456576.37+.45657637 63)浮点型数据的舍入误差)浮点型数据的舍入误差:由于浮点型变量是由有限的存储单由于浮点型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的。在有效位元组成的,因此能提供的有效数字总是有限的。在有效位以外的数字将被舍去。由此可能会产生一些误差以外的数字将被舍去。由此可能会产生一些误差例例2.4 2.4 浮点型数据的舍入误差浮点型数据的舍入误差#include void main()float a,b;a=123456.789e5;b=a+20;printf(%fn,b);(此例有问题,把此例有问题,把此例有

24、问题,把此例有问题,把e5e5e5e5改为改为改为改为e15e15e15e15,见下页,见下页,见下页,见下页)说明:说明:说明:说明:一个浮点型变量只能保证的有效数字是7位有效数字,后面的数字是无意义的,并不准确地表示该数。应当避免将一个很大的数和一个很小的数直接相加或相减,否则就会“丢失”小的数。运行结果:运行结果:123456.789e5123456.789e52.4 2.4 浮点型数据浮点型数据 2.4.2 2.4.2 浮点型变量浮点型变量例例2.4 2.4 浮点型数据的舍入误差浮点型数据的舍入误差#include#include void main()void main()float

25、 a,b;float a,b;a=123456.789e15;a=123456.789e15;printf(%fn,a);printf(%fn,a);b=a+20;b=a+20;printf(%fn,b);printf(%fn,b);2.4 2.4 浮点型数据浮点型数据2.4.3 2.4.3 浮点型常量的类型浮点型常量的类型 C编译系统将浮点型常量作为双精度来处理。例如例如:f=2.45678*4523.65 系统先把2.45678和4523.65作为双精度数,然后进行相乘的运算,得到的乘也是一个双精度数。如果把一个浮点型常量赋给一个单精度变量f系统给出警告,警告不影响连接和运行最后结果但只取

26、其结果前7位赋给浮点型变量f。如是在数的后面加字母f或F(如1.65f,654.87F),编译系统就会把它们按单精度处理。2.5 2.5 字符型数据字符型数据 2.5.1 2.5.1 字符常量字符常量(1)用单引号包含的一个字符是字符型常量(2)只能包含一个字符a,A,a,A,11abcabc、“a a”2.5.1 字符常量 有些以有些以“”开头的特殊字符称为转义字符开头的特殊字符称为转义字符含 义 ASCII代码 n new,换行,将当前位置移到下一行开头 10t tab,水平制表(跳到下一个Tab位置)9b backspace,退格,将当前位置移到前一列 8r return,回车,将当前位

27、置移到本行开头 13f 换页,将当前位置移到下页开头 12a 发出铃声 7 代表一个反斜杠字符“”92 代表一个单撇号字符 39 代表一个双撇号字符34ddd 1到3位八进制数所代表的字符xhh 1到2位十六进制数所代表的字符 例例2.5 转义字符的使用转义字符的使用#include void main()printf(ab ct derrftgn);printf(htibbj kn);打印机上的显示结果:打印机上的显示结果:fab c gdefab c gde h jik h jik显示屏上显示屏上的运行结果:的运行结果:f gdef gde h j k h j k2.5 2.5 字符型数据

28、字符型数据 2.5.22.5.2字符变量字符变量字符型变量用来存放字符常量,注意只能放一个字符。字符变量的定义形式如下:char c1,c2;在本函数中可以用下面语句对c1,c2赋值:c1a;c2 b;一个字符变量在内存中占一个字节。2.5 2.5 字符型数据字符型数据 2.5.3 2.5.3 字符数据在内存中的存储形式及其使用方法字符数据在内存中的存储形式及其使用方法一个字符常量存放到一个字符变量中,实际上并一个字符常量存放到一个字符变量中,实际上并不是把该字符的字型放到内存中去,而是将该字不是把该字符的字型放到内存中去,而是将该字符的相应的符的相应的ASCIIASCII代码放到存储单元中。

29、这样使代码放到存储单元中。这样使字符型数据和整型数据之间可以通用。字符型数据和整型数据之间可以通用。注意注意:一个字符数据既可以以字符形式输出一个字符数据既可以以字符形式输出,也可以以整数形式输出也可以以整数形式输出.以字符形式输出以字符形式输出时时,系统先将存储单元中的系统先将存储单元中的ASCIIASCII码转换成码转换成相应字符,然后输出。以整数形式输出时,相应字符,然后输出。以整数形式输出时,直接将直接将ASCIIASCII码作为整数输出。也可以对码作为整数输出。也可以对字符数据进行算术运算,此时相当于对它字符数据进行算术运算,此时相当于对它们的们的ASCIIASCII码进行算术运算。

30、码进行算术运算。例例2.6 2.6 向字符变量赋予整数。向字符变量赋予整数。#include void main()char c1,c2;c1=97;c2=98;printf(%c%cn,c1,c2);printf(%d%dn,c1,c2);说明:说明:说明:说明:在第4和第5行中,将整数97和98分别赋给c1和c2,它的作用相当于以下两个赋值语句:c1a;c2b;因为a和b的ASCII码为97和98运行结果:运行结果:a ba b 97 98 97 98例例2.7 2.7 大小写字母的转换大小写字母的转换#include void main()char c1,c2;c1=a;c2=b;c1=

31、c1-32;c2=c2-32;printf(%c%c,c1,c2);说明:说明:说明:说明:程序的作用是将两个小写字母a和b转换成大写字母A和B。从ASCII代码表中可以看到每一个小写字母比它相应的大写字母的ASCII码大32。C语言允许字符数据与整数直接进行算术运算。运行结果:运行结果:a ba b 2.5 2.5 字符型数据字符型数据 2.5.3 2.5.3 字符数据在内存中的存储形式及其使用方法字符数据在内存中的存储形式及其使用方法说明:说明:有些系统(如Turbo C,VC+)将字符变量定义为signed char型。其存储单元中的最高位作为符号位,它的取值范围是-128127。如果在

32、字符变量中存放一个ASCII码为0127间的字符,由于字节中最高位为0,因此用%d输出字符变量时,输出的是一个正整数。如果在字符变量中存放一个ASCII码为128255间的字符,由于在字节中最高位为1,用%d格式符输出时,就会得到一个负整数。#include#include void main()void main()charchar c1;/c1;/改为改为shortshort类型,如何?类型,如何?c1=255;c1=255;printf(%dn,c1);printf(%dn,c1);#include#include void main()void main()shortshort c1;

33、/c1;/改为改为intint类型,如何?类型,如何?c1=32728;c1=32728;printf(%dn,c1);printf(%dn,c1);#include#include void main()void main()intint c1;/c1;/改为改为shortshort类型,如何?类型,如何?c1=65536;c1=65536;printf(%dn,c1);printf(%dn,c1);2.5 2.5 字符型数据字符型数据 2.5.4 2.5.4 字符串常量字符串常量字符串常量是一对双撇号括起来的字符序列.合法的字符串常量:“How do you do.”,“CHINA”,“a

34、123.45”可以输出一个字符串,如printf(“How do you do.”);2.5 2.5 字符型数据字符型数据 2.5.4 字符串常量 a是字符常量,“a”是字符串常量,二者不同。如:如:假设被指定为字符变量:char c c=a;“a”;c“CHINA”;结论:结论:不能把一个字符串常量赋给一个字符变量。规定:在每一个字符串常量的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。规定以字符0作为字符串结束标志。如:如:如果有一个字符串常量”hina”,实际上在内存中是:CHINA0 它占内存单元不是5个字符,而是6个字符,最后一个字符为0。但在输出时不输出0。

35、2.5 2.5 字符型数据字符型数据 2.5.4 字符串常量2.6 2.6 各类数值型数据间的混合运算各类数值型数据间的混合运算 混合运算:整型(包括int,short,long)、浮点型(包括float,double)可以混合运算。在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算.说明:这种类型转换是由系统自动进行的。数据表示的差异性:数据表示的差异性:数据表示的差异性:数据表示的差异性:#include#include main()main()float Total;float Total;Total=1/3;Total=1/3;printf(Total=%fnn,Total)

36、printf(Total=%fnn,Total);#include#include main()main()float Total;float Total;Total=1./3;Total=1./3;printf(Total=%fnn,Total);printf(Total=%fnn,Total);数据表示的差异性:数据表示的差异性:2.7 2.7 算术运算符和算术表达式算术运算符和算术表达式 2.7.1 运算符和C算术表达式简介 1.1.语言语言的运算符有以下几类:的运算符有以下几类:算术运算符(+-*/%)关系运算符(!)逻辑运算符(!&|)位运算符 (|)赋值运算符(及其扩展赋值运算符

37、条件运算符(?:)逗号运算符 (,)2.7 2.7 算术运算符和算术表达式算术运算符和算术表达式 2.7.1 C语言运算符和C算术表达式简介(8)指针运算符(*和)(9)求字节数运算符(sizeof)(10)强制类型转换运算符((类型))(11)分量运算符(-)(12)下标运算符()(13)其他(如函数调用运算符()2.7 2.7 算术运算符和算术表达式算术运算符和算术表达式 2.7.1 C语言运算符和C算术表达式简介2.C语言的表达式有以下几类:语言的表达式有以下几类:(1)算术表达式:如2+6.7*3.5+sin(0.5)(2)关系表达式:如x0,y0&y0(表示x0与y0同时成立,&是

38、逻辑运算符,代表“与”)(4)赋值表达式:如a=5.6(5)逗号表达式:如a=3,y=4,z=8 2.7 2.7 算术运算符和算术表达式算术运算符和算术表达式 2.7.2 算术运算符和算术表达式 1.1.基本的算术运算符基本的算术运算符:+(加法运算符,或正值运算符。如:3+5、+3)(减法运算符,或负值运算符。如:52、3)*(乘法运算符。如:3*5)(除法运算符。两个整数相除的结果为整数两个整数相除的结果为整数,如:53结果为1)(模运算符,或称求余运算符,两侧均应为整型 数据,如:4的值为3)。2.7 2.7 算术运算符和算术表达式算术运算符和算术表达式 2.7.2 算术运算符和算术表达

39、式 2.2.算术表达式和运算符的优先级与结合性算术表达式和运算符的优先级与结合性 用算术运算符和括号将运算对象(也称操作数)连接起来的、符合语法规则的式子,称为算术表达式算术表达式。运算对象包括常量、变量、函数等。例如例如:a*b/c1.5+a 是一个合法的表达式 2.7.2 算术运算符和算术表达式语言规定了运算符的优先级和结合性。在表达式求值时,先按运算符的优先级别高低次序执行,例如先乘除后加减。规定了各种运算符的结合方向(结合性)算术运算符的结合方向为“自左至右”,即先左后右。2.7 2.7 算术运算符和算术表达式算术运算符和算术表达式2.7 2.7 算术运算符和算术表达式算术运算符和算术

40、表达式 2.7.2 算术运算符和算术表达式 3.3.强制类型转换运算符强制类型转换运算符 可以利用强制类型转换运算符将一个表达式转换成所需类型。一般形式:(类型名)(表达式)说明:表达式应该用括号括起来。在强制类型转换时,得到一个所需类型的中间变量,原来变量的类型未发生变化。例例2.8 强制类型转换。强制类型转换。#include void main()float x,y;int i;x=3.6;i=x;y=(int)x;printf(x=%f,y=%f,i=%dn,x,y,i);说明:说明:说明:说明:有两种类型转换,一种是在运算时不必用户指定,系统自动进行的类型转换,如3+6.5。第二种是

41、强制类型转换。当自动类型转换不能实现目的时,可以用强制类型转换。运行结果:运行结果:x3.600000,i=32.7 2.7 算术运算符和算术表达式算术运算符和算术表达式 2.7.2 2.7.2 算术运算符和算术表达式算术运算符和算术表达式 4.4.自增、自减运算符自增、自减运算符 作用是使变量的值增1或减1如如:+i,-i(在使用i之前,使i的值加(减)1)i+,i-(在使用i之后,使i的值加(减)1)2.7 2.7 算术运算符和算术表达式算术运算符和算术表达式 2.7.2 2.7.2 算术运算符和算术表达式算术运算符和算术表达式i+i+与与+i+i的区别:的区别:+i是先执行ii+1后,再

42、使用i的值;i+是先使用i的值后,再执行ii+1。例如:例如:j+i;(i=i+1,j=i)i的值先变成4,再赋给j,j的值为4 ji+;(j=i,i=i+1)先将i的值3赋给j,j的值为3,然后i变为42.7 2.7 算术运算符和算术表达式算术运算符和算术表达式 2.7.2 2.7.2 算术运算符和算术表达式算术运算符和算术表达式注意:注意:(1)自增运算符(+),自减运算符(-),只能用于变量,而不能用于常量或表达式。(2)+和-的结合方向是“自右至左”。(3)自增(减)运算符常用于循环语句中使循环变 量自动加1。也用于指针变量,使指针指向下一个地址。(4)使用+和-时,为避免二义性,最好

43、采取大家都能理解的写法,可以加一些“不必要”的括号,如(i+)+j。2.8 2.8 逗号运算符和逗号表达式逗号运算符和逗号表达式逗号运算符逗号运算符:将两个表达式连接起来,又称为“顺序求值运算符”。如:如:3+5,6+8 一般形式一般形式:表达式表达式1,表达式,表达式2求解过程:求解过程:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。逗号表达式 的值为142.8 2.8 逗号运算符和逗号表达式逗号运算符和逗号表达式例:例:逗号表达式a3*5,a*4 分析分析:赋值运算符的优先级别高于逗号运算符,因此应先求解a3*5。a的值为15,然后求解a*4,得60。整个逗号表达式的值

44、为60。一个逗号表达式又可以与另一个表达式组一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式。成一个新的逗号表达式。如如:(a3*5,a*4),a+5 先计算出a的值等于15,再进行a*4的运算得60(但a值未变,仍为15),再进行a+5得20,即整个表达式的值为20。2.8 2.8 逗号运算符和逗号表达式逗号运算符和逗号表达式 逗号表达式的一般形式可以扩展为 表达式表达式1,表达式,表达式2,表达式,表达式3,表达式,表达式n 它的值为表达式n的值。逗号运算符是所有运算符中级别最低的例例:x=(a=3,6*3)x=a=3,6*3赋值表达式,将一个逗号表达式的值赋给x,x的值等于18 逗号表达式,包括一个赋值表达式和一个算术表达式,x的值为3,整个逗号表达式的值为18。2.8 2.8 逗号运算符和逗号表达式逗号运算符和逗号表达式注意注意:并不是任何地方出现的逗号都是作为逗号运算符。例如函数参数也是用逗号来间隔的。如如:printf(%d,%d,%d,a,b,c);“a,b,”并不是一个逗号表达式,它是printf函数的3个参数printf(%d,%d,%d,(a,b,c),b,c)“(a,b,)”是一个逗号表达式,它的值等于的值。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服