C语言程序设计(十分详细).ppt

上传人:max****ui 文档编号:11494824 上传时间:2020-04-25 格式:PPT 页数:46 大小:1.13MB
返回 下载 相关 举报
C语言程序设计(十分详细).ppt_第1页
第1页 / 共46页
C语言程序设计(十分详细).ppt_第2页
第2页 / 共46页
C语言程序设计(十分详细).ppt_第3页
第3页 / 共46页
点击查看更多>>
资源描述
C数据类型及其运算,C语言程序设计,2,C语言的数据类型,C数据类型,3,整型数据,1整型数据的类型基本整型数据int,分配2Byte短整型数据shortint,分配2Byte长整型数据longint,分配4Byte整型数据均以二进制补码形式存储,问题:为什么要采用补码?如何表示?,4,计算机中正、负数的表示,例如:109(1101101)2要区别:109和109方法是:将符号也数码化即:正的符号用0表示负的符号用1表示,计算机中的数表示方法是:符号位二进制数值(以8bit为例)109110110101101101109110110111101101,5,2.有符号和无符号整型数据,有符号的整型数据signedint无符号的整型数据unsignedint区别是将最高位看作符号位还是数据位,例如:1111111110101000作为有符号数使用时,最高为符号位为负数,值是:-88作为无符号数使用时,最高为数据位为无符号的数,值是:65448,6,例如:,main()unsignedintm;m=65448;printf(nm=%dn,m);printf(m=%un,m);,输出结果:m=-88m=65448,按有符号数输出,按无符号数输出,7,整型数据的类型及规定,方括号表示可选项int分配2Byte,long分配4Byte,8,2.1.2实型数据,1实型数据的类型单精度实型数据float,分配4Byte双精度实型数据double,分配8Byte2实型数据的存储,单精度实型,指数部分,小数部分,小数的符号位,指数的符号位,9,实型数据的类型及规定,C标准并未具体规定各种实型数据所占字节数,也不规定具体小数和指数部分的位数。一般而言,小数部分位数多,数据表示的有效数字多,精度就高;而指数部分位数多,则表示的数据范围更大。,有效数字的意义?,10,字符型数据,字符型数据char,分配1Byte字符型数据是指字母、数字、各种符号等用ASCII值表示的字符例如a是一个char类型数据,称作字符常量,存储:单片机中常用int和char数据类型。,01100001,2.1.4空类型,空类型void通常与指针或函数结合使用,11,常量、变量与标准函数,主要内容:常量变量,12,2.2.1常量,在运行程序的过程中值保持不变的量1整型常量十进制:09八进制:07,以0开头十六进制:09,AF/af,以0 x或0X开头(单片机编程常用16进制),例如:100-80+12301002401000730 x380 x100X100XFF0 x0a,13,1.整型常量,整型常量的类型:根据值大小默认类型。整型常量后面加l或L,则认为是longint型例如:123L、0L、432l、0 x100l,注意:十六进制常量中可以使用大写字母AF,也可以使用小写字母af。八进制常量中不能出现数字8或9例如:018、0921非法,14,2.实型(浮点型)常量,十进制形式1.01.+12.0-12.00.0指数形式1e31.8e-3-123E-6-.1E-3,指数只能是整数,而尾数则可以是整数也可以是小数,无论指数或尾数均不能省略例如:1e、E.5、E-3非法实型常量的类型:默认为double型,后面加F(或f),则强调表示该数是float类型例如:3.5f、1e2F,15,3.字符型常量,可视字符常量单引号括起来的单个可视字符例如:a、A、+、3、等转义字符常量单引号括起来的与可视字符组合,例如:,16,4.字符串常量,用双引号括起的一个字符序列例如:ABC、123、a、ntnGoodmorning字符串常量的长度:所包含的字符个数字符串常量的存储方式:,所占存储单元数:串长度1例如:,字符串结束标记,17,5.符号常量,以标识符来代表的常量事先编译预处理命令define定义编译时先由系统替换为它所代表的常量,再进行编译例如:,#defineLEN2.5main()floata,b;a=2*3.14*LEN;b=3.14*LEN*LEN;printf(a=%f,b=%fn,a,b);,编译前系统进行替换,18,5.符号常量,main()floata,b;a=2*3.14*2.5;b=3.14*2.5*2.5;printf(a=%f,b=%fn,a,b);,define是编译预处理命令,必须以“#”开头,替换为,19,变量,1.变量的有关概念在程序运行过程中,其值改变的数据,称为变量,变量用标识符表示,称为变量名。变量必须“先定义后使用”系统为变量分配存储单元,存储变量的值。编写程序时通过变量名来存、取变量值。,例如:有变量a它的值是510,20,变量定义,变量定义的一般格式:数据类型说明符变量列表;例如:inti,j;longk,m;floatx,y;charch1,ch2;,必须使用合法的标识符作变量名不能使用关键字为变量命名,21,3.变量的初始化:,允许在说明变量的时候对变量赋初值。例如:inta=5,b=10+2;doublex=23.568,y;charch1=a,ch2=66,ch3=142;表示定义变量并对变量存储单元赋值。错误的初始化:inta=3+b,b=5;floatm=n=23.16;,22,运算符和表达式,主要内容:算术运算符和算术表达式赋值运算符和赋值表达式关系运算符和关系表达式逻辑运算符和逻辑表达式位运算符和位运算表达式条件运算符和条件表达式逗号运算符和逗号表达式其他运算符及其运算,23,运算符的有关概念,作用:对运算对象完成规定的操作运算类型:按运算对象分:单目、双目、三目按功能分:算术、赋值、关系、逻辑条件、逗号、位、其他,24,运算符的优先级和结合性,优先级指各种运算符号的运算优先顺序例如:算术运算优先于关系运算算术运算中先*/后+-,结合性指运算符号和运算对象的结合方向分为:从左向右(左结合)和从右向左(右结合)例如:算术运算符为左结合a-b+4赋值运算符为右结合a=b=5(C语言规定见教材),25,运算符,+-*/%+-+-=+=-=*=/=%=a=a+1表达式的值为5,且a=6,b=5,31,说明:,+和-的运算对象只能是变量(或运算结果是变量的表达式),不能是常量(或运算结果是数值的表达式)。例如:5+、(a+2)+不合法。具有右结合性,结合方向为从右到左。例如:a+等价于-(a+)如果有多个运算符连续出现时,C系统尽可能多的从左到右将字符组合成一个运算符例如:i+j等价于(i+)+j-i+-j等价于-(i+)+(-j),32,main()inta=5;printf(%d%dn,a,a+);,说明(续):,对函数参数的求值顺序:TurboC系统先计算最右边的参数值,再依次计算左面的参数值。,【例2.5】有多个函数参数且为同一变量自增的运算处理。,输出结果:65,运行例2.5,33,说明(续):,【例2.6】有多个函数参数且为同一变量多次自增的运算处理。,main()inta=5;printf(%d%dn,a,(a+)+(a+);,输出结果:711,运行例2.6,34,赋值运算,赋值运算符(右结合)=+=-=*=/=%=printf(%d%dn,a,输出结果:8102-11,0000000000001010&00000000000010000000000000001000即:a&b的值是8,运行jc2_b,45,HEX文件,IntelHEX由任意数量的十六进制记录组成。每个记录包含5个域,它们按以下格式排列::llaaaattdd.cc每一组字母对应一个不同的域,每一个字母对应一个十六进制编码的数字。每一个域由至少两个十六进制编码数字组成,它们构成一个字节,就像以下描述的那样:,46,HEX文件,:每个IntelHEX记录都由冒号开头.ll是数据长度域,它代表记录当中数据字节(dd)的数量。aaaa是地址域,它代表记录当中数据的起始地址。tt是代表HEX记录类型的域,它可能是以下数据当中的一个:00数据记录01文件结束记录02扩展段地址记录04扩展线性地址记录dd是数据域,它代表一个字节的数据。一个记录可以有许多数据字节.记录当中数据字节的数量必须和数据长度域(ll)中指定的数字相符。cc是校验和域,它表示这个记录的校验和。校验和的计算是通过将记录当中所有十六进制编码数字对的值相加,以256为模进行以下补足。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!