欢迎来到咨信网! | 成为共赢成为共赢 咨信网助力知识提升 | 自信网络旗下运营:咨信网 自信AI创作助手 自信AI导航
咨信网
全部分类
  • 包罗万象   教育专区 >
  • 品牌综合   考试专区 >
  • 管理财经   行业资料 >
  • 环境建筑   通信科技 >
  • 法律文献   文学艺术 >
  • 学术论文   百科休闲 >
  • 应用文书   研究报告 >
  • ImageVerifierCode 换一换
    首页 咨信网 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    C语言数据类型.ppt

    • 资源ID:802848       资源大小:2.77MB        全文页数:62页
    • 资源格式: PPT        下载积分:11金币
    微信登录下载
    验证码下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    二维码
    微信扫一扫登录
    下载资源需要11金币
    邮箱/手机:
    验证码: 获取验证码
    温馨提示:
    支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    C语言数据类型.ppt

    1、第二章 数据类型运算符 和 表达式第二章 数据类型、运算符和表达式内容提要内容提要 数据类型数据类型常量与变量常量与变量运算符与表达式运算符与表达式2.1 数据类型数据类型总表数据类型总表双精度型双精度型双精度型双精度型 doubledouble单精度型单精度型单精度型单精度型 floatfloat短整型短整型短整型短整型 shortshortC C C C数数数数据据据据类类类类型型型型基本类型基本类型基本类型基本类型指针类型指针类型指针类型指针类型空类型空类型空类型空类型 voidvoid字符类型字符类型字符类型字符类型 charchar整整整整 型型型型实型实型实型实型聚合类型聚合类型聚

    2、合类型聚合类型枚举类型枚举类型枚举类型枚举类型 enumenum数组数组数组数组结构体结构体结构体结构体 structstruct共用体共用体共用体共用体 unionunion长整型长整型长整型长整型 longlong整型整型整型整型 intint数据类型决定:数据类型决定:数据类型决定:数据类型决定:1.1.数据占内存字节数数据占内存字节数数据占内存字节数数据占内存字节数2.2.数据取值范围数据取值范围数据取值范围数据取值范围3.3.其上可进行的操作其上可进行的操作其上可进行的操作其上可进行的操作类型类型类型类型 符号符号符号符号关键字关键字关键字关键字数的表示范围数的表示范围数的表示范围数

    3、的表示范围所占位数所占位数所占位数所占位数整整型型字字符符型型实实型型有有无无(signed)(signed)intint16-3276832767(signed)(signed)shortshort1616-3276832767-3276832767(signed)long32-214748364821474836471616unsignedunsigned intint06553065535 532320429496729504294967295unsignedunsigned longlongunsignedunsigned shortshort1616065535065535有有flo

    4、atfloat323.4e-383.4e38有有有有doubledouble64641.7e-3081.7e3081.7e-3081.7e308有有有有charchar8 8-128127-128127无无无无unsigned charunsigned char8 802550255说明:数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例。基本数据类型基本数据类型基本数据类型基本数据类型2.1 数据类型2.2 常量与变量数据是程序的处理对象数据是程序的处理对象C C语言将数据分为常量与变量语言将数据分为常量与变量2.2.1 2.2.1 2.2.1 2.2.1 常量常量常量常量1.

    5、1.1.1.常量的定义及分类常量的定义及分类常量的定义及分类常量的定义及分类定义:程序运行的过程中,其值不能改变定义:程序运行的过程中,其值不能改变定义:程序运行的过程中,其值不能改变定义:程序运行的过程中,其值不能改变 的量。的量。的量。的量。分类分类分类分类:整型常量整型常量整型常量整型常量 实型常量实型常量实型常量实型常量 字符常量字符常量字符常量字符常量 字符串常量字符串常量字符串常量字符串常量 符号常量符号常量符号常量符号常量2.2 常量与变量2.2.2.2.整型常量(既整常数)整型常量(既整常数)整型常量(既整常数)整型常量(既整常数)三种形式:三种形式:三种形式:三种形式:十进制

    6、整数:由数字十进制整数:由数字十进制整数:由数字十进制整数:由数字09090909和正负号表示和正负号表示和正负号表示和正负号表示.如如如如 123,-456,0123,-456,0123,-456,0123,-456,0八进制整数:由数字八进制整数:由数字八进制整数:由数字八进制整数:由数字0 0 0 0开头开头开头开头,后跟数字后跟数字后跟数字后跟数字07070707表示表示表示表示.如如如如0123,0110123,0110123,0110123,011十六进制整数:由十六进制整数:由十六进制整数:由十六进制整数:由0 x0 x0 x0 x开头开头开头开头,后跟后跟后跟后跟09,af,A

    7、F09,af,AF09,af,AF09,af,AF表表表表示示示示.如如如如0 x123,0Xff0 x123,0Xff0 x123,0Xff0 x123,0Xff 转换成十进制数的方法:转换成十进制数的方法:0123 =1x82+2x81+3x80=(83 )100 x123=1x162+2x161+3x160=(291)100Xff =15x161+15x160=(255 )102.2 常量与变量整型常量的说明整型常量的说明(1)(1)(1)(1)空白字符不可以出现在整数数字之间空白字符不可以出现在整数数字之间 (2)(2)(2)(2)根据其值所在范围确定其数据类型根据其值所在范围确定其数

    8、据类型(3)3)3)3)在在整常量后加字母整常量后加字母l l或或L L,认为它是认为它是 long int long int 型常量型常量例如例如 30000 为为int型型 65536 为为long int 型型 79L、012L 为为long int 型型2.2 常量与变量 3.3.3.3.实型常量实型常量实型常量实型常量实常数或浮点数,是一个十进制表示的符号实数实常数或浮点数,是一个十进制表示的符号实数实常数或浮点数,是一个十进制表示的符号实数实常数或浮点数,是一个十进制表示的符号实数表示形式:表示形式:表示形式:表示形式:十进制小数形式十进制小数形式十进制小数形式十进制小数形式 di

    9、gits.digits digits.digits digits.digits digits.digits 如如如如0.123,.123,123.0,0.123,.123,123.0,0.123,.123,123.0,0.123,.123,123.0,0.0,123.0.0,123.0.0,123.0.0,123.指数形式(包括整数部分、尾数部分和指数部指数形式(包括整数部分、尾数部分和指数部指数形式(包括整数部分、尾数部分和指数部指数形式(包括整数部分、尾数部分和指数部分分分分 )digits.digits E|e+|-digitsdigits.digits E|e+|-digitsdigi

    10、ts.digits E|e+|-digitsdigits.digits E|e+|-digits 小数点之前是整数部分,小数点之后是尾数部小数点之前是整数部分,小数点之后是尾数部小数点之前是整数部分,小数点之后是尾数部小数点之前是整数部分,小数点之后是尾数部分,小数点在没有尾数时可省略。分,小数点在没有尾数时可省略。分,小数点在没有尾数时可省略。分,小数点在没有尾数时可省略。如如如如12.312.312.312.3e3,123E2e3,123E2e3,123E2e3,123E22.2 常量与变量实型常量的说明实型常量的说明(1)(1)实型常量采用十进制小数形式表示时,必须有实型常量采用十进制小

    11、数形式表示时,必须有 小数点。例如小数点。例如:123.:123.是实型常量,而是实型常量,而123123是整型是整型 常量常量(2)(2)采用指数形式表示时,在采用指数形式表示时,在E E或或e e之前必须要有数之前必须要有数 字,且之后的指数必须为整数。例如:字,且之后的指数必须为整数。例如:E6E6、.e6.e6、e e 等都是不合法的等都是不合法的(3)(3)实型常量的整数部分为实型常量的整数部分为0 0时可以省略,如下形式时可以省略,如下形式 是允许的:是允许的:.57,.0075e2,-.125,-.175E-2.57,.0075e2,-.125,-.175E-2(4)(4)所有的

    12、实型常量均被看作是双精度类型所有的实型常量均被看作是双精度类型(doubledouble)2.2 常量与变量4.4.4.4.字符常量字符常量字符常量字符常量定义定义定义定义:用单引号括起来的单个普通字符或用单引号括起来的单个普通字符或用单引号括起来的单个普通字符或用单引号括起来的单个普通字符或转义字符转义字符转义字符转义字符。分为一般字符常量和特殊字符常量分为一般字符常量和特殊字符常量分为一般字符常量和特殊字符常量分为一般字符常量和特殊字符常量一般字符常量:一般字符常量:一般字符常量:一般字符常量:如如如如 a a a a、9 9 9 9、!等。单引号只起定等。单引号只起定等。单引号只起定等。

    13、单引号只起定界作用并不表示字符本身,中间的字符可以界作用并不表示字符本身,中间的字符可以界作用并不表示字符本身,中间的字符可以界作用并不表示字符本身,中间的字符可以是除单引号(是除单引号(是除单引号(是除单引号()和反斜杠()和反斜杠()和反斜杠()和反斜杠()以外的数)以外的数)以外的数)以外的数字、字母等字、字母等字、字母等字、字母等C C C C语言字符集中包含的所有可显语言字符集中包含的所有可显语言字符集中包含的所有可显语言字符集中包含的所有可显示字符。示字符。示字符。示字符。特殊字符常量(也叫转义字符)特殊字符常量(也叫转义字符)特殊字符常量(也叫转义字符)特殊字符常量(也叫转义字符

    14、)是是是是C C C C语言中表示字符的一种特殊形式,其含语言中表示字符的一种特殊形式,其含语言中表示字符的一种特殊形式,其含语言中表示字符的一种特殊形式,其含义为将反斜杠(义为将反斜杠(义为将反斜杠(义为将反斜杠()后面的字符转换成另外)后面的字符转换成另外)后面的字符转换成另外)后面的字符转换成另外的意义。的意义。的意义。的意义。2.2 常量与变量字符常量的字符常量的值值:该字符的:该字符的ASCIIASCII码码值值如如如如 A A A A65656565,a a a a97979797,0 0 0 048,48,48,48,nnnn10101010 转义字符及其含义:b _above$

    15、123M.D.John3days#33char$123ab2.2 常量与变量 在在在在C C C C语言中,允许将程序中的常量定义为一语言中,允许将程序中的常量定义为一语言中,允许将程序中的常量定义为一语言中,允许将程序中的常量定义为一个标识符,称为符号常量。在使用符号常量前个标识符,称为符号常量。在使用符号常量前个标识符,称为符号常量。在使用符号常量前个标识符,称为符号常量。在使用符号常量前必须先加以定义,一般情况下,符号常量使用必须先加以定义,一般情况下,符号常量使用必须先加以定义,一般情况下,符号常量使用必须先加以定义,一般情况下,符号常量使用大写英文字母表示。大写英文字母表示。大写英文

    16、字母表示。大写英文字母表示。其定义的一般形式为:其定义的一般形式为:#define#define 例如:例如:#define PRICE 35#define PRICE 352.2 常量与变量2.2.2 变量变量概念:其值可以改变的量概念:其值可以改变的量变量名变量名与与变量值变量值变量定义的一般格式:变量定义的一般格式:数据类型数据类型 变量变量11,变量,变量2 2,变量,变量n;n;变量初始化变量初始化:定义时赋初值定义时赋初值变量的使用:变量的使用:先定义,后使用先定义,后使用变量值变量值3a变量名变量名存储单元存储单元决定分配字节数和数的表示范围合法标识符例例:int a,b,c;f

    17、loat data;例例:int a=2,b,c=4;float data=3.67;char ch=A;int x=1,y=1,z=1;int x=y=z=1;main()int a,b=2;float data;a=1;data=(a+b)*1.2;printf(“data=%fn”,data);变量定义main()int a,b=2;a=1;float data;data=(a+b)*1.2;printf(“data=%fn”,data);2.2 常量与变量编译程序根据变量定义为其编译程序根据变量定义为其分配指定字节的内存单元分配指定字节的内存单元.地址地址int a=1,b=-3,c;

    18、abc2字节字节2字节字节2字节字节地址地址地址地址.内存内存1-3随机数随机数变量定义位置:变量定义位置:一般一般放在函数开头放在函数开头2.2 常量与变量 与常量类似,变量也有不同的类型,与常量类似,变量也有不同的类型,一般可以分为以下三种类型:一般可以分为以下三种类型:整型变量整型变量 实型变量实型变量 字符变量字符变量2.2 常量与变量1.1.1.1.整型变量整型变量整型变量整型变量 (1 1 1 1)整型变量的分类整型变量的分类整型变量的分类整型变量的分类 基本型基本型基本型基本型 短整型短整型短整型短整型 长整型长整型长整型长整型 无符号整型无符号整型无符号整型无符号整型基本型基本

    19、型:类型说明符为int,在内存中占2个字节。短整型:短整型:类型说明符为short int或short,所占字节和取值范围均与基本型相同。长整型:长整型:类型说明符为long int或long,在内存中占4个字节。无符号整型:类型说明符为unsigned。.无符号基本型:类型说明符为 unsigned int或 unsigned。.无符号短整型:类型说明符为unsigned short。.无符号长整型:类型说明符为unsigned long。2.2 常量与变量例例2-1 2-1 整型变量的使用整型变量的使用#include#include int main()int main()int x,y

    20、,z;int x,y,z;x=10;y=20;x=10;y=20;z=x+y;z=x+y;printf(printf(“x+y=%dnx+y=%dn”,z);,z);return 0;return 0;输出结果:输出结果:x+y=30 x+y=30(2 2 2 2)整型变量的定义与使用)整型变量的定义与使用)整型变量的定义与使用)整型变量的定义与使用2.2 常量与变量int x;int x;x=10;x=10;则变量则变量x x的值的值1010在内存中的存放形式:在内存中的存放形式:int x;int x;x=-10;x=-10;则变量则变量x x的值的值1010在内存中的存放形式:在内存中的

    21、存放形式:(3 3 3 3)整型数据在内存中的存放形式)整型数据在内存中的存放形式)整型数据在内存中的存放形式)整型数据在内存中的存放形式2.2 常量与变量例例2-2 2-2 整型数据的溢出问题整型数据的溢出问题#include#include int main()int main()int x,y;int x,y;x=32767;x=32767;y=x+1;y=x+1;printf(%d,%dn,x,y);printf(%d,%dn,x,y);return 0;return 0;运行结果:运行结果:-32768-32768原因:一个原因:一个intint型变量只能容纳型变量只能容纳-3276

    22、8-32768到到3276732767范范 围内的数,无法表示超过这个范围的数。围内的数,无法表示超过这个范围的数。(4 4 4 4)整型数据的溢出)整型数据的溢出)整型数据的溢出)整型数据的溢出2.2 常量与变量2.2.2.2.实型变量实型变量实型变量实型变量 (1)(1)(1)(1)实型变量的分类实型变量的分类实型变量的分类实型变量的分类单精度实型:类型说明符为单精度实型:类型说明符为单精度实型:类型说明符为单精度实型:类型说明符为floatfloatfloatfloat,在内存中,在内存中,在内存中,在内存中占占占占4 4 4 4个字节,提供个字节,提供个字节,提供个字节,提供7 7 7

    23、 7位有效数字。位有效数字。位有效数字。位有效数字。双精度实型:类型说明符为双精度实型:类型说明符为双精度实型:类型说明符为双精度实型:类型说明符为doubledoubledoubledouble,在内存,在内存,在内存,在内存中占中占中占中占8 8 8 8个字节,提供个字节,提供个字节,提供个字节,提供1 5 1 61 5 1 61 5 1 61 5 1 6位有效数字。位有效数字。位有效数字。位有效数字。例例 float a;a=111111.111;/*a=111111.1*/double b;b=111111.111;/*b=111111.111*/2.2 常量与变量例例2-32-3实型

    24、变量的使用实型变量的使用#include#includeint main()int main()float x,y,z;float x,y,z;x=10;x=10;y=20;y=20;z=x+y;z=x+y;printf(printf(“x+y=%fnx+y=%fn”,z);,z);return 0;return 0;运行结果:运行结果:x+y=30.000000 x+y=30.000000(2 2 2 2)实型变量的定义与使用)实型变量的定义与使用)实型变量的定义与使用)实型变量的定义与使用2.2 常量与变量例例 a=a=D D;/*a=68;*/;/*a=68;*/x=x=A A+5;/*

    25、x=65+5;*/+5;/*x=65+5;*/s=s=!+G G /*s=33+71;*/*s=33+71;*/l l字符变量存放字符字符变量存放字符字符变量存放字符字符变量存放字符ASCIIASCIIASCIIASCII码码码码l lcharcharcharchar与与与与intintintint数据间可进行算术运算数据间可进行算术运算数据间可进行算术运算数据间可进行算术运算没有字符串变量,用字符数组存放(3 3 3 3)字符变量)字符变量)字符变量)字符变量2.2 常量与变量#include#include int main()int main()char c1,c2;/*char c1,

    26、c2;/*定义定义定义定义c1c1,c2c2为字符型变量为字符型变量为字符型变量为字符型变量*/c1=97;c2=98;/*c1=97;c2=98;/*将整数将整数将整数将整数9797和和和和9898分别赋给分别赋给分别赋给分别赋给c1c1和和和和c2 c2*/*/printf(”%c,%cn”,c1,c2);/*printf(”%c,%cn”,c1,c2);/*以字符形式输出以字符形式输出以字符形式输出以字符形式输出c1c1和和和和c2*/c2*/printf(”%d,%d”,c1,c2);/*printf(”%d,%d”,c1,c2);/*输出输出输出输出c1c1和和和和c2c2的的的的A

    27、SCIIASCII码值码值码值码值 */printf(”%d”,c1+c2);printf(”%d”,c1+c2);return 0;return 0;运行结果如下:运行结果如下:运行结果如下:运行结果如下:a,ba,b97,9897,98 2.2 常量与变量例例#define PRICE 12.5 main()int num=3;float total;char ch1,ch2=D;total=num*PRICE;ch1=ch2-A+a;printf(“total=%f,ch1=%cn”,total,ch1);宏定义变量定义输出结果运行结果:total=37.500000,ch1=d(4 4

    28、 4 4)变量的初始化)变量的初始化)变量的初始化)变量的初始化2.2 常量与变量C运运算算符符算术运算符:(算术运算符:(算术运算符:(算术运算符:(+-*/%+-+-*/%+-+-*/%+-+-*/%+-)关系运算符:(关系运算符:(关系运算符:(关系运算符:(=!=!=!=!=)逻辑运算符:(!逻辑运算符:(!逻辑运算符:(!逻辑运算符:(!&|&|&|&|)位运算符位运算符位运算符位运算符 :(:(:(:(|&|&|&|&)赋值运算符:(赋值运算符:(赋值运算符:(赋值运算符:(=及其扩展)及其扩展)及其扩展)及其扩展)条件运算符:(条件运算符:(条件运算符:(条件运算符:(?:?:?

    29、:?:)逗号运算符:(逗号运算符:(逗号运算符:(逗号运算符:(,)指针运算符:(指针运算符:(指针运算符:(指针运算符:(*&)求字节数求字节数求字节数求字节数 :(:(:(:(sizeofsizeofsizeofsizeof)强制类型转换:(类型)强制类型转换:(类型)强制类型转换:(类型)强制类型转换:(类型)分量运算符:(分量运算符:(分量运算符:(分量运算符:(.-.-.-.-)下标运算符:(下标运算符:(下标运算符:(下标运算符:()其它其它其它其它 :(:(:(:(()-()-()-()-)运算符的分类运算符的分类 2.3 运算符与表达式定义:定义:由常量、变量、函数、运算符和括

    30、号由常量、变量、函数、运算符和括号组合起来的、符合组合起来的、符合C C语法规则的式子称为表达式。语法规则的式子称为表达式。一个表达式有一个值以及其对应的类型一个表达式有一个值以及其对应的类型表达式求值首先进行优先级高的运算再进行表达式求值首先进行优先级高的运算再进行优先级低的运算,然后对于优先级相同的运算按优先级低的运算,然后对于优先级相同的运算按结合方向进行运算。结合方向进行运算。结合方向:左结合、右结合结合方向:左结合、右结合例如:例如:x-y+z(x-y)+z x=y=zx=(y=z)2.3 运算符与表达式2.3.12.3.1算术运算符及算术表达式算术运算符及算术表达式1.1.1.1.

    31、基本算术运算符:基本算术运算符:基本算术运算符:基本算术运算符:+-*/%+-*/%+-*/%+-*/%结合方向:从左向右结合方向:从左向右结合方向:从左向右结合方向:从左向右优先级:(高)优先级:(高)优先级:(高)优先级:(高)-*/%-+-*/%-+-*/%-+-*/%-+-说明:说明:说明:说明:“-”可为可为可为可为单目单目单目单目运算符时运算符时运算符时运算符时,右结合性右结合性右结合性右结合性两整数相除,结果为整数,如果两整数两整数相除,结果为整数,如果两整数两整数相除,结果为整数,如果两整数两整数相除,结果为整数,如果两整数中有一个是负数,舍入规则为中有一个是负数,舍入规则为中

    32、有一个是负数,舍入规则为中有一个是负数,舍入规则为“向零取向零取向零取向零取整整整整”如果运算的两个数中有一个是实型,则如果运算的两个数中有一个是实型,则如果运算的两个数中有一个是实型,则如果运算的两个数中有一个是实型,则结果为结果为结果为结果为doubledoubledoubledouble型型型型%要求两侧均为整型数据要求两侧均为整型数据要求两侧均为整型数据要求两侧均为整型数据例例5/2 =2 -5/2.0=-2.55%2 =1 -5%2 =-11%10=15%1 =05.5%2 ()2.3 运算符与表达式#include#include int main()int main()print

    33、f(”10-9/6*5=printf(”10-9/6*5=%d”,10 9/6*5);%d”,10 9/6*5);return 0;return 0;运行结果如下:运行结果如下:运行结果如下:运行结果如下:10-9/6*5=510-9/6*5=5#include#includemain()main()int x=5,y;int x=5,y;y=+x;y=+x;printf(%dn,y);printf(%dn,y);输出结果输出结果输出结果输出结果:6 6例例2-5 计算表达式计算表达式10-9/6*5 2.3 运算符与表达式例例2-6 2-6 计算表达式计算表达式10-3.0/210-3.0/

    34、2的值的值#include#include int main()int main()printf(printf(”10-3.0/2=%f10-3.0/2=%f”,10-3.0/2);,10-3.0/2);运行结果如下:运行结果如下:10-3.0/2=8.50000010-3.0/2=8.500000 2.3 运算符与表达式2.2.算术表达式算术表达式 定义:用算术运算符和括号将运算对象连接起来定义:用算术运算符和括号将运算对象连接起来的、符合的、符合C C语法规则的式子称为算术表达式。其语法规则的式子称为算术表达式。其中的运算对象包括常量、变量、函数等。中的运算对象包括常量、变量、函数等。例如

    35、:例如:x+yx+y、(x*2)/y(x*2)/y、sin(x)sin(x)sin(y)sin(y)等都是算等都是算术表达式。术表达式。doublefloatlongunsignedintchar,short高高高高低低 2.3 运算符与表达式(1)(x+y)h2(2)s(s-a)(s-b)(s-c)(3)(x+1)2+(y-1)2在在C C语言中,其合法的算术表达式如下:语言中,其合法的算术表达式如下:(1)(x+y)*h/2.0(2)s*(s-a)*(s-b)*(s-c)(3)(x+1)*(x+1)+(y-1)*(y-1)例例例例2-7 2-7 写出下列数学表达式对应的合法的写出下列数学表

    36、达式对应的合法的写出下列数学表达式对应的合法的写出下列数学表达式对应的合法的C C算术算术算术算术 表达式表达式表达式表达式 2.3 运算符与表达式种类:l =!=l 结合方向:自左向右 l 优先级别:l 关系运算符优先级低于算术运算符优先级优先级6(高)(高)优先级优先级7(低)(低)=!=2.3.2 2.3.2 2.3.2 2.3.2 关系运算符及关系表达式关系运算符及关系表达式关系运算符及关系表达式关系运算符及关系表达式1.1.1.1.关系运算符关系运算符关系运算符关系运算符例:例:例:例:ca+b ca+b 等价于等价于等价于等价于 c(a+b)c(a+b)ab!=c (ab)!=c

    37、ab!=c (ab)!=c a=bc a=(bc)a=bc a=(bc a=(bc)a=bc a=(bc)2.3 运算符与表达式关系运算结果:关系运算结果:1 1(真)和(真)和 0 0(假)(假)例例2-8 2-8 计算下列关系表达式的值计算下列关系表达式的值(1)1010(2)10=10(3)1010!=10(4)3*8-9!=5+7%3 2.3 运算符与表达式2.2.关系表达式关系表达式 关系表达式的值关系表达式的值:是逻辑值是逻辑值“真真(True)(True)”或或“假假(False)(False)”,用,用1 1或或0 0表示表示关系表达式例子关系表达式例子 int a=3,b=2

    38、,c=1,d,f;int a=3,b=2,c=1,d,f;ab ab (ab)=c (ab)=c b+ca b+cb d=ab f=abc f=abc/表达式值表达式值1/表达式值表达式值1/表达式值表达式值0/d=1/f=0例例 若若a=0;b=0.5;x=0.3;则则 a=x0 结果为结果为 A100 结果为结果为10 2.3 运算符与表达式种类:种类:!&|逻辑运算真值表逻辑运算真值表优先级优先级 !(高!(高 2)&(11)|(低(低 12)ab!a!ba&b a|b真真假假真真假假假假假假真真真真真真假假假假假假假假假假真真真真假假假假真真真真真真假假真真真真2.3.3逻辑运算符及逻

    39、辑表达式逻辑运算符及逻辑表达式 1.逻辑运算符逻辑运算符 2.3 运算符与表达式例例 a=x&xb&xy a=b|x=y !a|ab/(a=x)&(xb)&(xy)/(a=b)|(x=y)/(!a)|(ab)例2-9 假设x=10,y=20,分析下列逻辑表达式。(1)!x(2)x&y(3)!x|y(4)!x+5|10%y=x-10y【例例2-102-10】写出满足要求的合法的写出满足要求的合法的C C逻辑逻辑 表达式。表达式。(1)x(1)x表达表达0 0到到9 9的字符的字符(2)x(2)x 和和y y都大于都大于0 0(3)x(3)x是偶数并且是偶数并且x100 x100 2.3 运算符与

    40、表达式位运算是指进行二进制位的运算例如:将一个存储单元中的各二进制位左移、右移,两个数按位相加等。说明说明(1)(1)位运算符中除位运算符中除 -以外,均为二目(元)以外,均为二目(元)运算符,即要求两侧各有一个运算量。运算符,即要求两侧各有一个运算量。(2)(2)运算量只能是整型或字符型的数据,不能运算量只能是整型或字符型的数据,不能为实型数据。为实型数据。附:位运算符附:位运算符附:位运算符附:位运算符运算符运算符含义含义运算符运算符含义含义按位与按位与取反取反按位或按位或右移右移 2.3 运算符与表达式 位运算中的位运算中的“&”、“|”和和“-”的真的真值表与逻辑运算等价,唯一不同的是

    41、位运值表与逻辑运算等价,唯一不同的是位运算是逐位进行运算的。算是逐位进行运算的。(异或位运算符)的真值表:(异或位运算符)的真值表:abab000101110011 2.3 运算符与表达式 定义定义 :用逻辑运算符:用逻辑运算符 短路特性短路特性:逻辑表达式求解时,并非所有的:逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该逻辑运算符才能求出表达式的解时,才执行该运算符。运算符。例例 a&b&c /只在只在a为真时,才判别为真时,才判别b的值;的值;只在只在a、b都为真时,才判别都为真时,才判别

    42、 c的值的值例例 a|b|c /只在只在a为假时,才判别为假时,才判别b的值;的值;只在只在a、b都为假时,才判别都为假时,才判别 c的值的值例例 a=1;b=2;c=3;d=4;m=1;n=1;(m=ab)&(n=cd)/结果结果 m=0,n=12.2.逻辑表达式逻辑表达式 2.3 运算符与表达式1.1.赋值运算符赋值运算符 赋值符号赋值符号“”就是赋值运算符,它的就是赋值运算符,它的作用是将一个数据赋给一个变量。作用是将一个数据赋给一个变量。例例2-11 2-11 假设变量假设变量x x为整型,计算下为整型,计算下列赋值表达式的值。列赋值表达式的值。(1)x=y=10(1)x=y=10(2

    43、)x=10+(y=20)(2)x=10+(y=20)(3)x=10+(y=20)/(z=30)(3)x=10+(y=20)/(z=30)2.3.4 2.3.4 赋值运算符及赋值表达式赋值运算符及赋值表达式 2.3 运算符与表达式如果赋值运算符两侧的数据类型不一致,但都是如果赋值运算符两侧的数据类型不一致,但都是数值型或字符型时,系统要进行类型转换。数值型或字符型时,系统要进行类型转换。将将浮浮点点型型数数据据(包包括括单单、双双精精度度)赋赋给给整整型型变变量时,舍弃浮点数的小数部分。量时,舍弃浮点数的小数部分。如如:为为整整型型变变量量,执执行行“i=3.56i=3.56;”的的结结果果是是

    44、使的值为,以整数形式存储在整型变量中。使的值为,以整数形式存储在整型变量中。将整型数据赋给单、双精度变量时,数值不变,将整型数据赋给单、双精度变量时,数值不变,但以浮点数形式存储到变量中,即用但以浮点数形式存储到变量中,即用0 0补足有效补足有效数字位。数字位。如:如:i i为为floatfloat型变量,执行型变量,执行“i=3i=3;”的结果的结果i=3.000000i=3.000000,以单精度浮点数形式存储到,以单精度浮点数形式存储到i i中。中。赋值运算符类型转换赋值运算符类型转换 2.3 运算符与表达式将一个将一个doubledouble型数据赋给型数据赋给floatfloat变量

    45、时,截取变量时,截取其前面其前面7 7位有效数字,存放到位有效数字,存放到floatfloat变量的存储单变量的存储单元(元(4 4个字节)中。但应注意数值范围不能溢出。个字节)中。但应注意数值范围不能溢出。如果将一个如果将一个floatfloat型数据赋给型数据赋给doubledouble变量时,数值变量时,数值不变,有效位数扩展到不变,有效位数扩展到1616位,在内存中以位,在内存中以8 8个字节个字节存储。存储。2.3 运算符与表达式字符型数据赋给整型变量时,由于字符只占字符型数据赋给整型变量时,由于字符只占1 1个字节,而整型变量为个字节,因此将字符个字节,而整型变量为个字节,因此将字

    46、符数据(个二进位)放到整型变量存储单元的数据(个二进位)放到整型变量存储单元的低位中。低位中。第一种情况第一种情况:如果字符型为无符号的字符型,如果字符型为无符号的字符型,则将字符的位放到整型变量低位,高位则将字符的位放到整型变量低位,高位补零。补零。第二种情况第二种情况:如果字符型为带符号的,则将如果字符型为带符号的,则将字符的位放到整型变量低位,高位补符字符的位放到整型变量低位,高位补符号位,即(符号扩展)。号位,即(符号扩展)。若字符最高位为若字符最高位为0 0,则,则整型变量高整型变量高8 8位补位补0 0;若字符最高位为;若字符最高位为1 1,则高,则高8 8位全补位全补1 1。2.

    47、3 运算符与表达式将一个将一个intint、shortshort、longlong型数据赋给一型数据赋给一charchar型变量,只将其低型变量,只将其低8 8位原封不动地送到位原封不动地送到charchar型变量型变量(即截断)。(即截断)。将带符号的整型数据(将带符号的整型数据(intint型)赋给型)赋给longlong型变型变量时,要进行符号扩展,将整型数的量时,要进行符号扩展,将整型数的1616位送到位送到longlong型低型低1616位中;反之,若将一个位中;反之,若将一个longlong型数据赋型数据赋给一个给一个intint型变量,只将型变量,只将longlong型数据中低型

    48、数据中低1616位原封位原封不动地送到整型变量(即截断)。不动地送到整型变量(即截断)。2.3 运算符与表达式将将unsigned intunsigned int型数据赋给型数据赋给long intlong int型变量时,型变量时,不存在符号扩展问题,只需将高位补即可。将不存在符号扩展问题,只需将高位补即可。将unsigned intunsigned int型数据赋给型数据赋给intint型变量时,将数据原型变量时,将数据原封不动的送到整型变量中,但如果数据范围超过封不动的送到整型变量中,但如果数据范围超过相应整型的范围,会出现错误。相应整型的范围,会出现错误。将非将非unsigneduns

    49、igned型数据赋给长度相同的型数据赋给长度相同的unsignedunsigned型变量,也是原样照赋(连原有的符号位也作为型变量,也是原样照赋(连原有的符号位也作为数值一起传送)。数值一起传送)。2.3 运算符与表达式定义:定义:由赋值运算符将一个变量和一个表达式由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。连接起来的式子称为赋值表达式。例如:例如:x x1010、x xy y1010。说明:说明:赋值运算符左侧必须是变量,不能是赋值运算符左侧必须是变量,不能是 常量或表达式。常量或表达式。赋值转换规则赋值转换规则:使赋值号使赋值号右边表达式值自动转换右边表达式值自动转换成

    50、其左边变量的类型。成其左边变量的类型。例例例例 float f;float f;int i;int i;i=10;i=10;f=i;f=i;则则则则 f=10.0f=10.0错误错误错误错误:3=x-2*y;3=x-2*y;3=x-2*y;3=x-2*y;a+b=3;a+b=3;a+b=3;a+b=3;2.2.赋值表达式赋值表达式 2.3 运算符与表达式赋值表达式的值与变量值相等赋值表达式的值与变量值相等,且可嵌套。且可嵌套。例例:a=12;a=12;a+=a-=a*a a+=a-=a*a/a=-264/a=-264 等价于等价于a=a+(a=a-(a*a)a=a+(a=a-(a*a)a=b=


    注意事项

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




    页脚通栏广告
    关于我们 - 网站声明 - 诚招英才 - 文档分销 - 服务填表 - 联系我们 - 成长足迹

    Copyright ©2010-2024   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:4008-655-100    投诉/维权电话:4009-655-100   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-2024(办理中)    



    关注我们 :gzh.png  weibo.png  LOFTER.png