2012-第02章 基本数据类型、运算符与表达式( ).ppt_第1页
2012-第02章 基本数据类型、运算符与表达式( ).ppt_第2页
2012-第02章 基本数据类型、运算符与表达式( ).ppt_第3页
2012-第02章 基本数据类型、运算符与表达式( ).ppt_第4页
2012-第02章 基本数据类型、运算符与表达式( ).ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

第2章基本数据类型、运算符与表达式,掌握变量和常量的概念;掌握各种整型、字符型、浮点型变量的定义和引用方法;掌握赋值运算符、算术运算符、位运算符、逗号运算符以及sizeof的使用方法;理解运算符的优先级和结合性的概念,记住所学的各种运算符的优先级关系和结合性。,学习目标,2.1C语言数据类型,本章所介绍的数据类型,2.2常量、变量和标识符1.标识符定义:用来标识变量、常量、函数等的字符序列组成:只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线C语言的关键字不能用作变量名大小写敏感长度:有效长度为32个字符。随系统而异,但至少前8个字符有效命名原则:变量名和函数名中的英文字母一般用小写,以增加可读性见名知意不宜混淆如l与I,o与0,例:判断下列标识符号合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3charab_above$123,M.D.John,3days,#33,char,$123,ab,.字符非法,数字3不可作首字符,#字符非法,char是关键字,字符非法,$不可作首字符,auto,break,case,char,continuedefault,do,double,enum,elseint,long,register,return,shortsizeof,static,struct,switch,typedefunion,unsigned,while,extern,floatfor,goto,if,2.2常量、变量和标识符2.常量定义:程序运行时其值不能改变的量(即常数)常量的分类:直接常量(值常量)整型常量:10、15、-10、-30实型常量:12.5、30.0、-1.5字符常量:A、b、c字符串常量:“sum”、“A”、“123”符号常量用标识符来代表常量。其定义格式为:,#define符号常量常量,#defineNUM20#definePI3.1415926,#include#definePRICE30voidmain()intnum,total;num=10;total=num*PRICE;printf(total=%d,total);,运行结果:total=300,行尾不能有分号define前面一定要有#符号常量名最好使用大写符号常量名最好有意义,2.2常量、变量和标识符3.变量定义:程序运行时其值可以被改变的量变量的两要素:变量名、变量值变量的定义格式:变量的初始化:定义时赋初始值变量的使用:先定义,后赋值变量定义位置:一般放在函数开头,数据类型变量名1,变量名2,变量名n;,intx,y,z;floatradius,length,area;charch;,例:inta=2,b,c=4;floatdata=3.67;charch=A;intx=1,y=1,z=1;intx=y=z=1;,例1:intstudent;stadent=19;/Undefinedsymbolstatentinfunctionmain,例2:floata,b,c;c=a%b;/Illegaluseoffloatingpointinfunctionmain,2.3简单数据类型与表示范围,1.整型数据,整型常量,十进制整数:由数字09和正负号表示.如:123,-456,0八进制整数:由数字0开头,后跟数字07表示.如:0123,011十六进制整数:由0 x或0X开头,后跟09,af,AF表示.如0 x123,0Xff,定义整数的符号常量#defineNUM120/十进制数20#defineNUM2020/八进制数(十进制16)#defineNUM30 x2a/十六进制数(十进制42),思考题:下列整型常量哪些是非法的?012,oX7A,00,078,0 x5Ac,-0 xFFFF,0034,7B。,首字符不能是字母o,八进制数中不能有数字8,十进制数中不能有字母B,2.整型变量,整型变量的定义,int变量名,变量名2,变量名n;,定义时可以赋初值,方法:在变量名后面增加“=数值”,例:inta;intx,y,z;intm=2,y=-3;,整型变量的分类,整型(int)inta=-2;/定义一个有符号整型变量a,并赋初值-2int在内存4个字节长,短整型(shortint或short),shortinta=2;/定义一个有符号短整型变量a,并赋初值2或shorta=2;占用的内存单元为2个字节,无论是TC、BC,还是VC。,长整型(longint或long),longinta=234567;/定义一个有符号长整型变量a,并赋初值234567或longa=234567;占用的内存单元为4个字节,无论是TC、BC,还是VC。,无符号基本型(unsignedint或unsigned),unsignedinta=2;/定义一个无符号整型变量a,并赋初值2或unsigneda=2;,无符号短整型(unsignedshortint或unsignedshort),unsignedshortinta=2;/定义一个无符号短整型变量a,并赋初值2或unsignedshorta=2;,无符号长整型(unsignedlongint或unsignedlong),unsignedlonginta=2;/定义一个无符号长整型变量a,并赋初值2或unsignedlonga=2;,整数常量的分类,根据其值所在范围确定其数据类型。如果整型常量的值位于-3276832767之间,C语言认为它是int型常量;如果整型常量的值位于-21474836482147483647之间,C语言认为它是long型常量。整型常量后加字母l或L,认为它是longint型常量。比如123L、45l、0XAFL。无符号数也可用后缀表示,整型常数的无符号数的后缀为U或u。例如:358u,0 x38Au,235Lu均为无符号数。前缀、后缀可同时使用以表示各种类型的数。如0XA5Lu表示十六进制无符号长整数A5,其十进制为165。,3.实型数据,实型常量(实数或浮点数),十进制小数形式:由数字09和小数点组成.如:0.0,5.6,-5.指数形式:由十进制数,加阶码标志e或E以及阶码(只能为整数,可以带符号)组成.其一般形式为:aEn其中:a为十进制数,n为十进制整数,都不可缺少。其可表示为a10n,合法的实数表示:2.1E5表示2.1105,3.7E-2表示3.710-2。,非法的实数表示:345(无小数点),E7(阶码标志E之前无数字),-5(无阶码标志),50.-E3(负号位置不对),实型变量,单精度实型(float)floatf=3.14,g;这种定义的变量在内存中占4个字节(32位)的存储单元。双精度实型(double)doublex,y;这种定义的变量在内存中占8个字节(64位)的存储单元。,4.字符型数据和字符串常量,字符型常量,定义:用单引号括起来的单个普通字符或转义字符.,如aA?n101,字符常量的值:该字符的ASCII码值,如A65,a97,048,n10,转义字符:反斜线后面跟一个字符或一个代码值表示,如101-A012-n376-x61-a60-0483-(),例:A-101-x41-65,例:转义字符举例#includevoidmain()printf(101x42Cn);printf(Isay:Howareyou?n);printf(CProgramn);printf(VisualC);,运行结果:(屏幕显示)ABCIsay:”Howareyou?”CProgramVisualC,例:voidmain()printf(“Yb=n”);,运行结果:屏幕显示:=,字符串常量定义:用双引号(“”)括起来的字符序列存储:每个字符串尾自动加一个0作为字符串结束标志,例1:字符串“HELLO”在内存中,例2:空串“”,0,字符常量与字符串常量不同,例:charch;ch=“A”;,例:charch;ch=A;,字符型变量字符型数据类型符是char(字符character)在内存中占1个字节(8位)字符变量存放字符ASCII码char与int数据间可进行算术运算,5.简单数据类型的表示范围,2.4C语言的运算符与表达式,变量用来存放数据,运算符则用来处理数据。用运算符将变量和常量连接起来的符合C语法规则的式子被称为表达式。,1.赋值运算符、赋值表达式,赋值运算符(“”,双目运算符),功能:将右边常量或变量或表达式的值赋给左边变量,赋值表达式,由赋值运算符或复合赋值运算符将一个变量和一个表达式连接起来的表达式,称为赋值表达式。,赋值表达式的值:被赋值变量的值。,例如:“a=5”这个赋值表达式,变量a的值“”就是它的值。,变量=常量或变量或表达式,赋值语句,例如:x=8;a=b=c=5;,定义:赋值表达式在其后面加分号就构成了赋值语句。,赋值运算符及赋值表达式的使用,多个变量连续赋值,例如:a=b=c=10;,a=(b=(c=10);,结果:a、b、c的值都为10,赋值表达式的嵌套,例如:a=(b=2)+(c=3),(a=(b=2)+(c=3),结果:b为2,c为3,a为b+c即5,2.强制类型转换符,强制转换,强制类型转换是通过类型转换运算来实现的。其一般形式为:,(类型说明符)(表达式),例:floatx=3.5,y=2.1,z;inta;a=(int)(x+y);/结果为5z=(int)x+y;/结果为5.100000z=(double)(3/2);/结果为1.000000a=(int)3.6;/结果为3,基本算术运算符:+-*/%优先级:-*/%-+-说明:“-”可为单目运算符时,右结合性两整数相除,结果为整数%要求两侧均为整型数据,例:5/2=-5/2.0=,例:5%2=-5%2=1%10=5%1=5.5%2,3.算术运算符、算术表达式,2,-2.5,1,-1,1,0,(),表达式和算术表达式,3.算术运算符、算术表达式,表达式:用运算符和括号将运算对象(常量、变量和函数等)连接起来的、符合语言语法规则的式子。算术表达式:表达式中的运算符都是算术运算符的表达式。,运算符优先级(到目前为止),例:3+5*8、(x+y)/2-1等,自增、自减运算符+-作用:使变量值加1或减1种类:前置+i,-i(先执行i=i+1或i=i-1,再使用i值)后置i+,i-(先使用i值,再执行i=i+1或i=i-1),例:j=3;k=+j;j=3;k=j+;j=3;printf(“%d”,+j);j=3;printf(“%d”,j+);a=3;b=5;c=(+a)*b;a=3;b=5;c=(a+)*b;,/k=4,j=4,/k=3,j=4,/4,/3,/c=20,a=4,/c=15,a=4,4.自增自减运算符、符号运算符,负号运算符(“-”)减号()既是一个算术运算符,又是一个负号运算符。负号运算符是单目运算符。例如:a=2,那么a的值就是2。负号运算符的优先级比较高,与强制类型转换符是同一个级别。,5.逗号运算符、逗号表达式,位运算符:,逗号表达式:用逗号连接起来的表达式。其一般形式为:,表达式1,表达式2,表达式k,优先级:优先级最低。结合性:左结合性。即逗号表达式的求值顺序是从左向右依此计算用逗号分隔的各表达式的值。逗号表达式的值:最后一个表达式的值就是整个逗号表达式的值。用途:常用于循环for语句中。,例如:a+3,b=4,b+,例:a=3*5,a*4a=3*5,a*4,a+5例:x=(a=3,6*3)x=a=3,6*a例:a=1;b=2;c=3;printf(“%d,%d,%d”,a,b,c);printf(“%d,%d,%d”,(a,b,c),b,c);,/a=15,表达式值60,/a=15,表达式值20,/赋值表达式,表达式值18,x=18,/逗号表达式,表达式值18,x=3,/1,2,3,/3,2,3,例:#includevoidmain()intx,y=7;floatz=4;x=(y=y+6,y/z);printf(x=%dn,x);,运行结果:x=3,6.sizeof运算符、复合运算符,sizeof运算符功能:获取变量和数据类型所占内存大小(字节数)格式:,sizeof表达式sizeof(数据类型名或表达式),例:sizeof(int)其值为2(在TC2.0或BC3.1下)其值为4(在VC6.0下)sizeof(long)其值是4sizeof10L其值也是4unsignedlonga=2;sizeof(a)其值也是4,复合赋值运算符,种类:+=-=*=/=%=a+=a-=a*a;,/a=-264等价于a=a+(a=a-(a*a),2.5运算符的优先级和结合性,C语言编程习惯,(1)一行只放一条语句。(2)养成随时给程序加注释的习惯。(3)程序的书写要有层次感,该缩进的一定要缩进。(4)编写函数时,变量定义部分和函数的执行部分之间增加一空行,或者在程序的执行部分按照完成的功能块增加相应的空行,会增加程

温馨提示

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

评论

0/150

提交评论