C语言教程第2章数据类型、运算符与表达式.ppt

上传人:tia****nde 文档编号:12805506 上传时间:2020-05-25 格式:PPT 页数:50 大小:567.50KB
返回 下载 相关 举报
C语言教程第2章数据类型、运算符与表达式.ppt_第1页
第1页 / 共50页
C语言教程第2章数据类型、运算符与表达式.ppt_第2页
第2页 / 共50页
C语言教程第2章数据类型、运算符与表达式.ppt_第3页
第3页 / 共50页
点击查看更多>>
资源描述
自然语言层次,程序设计语言层次,第2章数据类型、运算符与表达式,第2章数据类型、运算符与表达式,本章主要教学内容,基本数据类型常量和变量标识符命名常用运算符和表达式运算符的优先级与结合性,2.1一个简单的C程序例子,#include/*函数功能:计算两个整数相加之和入口参数:整型数据a和b返回值:整型数a和b之和*/intAdd(inta,intb)return(a+b);/*主函数*/main()intx,y,sum=0;printf(Inputtwointegers:);scanf(%d%d,/*输出x和y相加之和*/,一个C语言程序必须有且仅有一个用main作为名子的函数。,一个C程序可以包含零到多个用户自定义函数,可以调用系统提供的库函数,调用前要相应的关文件包含到文件中。,1.C程序是由函数构成的,2.函数由函数首部和函数体两部分组成,3.C程序书写格式与规则,分号结束用“/*”和“*/”包含起来的内容为注释,2.2C程序常见标识符号分类,1.关键字2.标识符3.运算符4.分隔符5.其它符号6.数据,关键字C语言规定有固定含义的单词例:intreturnconst(详见附录B),标识符预定义和用户自定义标识符例:预定义标识符main、printf用户自定义标识符x,y,add,运算符丰富,共34种(13类):附录C例:算术运算符:+、-、*、/、%关系运算符:,=,增1和减1运算符:+、-,用户自定义标识符命名规则英文字母、数字和下划线;标识符有长度限制“见名知意”标识符区分大小写尽可能与开发工具风格一致,分隔符空格,回车/换行,逗号等例:inta,b,c;其它符号大花括号“”和“”通常用于标识函数体或者一个语句块“/*”和“*/”是程序注释所需的定界符数据常量和变量,由英文字母、数字和下划线组成,大小写敏感不可以是数字开头直观,见名知意,便于记忆和阅读最好使用英文单词或其组合切忌使用汉语拼音下划线和大小写通常用来增强可读性variablenamevariable_namevariableName不允许使用关键字作为标识符的名字int,float,for,while,if等某些功能的变量采用习惯命名如:for语句所采用的循环变量习惯用i,j,k,Windows风格,UNIX风格,标识符的命名规则,2.3数据类型,数据为什么要区分类型?,不同类型的数据代表不同的:数据表示形式合法的取值范围占用内存空间大小可参与的运算种类,从基本数据类型到抽象数据类型无数据类型基本数据类型构造数据类型抽象数据类型,数据类型,基本类型构造类型指针类型空类型,整型实型字符型枚举类型,基本整型长整型短整型无符号整型,单精度双精度,数组类型结构体类型共用体类型,2.3数据类型,基本数据类型,常量变量,在计算机中存储的数据,按存储的性质分,可分为:,2.4常量,定义:常量是一种在程序中保持固定类型和固定值的数据。,类型整型常量实型常量字符常量字符串常量枚举常量,2.4常量,常量,整型常量18、-31长整型常量123l、123L、123456l、123456L无符号型常量123u、123U浮点常量十进制小数形式123.45、456.78指数形式1e-2、4.5e3单精度实型常量123.45f、456.78F、1e-2f、4.5e3F长双精度型常量123.45l、456.78L、1e-2l、4.5e3L,2.4常量,八进制与十六进制常量,以数字“0”开始的整型常数是八进制数022、-037010和10大小不一样因为八进制并不常用,所以此种表示法比较少见以“0 x”或者“0X”开始的整型常数是十六进制AF和af用来表示十进制的1015十六进制的形式比较常用,尤其在进行位一级的控制的时候0 x12、-0 x1F,-0 x1f,2.4常量,字符常量,由单引号括起来的一个字符。,字符常数的表示方法a,A,5,%,$单引号内只能有一个字符,除非用“”开头就是一个普通整数,也可以参与各种数学运算每个字符具有一个0255之间的数值,可从ASCII表查出注意:5和整数5的区别字符的数学运算在密码学内用得比较多,字符常量,转义字符一些特殊字符(无法从键盘输入或者另有它用)用转义字符表示(P23表2-2),2.4常量,字符串常量,用双引号括起来的0个或多个字符组成的字符序列Iamastring表示空字符串转义字符也可以在字符串中使用引号只作为字符串开始和结束的标志C语言内部用0表示字符串的结束除注释外,是唯一可以出现中文的地方x和x是不同的里定义了一系列专门的字符串处理函数,2.4常量,也称符号常量,是指用一个标识符号代表一个常量。(一般用大写字母表示),宏常量,宏定义的一般形式:#define标识符字符串,#include#definePI3.14159#defineR5.3Main()printf(area=%fn,PI*R*R);,宏定义,无分号,printf(area=%fn,3.14159*5.3*5.3);,宏替换,2.4常量,枚举常量,一一列举,当某些量仅由有限个数据值组成通常用此类型。其描述的是一组整型值的集合。,枚举常量的定义举例1:enumresponseno,yes,none;enumresponseanswer;,response为枚举数据类型answer为枚举类型的变量,枚举标记,可省略,枚举常量的定义举例2:enumno,yes,noneanswer;,省略枚举标记,枚举常量的定义举例3:enumresponseno=-1,yes=1,none=0;,定义时明确设置每一常量值,注意:枚举标记后面的变量中的每一个符号代表的是一个整数值,这些符号只是一个整数的值的名子,不是字符串。,2.4常量,从程序来窥其一斑enumweeksMON,TUE,WED,THU,FRI,SAT,SUN;enumweekstoday;enumresponseno,yes,none;enumresponseanswer;today=TUE;answer=yes;if(answer=yes)printf(TodayisTuesday.n);elseprintf(TodayisNOTTuesday.n);,枚举常量,2.4常量,const常量,用const修饰定义的变量为常量constfloatpi=3.1425926;常量只能在定义时赋值,然后不能再改变其值常数、const常量、宏常量和枚举常量,都可以用来表示一个永远不会改变的数前者不建议直接使用,而用后三者代替,2.4常量,2.5变量,变量是在程序执行过程中可以改变、可以赋值的量。在程序中每一个变量都有一个名子即变量名,程序对该变量访问(存入、读取)都是通过变量名进行的。每个变量在使用之前声明,2.5变量,变量声明与初始化,变量定义语句形式1:类型关键字变量名1,变量名2,;,变量定义语句形式2(定义的同时赋初值)类型关键字变量名1=常量1,变量名2=常量2,;,变量名是由用户定义的标识符,用于标识内存中一个具体的存储单元,其中存放的是数据称为变量的值。,floata,b,c;intsum;,intsum=0;floata=89.12;,2.5变量,变量声明与初始化,使用变量的基本原则变量必须先定义,后使用所有变量必须在第一条可执行语句前定义声明的顺序无关紧要一条声明语句可声明若干个同类型的变量声明变量,是初始化变量的最好时机不被初始化的变量,其值为危险的随机数!charesc=a;inti=1;intsum=0;floateps=1.0e-5;,2.5变量,使用变量时的注意事项,1.先定义后使用2.注意区分变量名和变量值3.int型变量隐含为有符号型的4.变量所占存储空间的大小不能想当然。,#includemain()printf(DatatypeNumberofbytesn);printf(-n);printf(char%dn,sizeof(char);printf(int%dn,sizeof(int);printf(shortint%dn,sizeof(short);printf(longint%dn,sizeof(long);printf(float%dn,sizeof(float);printf(double%dn,sizeof(double);,2.5变量,5.注意实型数据内存存储格式,6.注意char型与int型数据之间的关系,#includemain()charch=b;ch=b-32;printf(%c,%dn,ch,ch);,运行结果:B,66,ch=b-(a-A);,2.5变量,7.注意实型变量数据的舍入误差,float型数据提供7位有效数字double型数据提供16位有效数字使用不当导致舍入误差,#includemain()floata;doubleb;a=123456.789e4;b=123456.789e4;printf(%fn%fn,a,b);,运行结果:1234567936.0000001234567890.000000,2.6常用运算符及表达式,算术运算符,+,-,*,/,%加、减、乘、除、求余运算四则混合运算中,先算乘除,后算加减,按从左向右的顺序计算,左结合,常用的标准数学函数,#include,算术运算的运算规则,1.运算的优先顺序为先*、/、%,后+、-,同等优先级从左到右运算。,举例:18*5/95/9*18,2.两个类型相同的操作数,运算结果类型也相同。,举例:5/9*82.5*8.0,2.6常用运算符及表达式,3.两个类型不同的操作数,运算结果类型与其中类型较高的类型相同。,举例:5.0/9*182.5*8,4.求余运算的运算结果其值为相除所得余数,而符号与被除数的符号相同。,举例:-135=-313%(-5)=3,算术运算的运算规则,2.6常用运算符及表达式,2.6常用运算符及表达式,算术表达式,用算术运算符将运算对象连接起来的式子称为算术表达式。运算对象可以常量、变量和函数。,举例,a+b,c+d,a+b/c+d,(a+b)/(c+d),a+b,2c,(a+b)/2c,(a+b)/(2c),(a+b)/(2*c),cos45+2ex,cos(45)+2*exp(x),cos(3.14*45/180)+2*exp(x),2.6常用运算符及表达式,关系运算符,,=,、=优先于=、!=,关系运算符,例:,设a=3、b=2、c=1,计算下列表达式的值,(1)ab,(2)d=ab,(3)(ab)=c,(4)abc,1,1,1,0,注意=和=,比较下列程序段:,2.6常用运算符及表达式,逻辑运算也被称为布尔(Boolean)运算printf(m/2=%dn,m/2);printf(float)(m/2)=%fn,(float)(m/2);printf(float)m/2=%fn,(float)m/2);printf(m=%dn,m);,增1和减1运算符,2.6常用运算符及表达式,形式:n+,n-,+n,-n+让参与运算的变量加1,-让参与运算的变量减1作为后缀运算符时,先取n的值,然后加/减1作为前缀运算符时,先加/减1,然后取n的值m=n+;等价于m=n;n+;m=+n;等价于n+;m=n;,2.6常用运算符及表达式,增1和减1运算符,例:写出执行后x,y的值intx,y,i=10;x=+i;y=i;,intx,y,i=10;x=i+;y=i;,x=11y=11,x=10y=11,2.6常用运算符及表达式,增1和减1运算符(说明),(1)仅用于变量,不可用于常量或表达式。,(2)注意其结合性。(采用右结合),(3)常用于循环控制变量使用。,如:,-i+则为-(i+),i+j则为(i+)+j,(4)良好的程序设计风格提倡:在一行语句中,一个变量只能出现一次加1或者减1运算,2.6常用运算符及表达式,ib?a:b;,(2)x?a:b,(3)xy?1:1.5,例:,2.6常用运算符及表达式,常用运算符的优先级及结合性,P46页表2-12用括号来控制运算顺序更直观、方便,并减少出错的概率,多数运算符为左结合少数为右结合:一元运算符赋值运算符条件运算符,本章小结,变量的命名规则数据类型char,short,int,long,float,double,longdoublesigned,unsignedenum常数、转义字符运算符算术运算符、关系运算符、逻辑运算符、增一/减一运算符、位运算符、赋值运算符、类型强转运算符、逗号运算符、条件运算符(?:)、sizeof类型转换优先级和结合性,本章作业,习题2:2.1、2.2、2.3,
展开阅读全文
相关资源
相关搜索

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


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

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


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