欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第2章基本数据类型及运算.ppt

    • 资源ID:5637346       资源大小:143.01KB        全文页数:75页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第2章基本数据类型及运算.ppt

    第2章 基本数据类型及运算,学习目标了解C语言的构成元素熟悉C语言的数据类型熟悉常量、变量掌握算术运算符、赋值运算符、逗号运算符理解数据类型转换重点算术运算符、赋值运算符、逗号运算符,2.1 C语言的构成元素,2.1.1 构成元素概述 表2-1:自然语言的构成元素和C语言的构成元素的对比,2.1.2 字符集,C语言的字符集包括:(1)大、小写英文字母(2)数字:09(3)运算符:+、-、*、/、%等(4)括号:()、(5)标点符号:、:、;。(6)空白符:空格符、制表符、换行符等(7)特殊符号:、_、$、#,2.1.3 标识符,标识符是用来标识C程序中的变量、数据类型、函数等对象的字符序列,实际上就是一个名字。C语言的标识符分为三类:关键字C语言编译系统预先定义的标识符 特定标识符具有特殊含义的标识符 用户自定义标识符,2.1.3 标识符,用户自定义标识符必须注意以下几点:只能由字母、数字、下划线组成第一个字符必须是字母或下划线不能和关键字、特定标识符、C语言的库函数相同区分大小写字母不要使用易混淆的字符 尽量做到“见名知义”,2.2 C语言的数据类型,2.2.1 数据类型概述 日常生活中,描述不同的对象需要使用不同的数据类型描述有多少个人应该使用整数在程序设计语言中,数据往往被划分成不同的类型,2.2 C语言的数据类型,C语言的数据类型分为四类:基本数据类型构造数据类型(第9章)指针类型(第8章)空类型,2.2 C语言的数据类型,(1)基本数据类型包括整型、浮点型、字符型三种 对应生活中的整数、实数和字符数据整型又分为短整型、基本整型、长整型三种浮点型又分为单精度、双精度、长双精度三种,2.2 C语言的数据类型,(2)构造数据类型包括数组、结构体、共同体、枚举四种 由程序设计人员根据已存在的一种或多种数据类型构造出来的(3)指针类型一种特殊的数据类型与计算机内存中的地址相关使用指针能够简化程序,提高程序执行效率,2.2 C语言的数据类型,(4)空类型空类型的说明符为void一般用做函数的返回值类型如果一个函数执行后没有返回值,该函数就定义为空类型,2.2.2 整型,整型数据对应生活中的整数。1分类根据占有存储空间的长度:(1)基本整型,类型说明符为int(2)短整型,类型说明符为short int或short(3)长整型,类型说明符为long int或long,2.2.2 整型,根据存储单元中是否有符号位:(1)有符号类型有符号类型的说明符与一般整型、短整型和长整型的说明符一致。有符号类型的数据在存储时,其存储单元的最高位是符号位,用来表示正负,并不表示数值大小。,2.2.2 整型,(2)无符号类型无符号类型说明符为unsigned无符号一般整型,unsigned int无符号短整型,unsigned short无符号长整型,unsigned long无符号类型的数据在存储时,存储单元中没有符号位,存储单元的每一位都用来表示数值大小。,2.2.2 整型,C语言没有具体规定以上各类型数据所占的字节数,数据类型所占字节数取决于编译软件和机器硬件。在VC6.0环境下,以目前通用的32位计算机为例,各种整型数据所占字节数和取值范围如表2-2所示。,表2-2 整型数据的字节数与取值范围,2.2.2 整型,2整型数据在内存中的存储(了解)所有数据在内存中都是以二进制形式存放存放有符号整数时,存储单元中左面第一位表示符号为0表示数据为正数为1表示数据为负数无符号类型的数据在内存中没有符号位,所有存储单元都用来表示数值大小。,2.2.2 整型,2整型数据在内存中的存储(了解)整型数据在内存中以补码形式表示正整数的补码是该数的二进制形式负整数的补码:绝对值二进制形式按位取反加1,2.2.3 浮点型,浮点型即实型,对应生活中的实数。1分类根据能够表示数据的大小和精度:单精度,类型说明符为float双精度,类型说明符为double长双精度,类型说明符为long double浮点型数据的相关参数如表2-3所示,表2-3浮点型数据的字节数与取值范围,2.2.3 浮点型,2浮点型数据的误差由于浮点型数据在存储时使用的存储单元长度有限,因此能提供的有效数字位数也是有限的,有效数字位数决定了浮点型数据的精度。,【例2.2】浮点型数据的有效数字。#include void main()float x;double y;x=66666.66666;y=66666.666666666;printf(x=%fny=%fn,x,y);,【例2.3】浮点型数据的舍入误差。#include void main()float x,y;x=123456.789e6;y=x+200;printf(x=%fn,x);printf(y=%fn,y);,2.2.4 字符型,字符型数据的类型说明符为char。字符型数据在内存中占一个字节。字符型数据在存储时,内存中存储的并不是真正的字符,而是字符的ASCII码。,2.3 常量,常量在程序运行过程中值不能被改变的量。常量分为符号常量和直接常量。直接常量:又称字面常量,包括整型常量、浮点型常量、字符常量和字符串常量。符号常量:用标识符表示的常量,从字面上不能直接看出其类型和值。,2.3.1 符号常量,在程序中,如果某个常量多次使用,则可以用一个标识符来表示该常量,称为符号常量。符号常量在使用之前必须先定义。,2.3.1 符号常量,定义符号常量的一般形式为:#define 标识符 直接常量#define是一条预处理命令,称为宏定义命令,其功能是把标识符定义为其后的直接常量。习惯上符号常量的标识符用大写字母,变量的标识符用小写字母。注意:末尾不加分号。符号常量定义后,可以像所表示的直接常量一样在程序中使用。,【例2.4】求半径为4.0的球体积和表面积。#include#definePI3.14159void main()float r,v,s;r=4.0;v=4.0/3.0*PI*r*r*r;s=4.0*PI*r*r;printf(v=%f,s=%fn,v,s);,2.3.1 符号常量,注意:符号常量也是常量,程序运行期间,其值不能被改变,不能对符号常量赋值。使用符号常量具有以下好处:(1)含义清楚(2)一改全改,2.3.2 整型常量,整型常量即整常数。在C语言中,整型常量可以表示为十进制、八进制和十六进制三种形式。1十进制整型常量十进制整型常量与数学上的整数表示方法相同,由09组成。,2.3.2 整型常量,2八进制整型常量八进制整型常量以数字0作为前缀,由07组成。八进制016 等于 十进制14八进制0111 等于 十进制73,2.3.2 整型常量,3十六进制整型常量十六进制整型常量以0X或0 x作为前缀,由09、AF或af构成。十六进制0X2B 等于 十进制43十六进制0XA0 等于 十进制160十六进制0XFFFF 等于 十进制65535,2.3.2 整型常量,4说明(1)溢出如果不作特别指定,系统都将整型常量按一般整型(int)处理。如果一个整型常量超出机器所能表示的范围,存储时就会发生溢出。在C语言中,整数溢出不会使程序出错,但通常会得到一个不正确的值。,【例2.5】整型常量的溢出。#include void main()int x,y;x=10000;y=2147483649;printf(x=%d y=%dn,x,y);,2.3.2 整型常量,(2)后缀一个整型常量可根据需要加上后缀。358u,无符号整型常量358L,长整型常量,2.3.3 浮点型常量,浮点型常量即浮点数(实数)。在C语言中,浮点型常量有二种表示形式:十进制小数形式和指数形式。1小数形式由正负号、数码0 9和一个小数点组成。小数点必须有,小数点前面和后面可以没有数字。,2.3.3 浮点型常量,2指数形式由十进制小数或整数与字母“e”或“E”组成。一般形式为:aEn或 aena可以是十进制小数或整数n必须为十进制整数整体表示数据a10n注意:字母“e”或“E”前面必须有数字,后面必须为整数,2.3.3 浮点型常量,浮点型常量在不加任何后缀时,系统会默认为双精度double型。浮点型常量加后缀F或f表示该常量为单精度float类型,加后缀L或l表示为长双精度long double类型。,2.3.4 字符常量,字符常量分为普通字符常量和转义字符两种。1普通字符常量普通字符常量:用单引号括起来的一个字符。a s 5注意:C语言区分大小写字母。A和a是不同的字符常量,2.3.4 字符常量,2转义字符以反斜线开头,后跟一个或几个字符。转义字符具有特定的含义。n表示“回车换行”常用转义字符及其含义如表2-4所示。,表2-4 常用的转义字符及其含义,2.3.4 字符常量,ddd和xhh均表示字符ddd是字符八进制形式的ASCII码hh是字符十六进制形式的ASCII码102、x42均表示字符B 注意:在程序中,字符常量必须用单引号括起来,包括转义字符。,2.3.5 字符串常量,字符串常量是由一对双引号括起的字符序列。CHINA,“C program”,$12.5,“Stringn”,2.3.5 字符串常量,字符串常量和字符常量的区别:(1)字符常量由单引号括起来,字符串常量由双引号括起来。(2)字符常量只能是单个字符,字符串常量则可以包含0个或多个字符。(3)保存字符常量可以使用字符变量,保存字符串常量可以使用数组。,2.3.5 字符串常量,(4)字符常量占一个字节的内存空间。字符串常量所占的内存字节数等于字符串中的字符个数加1,因为字符串的末尾有一个字节串结束标志0。,2.4 变量,2.4.1 变量的概念 变量:在程序的运行过程中,其值可以改变的量。每个变量都有自己的名字。变量命名必须符合用户自定义标识符命名规则每个变量都占据一定数量的内存单元,用来存放变量的值。变量必须先定义后使用。,2.4.2 变量定义,变量定义的一般形式为:类型说明符 变量名1,变量名2,.;注意:各变量名之间用逗号间隔,类型说明符与变量名之间至少用一个空格间隔。变量不能重复定义,或者说,变量不能重名。,2.4.3 变量初始化,初始化:定义变量时对变量赋值。int a=3;float b=4;char c=n;注意:以下初始化是错误的!int a=b=c=6;,2.4.4 变量赋值,变量定义后,可以用“=”将一个表达式的值赋给该变量。int a,b;a=1;b=a;,2.5 运算符和表达式,2.5.1 运算符概述1运算符的分类C语言运算符丰富,算术运算符+、-、*、/、%、+、-关系运算符、=、|、&赋值运算符=,复合赋值运算符条件运算符?:逗号运算符,指针和取地址运算符*、&求字节运算符 sizeof强制类型转换运算符(类型)分量运算符-、下标运算符 其他运算符例如(),2.5.1 运算符概述,2学习运算符应注意的问题(1)运算符的功能(2)运算符的优先级(3)运算符的结合性,2.5.2 算术运算符和算术表达式,1算术运算符算术运算符用于各类数值运算。(1)基本算术运算符+、-、*、/、%优先级:先乘除,后加减结合性:自左向右,即左结合,2.5.2 算术运算符和算术表达式,使用算术运算符时应注意以下问题:如果参与+、-、*、/运算的数据有一个为浮点型常量,结果就为double类型。0*1.2+5*8 结果为double类型%要求参与运算的量均为整型,运算的结果等于两数相除后的余数。,2.5.2 算术运算符和算术表达式,(2)自增、自减运算符:+-二者都是单目运算符。二者都有前置和后置两种形式:前置:+i(-i)i的值加1(减1);i的值作为表达式的值后置:i+(i-)i的值作为表达式的值;i的值加1(减1),#include void main()int a,b,c;a=1;b=+a;c=a-;printf(%d,%d,%dn,a,b,c);,2.5.2 算术运算符和算术表达式,注意:自增、自减运算符只能用于变量,不能用于常量和表达式。,2.5.2 算术运算符和算术表达式,(3)正负号运算符+-都是单目运算符。优先级:与自增、自减运算符同级高于基本算术运算符结合性:自右向左,即右结合。,2算术表达式,(1)算术表达式的概念 表达式是由运算符连接常量、变量、函数等运算对象构成的式子。算术表达式就是用算术运算符连接各种运算对象构成的式子。,2算术表达式,(2)算术表达式的运算不同类型的数据之间可以进行混合运算。当一个算术运算符两侧的运算对象的数据类型不同时,系统将自动把运算符两侧的运算对象转换成同一种类型,然后再进行运算。(具体见2.6节),2.5.3 赋值运算符和赋值表达式,赋值运算符简单赋值运算符=复合算术赋值运算符+=、-=、*=、/=、%=复合位赋值运算符(第10章)&=、|=、=、=、=,2.5.3 赋值运算符和赋值表达式,由赋值运算符将一个变量和一个表达式连接起来构成的式子称为赋值表达式。赋值表达式的一般形式:(1)赋值运算符左侧必须是变量。(2)赋值运算符具有右结合性。(3)赋值运算符的优先级低于算术运算符。,2.5.3 赋值运算符和赋值表达式,(4)如果赋值运算符两边的数据类型不相同,系统将自动把赋值运算符右边的类型换成左边的类型:实型数据赋予整型变量,将舍去小数部分。整型数据赋予字符型变量,只把低八位赋予字符量。,例:已知int a=10;求以下表达式的值和a的值。a+=12a*=a+7 a+=a-=a*a,2.5.4 逗号运算符和逗号表达式,逗号运算符的优先级:低于赋值运算符。逗号运算符的结合性:自左向右。逗号运算符的功能:把两个表达式连接起来,构成逗号表达式。,2.5.4 逗号运算符和逗号表达式,逗号表达式的一般形式:表达式1,表达式2逗号表达式的运算:先求表达式1的值再求表达式2的值以表达式2的值作为整个逗号表达式的值。a=5a=3*5,a*4/*a的值变成60*/,2.5.4 逗号运算符和逗号表达式,使用逗号运算符应注意的问题:(1)表达式1和表达式2也可以是逗号表达式,所以逗号表达式可扩展为以下形式:表达式1,表达式2,表达式n(2)并不是在所有出现逗号的地方都组成逗号表达式。,2.6 数据类型转换,数据类型转换有两种情况:系统自动转换用户强制转换,2.6.1 自动转换,不同类型的数据进行混合运算时,系统将自动把数据转换为同一类型后再运算。转换原则(如图2-8所示):(1)float单精度类型数据参加运算时,被转换成double双精度类型。(2)char型和short型数据参加运算时,被转换成int型。(3)其余按数据长度增加的方向进行。,图2-8数据类型自动转换规则,例:已知 int i;float f;double d;long g;分析表达式8+a+i*f-d/g运算结果类型?,2.6.2 强制类型转换,可以利用强制类型转换运算符把一个数据转换成所需的类型。强制类型转换的一般形式:(类型说明符)(表达式)功能:把表达式的值转换成类型说明符所表示的类型。(float)a(int)(x+y),2.6.2 强制类型转换,(类型说明符)(表达式)注意:类型说明符两侧必须加括号。必要时,表达式也要加括号。(int)(x+y)(int)x+y较高类型转换成较低类型时,注意误差。无论是强制转换还是自动转换,都是根据数据得到一个转换结果,并不改变原始数据的类型。,2.6.2 强制类型转换,例:float a=5.75;(int)a的值为5 a的值仍为5.75,作业,1、2,

    注意事项

    本文(第2章基本数据类型及运算.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开