




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,第2章数据类型、运算符、表达式,C程序设计,2.1C语言的数据类型2.2标识符2.3常量2.4变量2.5变量赋初值2.6各种数值型数据间的混合运算2.7几种基本运算符及其表达式,2,2.1语言的数据类型,数据类型是指数据的内在表现形式(代码、存储、运算)的数据类型如下:,指针类型,2020/5/20,3,1、基本类型基本类型最主要的特点是,其值不可以再分解为其他类型。也就是说,基本类型是自我说明的。在C语言中,构造类型有以下几种:(1)整型;(2)字符型;(3)实型;(4)枚举类型。,2.1语言的数据类型,2020/5/20,4,2、构造类型构造类型是根据已定义的一个或多个数据类型,用构造的方法来定义的。在C语言中,构造类型有以下几种(1)数组类型;(2)结构体类型;(3)共用体(联合)类型。,2.1语言的数据类型,2020/5/20,5,3、指针类型指针是一种特殊的,同时又具有重要作用的数据类型,其值用来表示某个变量在内存储器中的地址。,2.1语言的数据类型,2020/5/20,6,4、空类型C程序是由函数构成的。在调用函数值时,通常应向调用者返回一个函数值。有一类函数,调用后并不需要向调用者返回函数值,这种函数的返回值数据类型可以被定义为“空类型”。其类型说明符为void。,2.1语言的数据类型,2020/5/20,7,2.2标识符,1、标识符的定义用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符。简单地说,标识符就是一个名字。C语言规定标识符只能由字母、数字和下画线三种字符组成,且第一个字符必须为字母或下画线。,2020/5/20,8,下面列出的是合法的标识符,也是合法的变量Sum,average,_total,Class,day,monthStudent_name,tan,lotus_1_2_3,BASICli_ling下面是不合法的标识符和变量名:LBJames,¥8236,#56,9D37,xy注意:大写字母和小写字母被认为是两个不同的字符。因此sum和SUM,Class和class是两个不同的变量名。通常,变量名用小写字母表示,与人们日常习惯一致,以增加可读性。,2.2标识符,2020/5/20,9,2.3常量一、整型常量1、十进制整数没有前缀,其数码为09。如:532、-156、65535、13672、八进制整数由07数字组成;最高位必须用0作引导符如:015(十进制为13)、0101(十进制为65)、0177777(十进制为65535)3、十六进制整数前缀为0X或0 x,其数码取值为09,AF或af。如:0X2A(十进制为42)、0XA0(十进制为160)、0XFFFF(十进制为65535)。,2020/5/20,10,2.3常量二、实型常量实型也称为浮点型。实型常量也称为实数或者浮点数。在语言中,实数只采用十进制。它有两种形式:十进制小数形式和指数形式。1、十进制小数形式由数码09和小数点组成。如:0.01,25.03,35.536,1.24,6.35,278.,-435.450小数点不能省略,也不能只有一个小数点2、指数形式:由十进制数,加上阶码标志“e”或“E”及阶码(只能为整数,可以带符号)组成:aEn(a为十进制数,n为十进制整数)如:3.2E5等于3.21054.7E-2等于4.710-2,2020/5/20,11,2.3常量三、字符常量1、字符常量是用单引号括起来的一个字符。例如:A、B、=、+、?2、转义字符特殊形式的字符常量,以反斜线“”开头,后跟一个或几个字符的字符序列。字符常量有以下特点:(1)字符常量只能用单引号括起来,不能用双引号或括号。(2)字符常量只能是单个字符,不能是字符串。(3)字符可以是字符集中任意字符,但数字被定义为字符型之后就不能参与数值运算。,2020/5/20,12,2.3常量例:转义字符的使用main()printf(mnct*#rftgn);printf(wtibbjk);结果:fg*#wjk,2020/5/20,13,2.3常量四、字符串常量字符串常量是由一对双引号括起的字符序列。例如,Beijing2008,Chinafighting注意:c与c比较c在内存中占一个字节,表示为:c在内存中占两个字节,表示为:,2020/5/20,14,2.3常量五、符号常量1、符号常量的定义用一个标识符来表示一个常量,称为符号常量。符号常量在使用之前必须先定义,其一般形式为:#define标识符常量,2020/5/20,15,例:求任意圆的周长和面积main()floatr,c,s;scanf(“%f”,#definePI3.14main()floatr,c,s;c=2*PI*r;scanf(“%f”,2.3常量,2020/5/20,16,注意:1、使用之前必须先定义;2、符号常量名用大写,变量用小写;3、符号常量的值在其作用域内不能改变;4、凡是以“#”开头的都为预处理命令,不是语句,故后面无符号。,2.3常量,2020/5/20,17,2.4变量变量的定义在程序执行过程中可以改变和赋值的量。一个变量应该有一个名字,在内存中占据一定的存储单元。变量的存储形式:,2020/5/20,18,2.4变量一、整型变量1、整型数据在内存中的存放形式数据在内存中以二进制形式存放的如:inti;i=10;,10,i,数据存放示意图,数据在内存中实际存放示意图,2020/5/20,19,2.4变量2、整型变量的分类短整型:以shortint或short说明,2字节。如:shorts,sum基本型(整型):以int说明2字节。如:inti,sum长整型:以longint或long说明4字节。如:longl,sum无符号整型:用unsignedint或unsigned说明无符号短整型:用unsignedshort说明无符号长整型:用unsignedlong说明如:unsignedintc,d;,2020/5/20,20,2.4变量3、整型变量的定义格式类型说明符变量名标识符,变量名标识符;例如:intx,z,y;/*x,z,y为整型变量*/longn,m;/*n,m为长整型变量*/unsigneda,b;/*a,b为无符号整型变量*/,2020/5/20,21,2.4变量二、实型变量1、实型数据在内存中的存放形式实型数据一般占4个字节(32位)的内存空间,按指数形式存储。2、实型变量的分类实型变量分为单精度(float型)、双精度(double型)和长双精度(longdouble型)三类。注意:float型的有效位数为67位,double型的有效位数为1516位,所以要避免一个很大的float型数与一个很小的数相加或相减,否则会丢数。,2020/5/20,22,2.4变量例:实型数据的舍入误差main()floata,b;a=123456.789e5;b=a+20;printf(%f,b);程序运行结果如下:12345678848.000000,2020/5/20,23,2.4变量一、字符变量字符变量:用来存储字符常量,即用来存储单个字符。格式:char变量名表列如:charx,y;,2020/5/20,24,2.4变量例:向字符变量赋以整数。main()charm,n;m=120;n=121;printf(%c,%cn,m,n);printf(%d,%dn,m,n);程序运行结果如下:x,y120,121说明:字符型数据和整型数据是通用的,2020/5/20,25,2.5变量赋初值变量初始化的方法:1、先定义变量,后赋值inta,b;a=123;b=456;2、定义变量,部分赋值floata,b=0.5,c;3、定义变量赋初值同步floata=0.1,b=0.5,c=4.3;注意:变量赋初值时不允许连等inta=b=c=4;,inta,b,c;a=b=c=1;,2020/5/20,26,2.6混合运算整型、实型(单、双精度)、字符型数据间可以混合运算。如:a+2*3.5+6.7*2规则:不同类型先转换成同一类型,再进行计算,2020/5/20,27,2.7运算符和表达式,一、C运算符简介1、算术运算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(+)、自减(-)共七种。2、关系运算符:用于比较运算。包括大于()、小于(=)、小于等于()六种。,2020/5/20,28,5、赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(printf(ninputtwonumbers:);scanf(%d%d,程序运行结果:inputtwonumbers:85max=8,2.7运算符和表达式,2020/5/20,49,2.7运算符和表达式七、逗号运算符和逗号表达式格式:表达式1,表达式2,表达式n作用:用于连接表达式优先级和结合性:级别最低,左结合如:a=3,3+a,a+计算过程:求解表达式1再求解表达式2,表达式I整个逗号表达式的值是表达式i的值。,2020/5/20,50,例:逗号运算main()intm=5,n=6,w=8,x,y;y=(x=m+n),(n+w);printf(y=%d,x=%dn,y,x);程序运行结果:y=14,x=11,2.7运算符和表达式,2020/5/20,51,语言提供了6种位运算符:表示把a=15(000001111)右移为0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年地暖管项目提案报告模范
- 2025年电工(电工故障排除)职业技能鉴定实操试卷
- 金融行业从业资格及工作经历证明(5篇)
- 卖方的购销协议
- 电商平台用户行为分析系统
- 2025年保健按摩师(高级技师)职业技能鉴定典型试题
- 2025年甘油(丙三醇)项目立项申请报告模板
- 商品混凝土供需协议
- 2025年多媒体应用设计师考试-网页设计与交互科目试卷
- 二手奢侈品市场2025年交易规范与消费者信任构建策略研究及市场反馈及优化效果评估
- 胸痛课件教学课件
- 福建省福州市(2024年-2025年小学六年级语文)统编版期末考试((上下)学期)试卷及答案
- 教师专业发展(西南大学)知到智慧树章节答案
- 反恐培训教材
- 课件巴东三峡教学课件
- 企业一季一课安全教育内容
- GB/T 44543-2024预制混凝土节段拼装用环氧胶粘剂
- 四川凉山历年中考语文现代文之说明文阅读7篇(含答案)(2003-2023)
- 建筑工程保证金协议书范本
- 陕西省咸阳市兴平市重点中学2025届初三生物试题9月摸底考试试题含解析
- 2024-2030年中国液压机行业市场发展趋势与前景展望战略分析报告
评论
0/150
提交评论