C语言程序设计2第3章-数据类型、运算与表达式.ppt
《C语言程序设计2第3章-数据类型、运算与表达式.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计2第3章-数据类型、运算与表达式.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第三章第三章 数据类型、运算符和表达式数据类型、运算符和表达式Chapter ThreeVariables,Data Types,and Arithmetic Expressions23.1 C3.1 C语言数据类型语言数据类型单精度型float(single precision)双精度型(double precision)基本类型Basic Type构造类型conformation指针类型(Pointer)空类型(Dummy)数据类型Data Type整型(integer)字符型(character)实型(浮点型)(Real)枚举类型(enumeration)数组(Array)结构体类型(
2、Structure)共用体类型(Union)3C字符集Letters字母AZUppercase大写字母azLowercase小写字母Digits数字09All Decimal digits数字Special Characters特殊符号_Under score下划线,comma逗号.period小数点,句号;semicolon分号:colon冒号?Question mark问号apostrophe单引号“quotation双引号4C字符集(续)!Exclamation mark感叹号|Vertical bar竖线/slash斜线backslash反斜线tilde波浪线$Dollar sign美
3、元符号%Percent sign百分号&ersand与caret幂次符号5C字符集(续)*asterisk星号-Minus sign减号+Plus sign加号closing angle bracket(or less than sign)右尖括号(或大于号)(Left parenthesis左圆括号)Right parenthesis右圆括号Left bracket左方括号Right bracket右方括号Left brace左大(花)括号Right brace右大(花)括号#Number sign井号6常量常量(Constant)1.定义定义:在程序执行期间在程序执行期间,其值不发生
4、变化的量称为常量其值不发生变化的量称为常量2.类型:类型:v直接常量直接常量(Direct)又称又称字面常量字面常量。分为。分为整型常量:整型常量:123,-321,0,654321,+78实型常量:实型常量:2.68,3.14,2.718,1.38e12单字符常量:单字符常量:a,C,z字符串常量:字符串常量:”china”,”student”,”class number”3.2 3.2 常量与变量常量与变量(Constant and(Constant and Variable)Variable)73.2 3.2 常量与变量常量与变量(Constant and(Constant and Va
5、riable)Variable)v符号常量符号常量(Symbol)即用一个符号代表一个常量即用一个符号代表一个常量 例如例如:#define PI 3.1415926/预处理命令预处理命令 main()float r,l,s;r=2;l=2*PI*r;s=PI*r*r;printf(“l=%d,s=%d”,l,s);编译器编译后,程序中的有关代码变成了(编译器编译后,程序中的有关代码变成了(.obj文件,不可见)文件,不可见)l=2*3.1415926*r;s=3.1415926*r*r;8说明:说明:v符号常量必须符号常量必须先定义先定义后才能用它表示一个数值。后才能用它表示一个数值。v符号
6、常量的值在其作用域内符号常量的值在其作用域内不能改变不能改变,也不能,也不能被再赋值。被再赋值。v符号常量名习惯用符号常量名习惯用大写大写字母表示。字母表示。93.2.2 变量变量1.定义:定义:程序执行期间值可以改变的量。2.命名规则命名规则:变量名由标识符表示,只能由字母字母、数字数字和下划线下划线三种字符组成,且第一个字符不得为数字。例如:下列标识符中,不合法不合法的变量名有:M.D.John ,12%gf ,1add,age&5thclass,lotus-1-2-3,cd*ef,float3.变量要变量要“先定义,后使用先定义,后使用”定义格式:定义格式:类型说明符类型说明符 标识符标
7、识符1,1,标识符标识符n n;例如:int x,y,z;(每个整型变量分配 2字节bytes存储单元)float a,b,c,d;(每个单精度变量分配 4字节存储单元)double u,v,w;(每个双精度变量分配 8字节存储单元)3a10在在C语言中,变量之所以要强制定义,其目的:语言中,变量之所以要强制定义,其目的:1、避免在使用时输错:int student;stadent=30;。2、每一个变量被指定为一确定的类型,在编译时就能为 其分配相应的存储单元。3、指定每一个变量为一确定的类型,在编译时据此检查 该变量所进行的运算是否合法。例如:如果有double x,y;int z;对于运
8、算:z=x*y;在编译时系统就会提示该运算类型不匹配:warning C4244:=:conversion from double to int,possible loss of data11l选变量名时,要做到“见名知意”例如:name student_num max class suml大小写字母是两种不同的字符,C变量名习惯用小写小写字母表示。l变量名的长度因系统而异。当用TC编译系统时,不要超过8个字符,而用Visual C+编译系统时,几乎无限制。请请 注注 意意123.33.3整型数据整型数据整型常量的表示法整型常量的表示法十进制整数十进制整数:由数字(0-9)和正负号表示 例如:
9、123、-456、0 等八进制整数八进制整数:以0开头 例如:037,0,0435,0551,0123 即(123)8=(83)10(123)8=182+2 81+3 80=(83)10十六进制整数十六进制整数:以0 x或0X开头 例如:0X2,0 x9F,0Xbcd,0X 0 x123 即(123)16=(291)10 -0 x12 即(-12)16=(-18 )10133.3.2 整型变量整型变量1.整型数据在内存中的存放形式(补码表示法:便于加整型数据在内存中的存放形式(补码表示法:便于加减运算)减运算)int i;i=10;10=(1010)2 余数首位0 0 0 0 0 0 0 0
10、0 0 0 0 1 0 1 00 0 0 0 0 0 0 0 0 0 0 0 1 0 1 01 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 010的原码取反再加1,得-10的补码10的表示法的表示法,正数的补码等于它的原码正数的补码等于它的原码-10的的表示表示2102522102012102212314计算计算10-10:10-10=10+(-10)0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
11、1 0 1 1 00=10-10+152 整型变量的分类整型变量的分类 基本型(16位):以 intint 表示(-3276832767)短整型(16位):以short intshort int或shortshort表示 1.类型 长整型(32位):以long intlong int或longlong表示 (-2.1E9L2.1E9L)无符号基本型(unsigned intunsigned int)无符号型 无符号短整型(unsigned shortunsigned short)无符号长整型(unsigned longunsigned long)一个无符号整型变量中可以存放的正数的范围比一般整
12、型变量中正数的范围扩大一倍。unsigned int b;/*变量b的数值范围:065535 */整整型变量的字长型变量的字长short型型 2个字节个字节byte(字长(字长16位位bit)int 型型 一般是一般是2个字节个字节long 型型 4个字节(字长个字节(字长32位)位)C要要求求 short型型数数据据长长度度短短于于int型型,int型型短短于于long型。型。(short=int int-int=chard-a=100-97=003=vfloat+float=double+double=double int/float=float/float=floatfloat a;a=
13、1/3.0=1.0/3.0=0.3333333double c;c=1.0/3.0=0.3333333333333333int b;b=1/3.0=1.0/3.0=0.3333333=0vint/int=intfloat a;a=1/3=0.0;int b;b=1/3=0;Decision loss36例:若有:int i ;float f ;double d;long e;试判断表达式 3+b+i*f-d/e 的类型 int float float double double例:如果int a=5,b=2;double x;x=a/b;printf(“x=%f“,x);输出结果是什么?X=2
14、.00000037 C语言使用的基本表达式有:语言使用的基本表达式有:赋值表达式,如:赋值表达式,如:a=3 算术表达式,如:算术表达式,如:3+4*2 关系表达式,如:关系表达式,如:32,a=b,c!=0 逻辑表达式,如:逻辑表达式,如:35&a=b 条件表达式,如:条件表达式,如:ab?a:b 逗号表达式,如:逗号表达式,如:a=3,b=4,c=5383.83.8算术运算符和算术表达式算术运算符和算术表达式(Arithmetic Operators and Expressions)Arithmetic Operators and Expressions)1、基本的算术运算符、基本的算术运
15、算符:+-*/%l整型数运算int a=14,b=4;a-b=10a+b=18a*b=56a/b=3(decimal part truncated)a%b=2(reminder of division)-14%3=-239l实型数运算float x,y,z;x=6.0/7.0=0.857143y=1.0/3.0=0.333333z=-2.0/3.0=-0.666667%operator can not be used herel混合运算15/10.0=1.515/10=140说明:()上述运算符均为双目运算符(即有两个操作数two operands)(2)“”运算中,若操作数均为整数,则执行整
16、除运算,舍去小数部分。例如:5/3=1(3)“”要求两侧均为整数,“”运算不能用于float 和 double型数据例如:2412 2、算术表达式和运算符的优先级与结合性、算术表达式和运算符的优先级与结合性(Priority and CombinationPriority and Combination,附录,附录III III)(1)算术表达式:用算术运算符和括号将操作数连接起来的,符合语法规则的式子。例如:a+b+a*b/c+2.8(2)优先级:优先级:高于(3)结合性结合性:“自左至右的结合方向”例如:a-b+c42说明:()表达式应用括号括起例如:(int)(x+y);()在强制类型转
17、换时,得到一个所需类型的中间变量,原来变量类型未发生变化。(3)用途:完成某种运算,如(int)5.5%3;在函数调用时使实参与形参一致。3 3、强制类型转换、强制类型转换(Forced Forced type type transformationtransformation)形式:(类型名)(表达式)例如:(double)(a+b)43举例作用x=(int)7.57.5 通过截尾转换为整数a=(int)21.3/(int)4.5转换为21/4,结果为5b=(double)sum/n以浮点数(实型数)模式计算除法y=(int)(a+b)将表达式a+b转换为整数z=(int)a+b将a转换为整
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 数据类型 运算 表达式
限制150内