A2数据类型、运算符和表达式.ppt_第1页
A2数据类型、运算符和表达式.ppt_第2页
A2数据类型、运算符和表达式.ppt_第3页
A2数据类型、运算符和表达式.ppt_第4页
A2数据类型、运算符和表达式.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计,THEOPENUNIVERSITYOFFUJIAN,第二章,数据类型、运算符和表达式,课前回顾,描述C程序基本结构什么是算法,本节目标,理解变量和常量的含义熟悉基本数据类型理解表达式概念掌握C语言各种运算符的用法掌握C语言运算符优先级,程序,指令,C语言中的基本元素,标识符关键字常量运算符分隔符等,常量是在程序中保持不变的量,常量用于定义具有如下特点的数据:在程序中保持不变在程序内部频繁使用需要用比较简单的方式替代某些值,定义常量:#definevariablenamevalue,变量,100,321,在程序运行过程中,其值可以被改变的量称之为变量,#includestdio.hvoidmain()intp;p=100;printf(%dn,p);p=321;printf(%dn,p);,使用变量,给变量赋值,除了给一个直接的值以外,还可以通过计算获得,声明变量:Datatypevariablename;定义时初始化变量:Datatypevariablename=value;定义后初始化变量:variablename=value;,在程序运行过程中,其值可以被改变的量称之为变量,变量举例,#includestdio.hmain()inti,j;i=5;j=i*6;printf(i=%dn,i);printf(j=i*6=%dn,j);,定义两个变量inti,j:要求:给i赋值为5,给j赋值为i乘以6,打印输出i与j的值,变量命名规则,问题,你注册邮箱时候的规则是什么?,C语言中的变量命名规则,在C语言中,变量命名需要遵循一定的规则,变量的命名规则:变量名可以由字母、数字和_(下划线)组合而成变量名不能包含除_以外的任何特殊字符,如:%、#、逗号、空格等变量名必须以字母或_(下划线)开头变量名不能包含空白字符(换行符、空格和制表符称为空白字符)C语言中的某些词(例如double和float等)称为保留字,具有特殊意义,不能用作变量名C语言区分大小写,因此变量price与变量PRICE是两个不同的变量,基本数据类型,数据属于不同类别,Africa,Thequickbrownfox,TRUE,数据,非数值,数值,整型,非整型,9002.12,999,9/12/2003,2.175,123,JackieChan,数据类型,非数值,数值,整型,非整型,变量的树状结构,char,数据类型,非数值,数值,整型,shortint,longint,double,float,非整型,整型,整型变量,声明:intpage_number;longintpopulation;可按如下方式初始化:page_number0;intmax_marks=100;,在同一语句中可以声明多个类型相同的变量:intpage_number,copies,paper_width;,单精度浮点型,声明:floatselling_price;初始化:floatselling_price=11.3;selling_price=65.90;,float,32位,10-38至10+38,7位有效数字,float在C语言中用于存储单精度浮点数,双精度浮点型,声明:doublepressure_level;初始化:pressure_level=213.5671435568967;doubledvalue=35.4;,在线保险单年龄:_保险总额:_性别:_,字符型,23,98.34,M,数值型,字符型,int/float,char,字符型规则,5p$,有效的字符型值,2,2,正确,2+2=4,X,注意:汗汉字是不是字符类型?为什么?,字符型特征与使用,占8位内存,signed或unsigned,Signed-128至+127,unsigned0至255,示例:,chargender;gender=m;,chargender=m;,知识补充,#includestdio.hmain()chari=a;intj=i-32;printf(%c,j);,ASCII码-ASCII码中,小写字母的范围是:97122大些字母范围是6590;小写字母得到相应大写字母需要-32;编写程序:1.打印出字母a的ASCII号2.将字母a转化为字母A,Z=(X*2)+(5Y),表达式,表达式的定义,表达式由_和_的组合而成表达式中的操作数可以是_、_或者_运算符的主要类型有:算术运算符赋值运算符关系运算符逻辑运算符,变量=表达式;,赋值运算符,Height=177.5;Weight=78;Gender=m;x=a+b;w=sin(a)+sin(b);y=i+-j;,复合赋值运算,复合赋值运算符是在赋值运算符之前再加一个双目运算符所构成的,打印出书籍的价格并且将数据的价格增加12.5后也打印输出,算术运算符,#includevoidmain()floatbook_price=60.75;printf(n书的价格=%f,book_price);book_price+=12.50;printf(n书的新价格=%fn,book_price);,book_price=book_price+12.50;,输出:书的价格=60.750000书的新价格=73.250000,自增自减运算符,前置运算变量完成自增或者自减,之后完成其他运算后置运算变量先参与运算,然后再将变量自增或者自减,inti,j;i=4;j=+i+5;printf(“j的值是:%dn,j);printf(“i的值是:%dn,i);,inti,j;i=4;j=i+5;printf(“j的值是:%dn,j);printf(“i的值是:%dn,i);,使用自增自减运算符,贪心法则:每一个符号应该包含尽可能多的字符.也就是说,编译器将程序分解成符号的方法是:从左到右一个一个字符地读入,如果此字符可能组成一个符号,那么再读入下一个字符,判断已经读入的两上字符组成的字符组成的字符串是否可能是一个符号的组成部分,如果可能,继续读入下一个字符,重复上述判断,直到读入的字符组成的字符串已不再可能组成一个有意义的符号.这个处理的策略被称为贪心法.,intj=7,q,a=2;q=a+j;printf(%d,q);,打印出来的P为多少?,注意,自增自减运算符不能用于常量与表达式在表达式中使用同一变量进行自增自减,很容易出错,最好避免这种用法。,关系运算符,关系运算符用于测试两个操作数或两个表达式之间的关系,其中操作数可以是变量、常量或表达式。关系运算符种类=、=、(num3num4),num=40;num/10!=2,gender=m,真,假,=,如果gender=f,如果gender=m,逻辑运算符,逻辑运算符用于连接一个或多个条件,判断这些条件是否成立,逻辑“与”运算符printf(n请输入一个字符:);scanf(%c,使用doublediscount,total;printf(n请输入第一种商品的价格:);scanf(%f,if(rate150)|(rate250)|(rate350)|(total100),输出:请输入第一种商品的价格:34请输入第二种商品的价格:42请输入第三种商品的价格:38折后总价为:96.90,问题描述:确定用户输入的数字是否可以被5整除,并输出相应的消息。,#includevoidmain()intnum;printf(n请输入一个数:);scanf(%d,使用!运算符,请输入一个数:90,该数能被5整除,sizeof运算符,使用sizeof运算符可以获得数据类型占用内存空间的大小。其一般形式为:sizeof(type_name)sizeof运算符的结果以字节为单位显示,sizeof(int);,floatnum;sizeof(num);,注意:在32位计算机中,int类型的变量占4字节的内存大小,和long类型的大小一样,所以现在基本上可以直接使用int类型,而不需要使用long类型。,运算符优先级1,当我们遇到一个复杂表达式时,需要确定先执行哪种运算,此时就需要考虑运算符的优先级,z=x+yg*h*(t/20)+65r%2,先算哪部分加?减?取余?除?括号?,要解决此问题,需要使用:运算符优先级,运算符优先级2,问题描述:判定给定的年份是否为闰年。提示:闰年的判定规则为:能被4整除但不能被100整除的年份,或能被400整除的年份。,#includevoidmain()intyear;printf(n请输入年份:);scanf(%d,综合示例1,请输入年份:2005,2005年不是闰年,问题描述:输入一个5位数,判断它是不是回文数。例如:12321是回文数,个位与万位相同,十位与千位相同。,#includevoidmain()longge,s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论