[工学]C语言-第2章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[工学]C语言-第2章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 语言 课件
- 资源描述:
-
1、第第2 2章章 C C语言的基本数据类型与表达式语言的基本数据类型与表达式2.1 C2.1 C语言的基本数据类型语言的基本数据类型 2.2 2.2 常量与变量常量与变量2.3 2.3 运算符与表达式运算符与表达式 2.4 2.4 数据类型转换数据类型转换2.1 C2.1 C语言的基本数据类型语言的基本数据类型为什么要设置数据类型?为什么要设置数据类型?数据类型决定:数据类型决定:1.1.数据占内存字节数数据占内存字节数2.2.数据取值范围数据取值范围3.3.其上可进行的操作其上可进行的操作 字符型字符型(charchar)整型整型 (short,int,long,unsignedshort,i
2、nt,long,unsigned)基本类型基本类型 单精度型单精度型(floatfloat)实型实型 双精度型双精度型(doubledouble)枚举类型枚举类型(enumenum)数据类型数据类型 数组类型数组类型()构造类型构造类型 结构体类型结构体类型(structstruct)共用体类型共用体类型(unionunion)指针类型指针类型(*)空类型空类型(voidvoid)一、数据类型概述一、数据类型概述二、整型二、整型(采用定点整数的存储格式,只能表示纯整数采用定点整数的存储格式,只能表示纯整数)1 1、整型常量:整型常量:(1)(1)十进制形式十进制形式:与数学上的整数表示相同;与
3、数学上的整数表示相同;例如例如:12=1:12=1*10101 1+2+2*10100 0=12(=12(十进制十进制)(2)(2)八进制形式八进制形式:在数码前加数字在数码前加数字0 0;例如例如:012=1:012=1*8 81 1+2+2*8 80 0=10(=10(十进制十进制)(3)(3)十六进制形式十六进制形式:在数码前加在数码前加0X(0X(数字数字0 0和字母和字母X X)。例如例如:0 x12=1:0 x12=1*16161 1+2+2*16160 0=18(=18(十进制十进制)0 x1fc=1 0 x1fc=1*16162 2+15+15*16161 1+11+11*16
4、160 0=507(=507(十进制十进制)八进制的数码范围为八进制的数码范围为0-70-7,十六进制的数码除了数字,十六进制的数码除了数字0-90-9外外,还使用英文字母还使用英文字母a-f(a-f(或或A-F)A-F)表示表示10-1510-15。2 2、整型变量的分类:、整型变量的分类:根据数据所占的存储长度的不同分为根据数据所占的存储长度的不同分为:intint整型、整型、short intshort int短整型、短整型、long intlong int长整型;长整型;同样存储长度的数据又分:同样存储长度的数据又分:unsignedunsigned无符号、无符号、signedsign
5、ed有符号(通常省略);有符号(通常省略);关键字关键字 所占位数所占位数 取值范围取值范围 shortshort 16 -32768 16 -327683276732767unsigned shortunsigned short 16 0 16 06553565535 Int Int 16 -32768 16 -327683276732767Unsigned intUnsigned int 16 0 16 06553565535 Long Long 32 -2147483648 32 -214748364821474836472147483647unsigned longunsigned l
6、ong 32 0 32 042949672954294967295三、实型三、实型1 1、常量:、常量:(1)(1)十进制小数形式:十进制小数形式:由数字和小数点组成;由数字和小数点组成;例如例如:3:3,3.4,3.4,4.,4.,.3,.3,.,.(2)(2)指数形式:指数形式:“十进制小数十进制小数”+“e(+“e(或或E)”+“E)”+“十进制数整数十进制数整数”。例如例如:12.5e-6:12.5e-6 表示表示12.512.51010-6-6 。6E0.26E0.2 ,e5,e5 2 2、实型变量的分类及值域、实型变量的分类及值域:关键字关键字 字节数字节数 取值范围取值范围 精度
7、精度(位位)float 4 -3.4float 4 -3.4101038383.43.410103838 7 7double 8 -1.7double 8 -1.710103083081.71.71010308308 15 15四、字符类型四、字符类型1 1、字符常量、字符常量(1)(1)用单引号括起来的一个字符:用单引号括起来的一个字符:如如:AA、aa、11、?等。等。(2)(2)用单引号括起来的由反斜杠用单引号括起来的由反斜杠()引导的转义字符。引导的转义字符。反斜杠反斜杠 aa警告警告 bb退格退格 ff换页换页 nn换行换行 rr回车回车tt横向跳格横向跳格 vv垂直跳格垂直跳格 单
8、引号单引号 ”双引号双引号0 0 空字符:不计入字符串长度,读取到第空字符:不计入字符串长度,读取到第1 1个个00时就认为字符串结束,不再继续向后面读取和统计。时就认为字符串结束,不再继续向后面读取和统计。dddddd 1 1到到3 3位位8 8进制数表示的进制数表示的ASCIIASCII码对应的字符码对应的字符 xhhxhh 1 1到到2 2位位1616进制数表示的进制数表示的ASCIIASCII码对应的字符码对应的字符u字符字符A A的的ASCIIASCII码为:码为:65D(65D(十进制十进制)=41H()=41H(十六进制十六进制)=101Q()=101Q(八进制八进制)字符字符A
9、 A可表示为可表示为AA、x41x41、101101 u字符字符a a可表示为可表示为aa、x61x61、141141 97D(97D(十进制十进制)=61H()=61H(十六进制十六进制)=141Q()=141Q(八进制八进制)u字符字符8 8可表示为可表示为88、x38x38、7070 56D(56D(十进制十进制)=38H()=38H(十六进制十六进制)=70Q()=70Q(八进制八进制)2 2、字符变量(标识符为、字符变量(标识符为)每个字符型数据在内存中占每个字符型数据在内存中占1 1个字节;包括个字节;包括ASCIIASCII字字符表中的所有字符符表中的所有字符(可显示字符和非显示
10、字符可显示字符和非显示字符)。字符型可参与数学运算,也可看成一种字符型可参与数学运算,也可看成一种1 1字节的整型字节的整型变量。变量。3 3、字符串常量:、字符串常量:是用一对双引号括起来的字符序列。是用一对双引号括起来的字符序列。注意:每个字符串的后面都有一个注意:每个字符串的后面都有一个00结束符结束符(通常省略)。(通常省略)。如:如:“SHANGHAI”SHANGHAI”,“AbcdeFGHijkAbcdeFGHijk”,“How are How are you”you”。字符常量与字符串常量不同字符常量与字符串常量不同h e l l o 0h e l l o 0字符串字符串“hel
11、lo”hello”在内存中在内存中a aa 0a 0 aa“a”a”空串空串“”“”在内存中在内存中004 4、字符串变量(见第七章中的字符数组与字符串、字符串变量(见第七章中的字符数组与字符串)一、常量与符号常量一、常量与符号常量常量是指在程序运行中常量是指在程序运行中,其数值不能被改变的量。其数值不能被改变的量。2.2 2.2 常量与变量常量与变量常量常量直接常量直接常量符号常量(标识符定义)符号常量(标识符定义)数值常量数值常量字符型常字符型常量量整型常量整型常量实型常量实型常量字符常量字符常量字符串常字符串常量量120120、-100-100、0 0;十进制十进制 01200120、0
12、72072;八进制;八进制0 xFFFF0 xFFFF、0 x1e0 x1e、0X28AF0X28AF,0XED40XED4;十六进制;十六进制120120L,200LL,200L;长整型常量长整型常量(字符字符L L大小写均可大小写均可)3.143.14、-3.1-3.1、5.125.12E-6E-6;实型;实型(只能十进制表示只能十进制表示)aa、#、nn、101101;字符型;字符型 changshachangsha、+?abab ;字符串型;字符串型099099、12f12f、0 xg0 xg、48EA48EA;019.5 019.5、1e-081e-08;实型常量实型常量2.12.1
13、E10.2E10.2、E-6E-6、6.4E+4.86.4E+4.8、E9E9 ;、abab;1、直接常量:、直接常量:是在程序中直接引用的数据。是在程序中直接引用的数据。2 2、符号常量、符号常量用标用标识符来表示一个数据,但在程序中不能给它赋值。识符来表示一个数据,但在程序中不能给它赋值。定义形式定义形式:#define#define 标识符标识符 常量数据常量数据例如例如:#define PI 3.14159 :#define PI 3.14159 在程序预处理时,凡是出现标识符在程序预处理时,凡是出现标识符PIPI的地方都将的地方都将用数据用数据3.141593.14159来替换。来替
14、换。如如:2:2*2.32.3*PI PI 就等价于就等价于 2 2*2.32.3*3.141593.14159。例例#define PRICE 12.5 main()int num=3;float total;char ch1,ch2=D;total=num*PRICE;ch1=ch2-A+a;printf(“total=%f,ch1=%cn”,total,ch1);宏定义宏定义变量定义变量定义输出结果输出结果运行结果:运行结果:total=37.500000,ch1=d 变量是指变量是指以标识符为名字,其值可以改变的量。以标识符为名字,其值可以改变的量。变量代表计算机内存中的某一存储空间,
15、变量代表计算机内存中的某一存储空间,该存储空间该存储空间中存放中存放的数据就是变量的值。的数据就是变量的值。在同一程序块中,在同一程序块中,变量变量不能被重复定义。不能被重复定义。使用变量时必须使用变量时必须“先定义,后使用先定义,后使用”。二、变量定义变量就是在内存中划出一块相应类型的存定义变量就是在内存中划出一块相应类型的存储空间存放该变量的值。定义形式如下:储空间存放该变量的值。定义形式如下:类型标识符类型标识符 变量名变量名1 1,变量名变量名2 2,变量名变量名3 3.;intinta a,b b,c_2c_2,studentsstudents;floatfloatx x,xyxy;
16、charcharc1c1,c2c2;在同一程序中在同一程序中变量名不允许变量名不允许被重复定义。被重复定义。intinta,ba,b=3,c_2=9,students=3,c_2=9,students;intint d=e=f=3 d=e=f=3;floatfloatx,xyx,xy=3.76=3.76;charcharc1,c2=kc1,c2=k;a=students=6a=students=6变量的赋值变量的赋值在定义变量的同时给变量一个初始值,在定义变量的同时给变量一个初始值,但不能连续赋初值。但不能连续赋初值。使用使用“”赋值,且常量与变量类型相同。赋值,且常量与变量类型相同。int
17、a,bint a,b;float xfloat x;a=b=x=12.34a=b=x=12.34int a,bint a,b;float xfloat x;x=a=b=12.34x=a=b=12.34x=12 a=12 b=12x=12 a=12 b=12x=12.34 a=12 b=12x=12.34 a=12 b=12 main()main()int int x x,y y,z z,w w;/*定义定义x x,y y,z z,w w为整型变量为整型变量*/unsigned int unsigned int k k;/*定义定义k k为无符号整型变量为无符号整型变量*/char c1,c2=
18、b;char c1,c2=b;x=10 x=10;y=-20y=-20;k=30k=30;c1=a;c1=a;z=x+k z=x+k;w=y+kw=y+k;c1=c1-32;c2=c2-32;c1=c1-32;c2=c2-32;printf(“x+k printf(“x+k=%d=%d,y+k=%dny+k=%dn”,z z,w);w);printf(“%c printf(“%c%cn”,c1,c2);%cn”,c1,c2);例例2-12-1和例和例2-22-2x+kx+k=40=40,y+ky+k=10=10A BA B2.3 2.3 运算符与表达式运算符与表达式运算符:就是表示某种运算功能
19、的符号。运算符:就是表示某种运算功能的符号。算术运算符、赋值运算符、逗号运算符、求字节运算符、算术运算符、赋值运算符、逗号运算符、求字节运算符、条件运算符、关系运算符、逻辑运算符条件运算符、关系运算符、逻辑运算符位运算符、位运算符、指针运算符、强制类型转换运算符、指针运算符、强制类型转换运算符、分量运算符、下标运算符、其他运算符分量运算符、下标运算符、其他运算符表达式:是由操作数和运算符组成的序列。表达式:是由操作数和运算符组成的序列。如:如:1+21+2*3-4 3-4、35-7 35-7、a=b%2a=b%2、39 39 等等 在数学里当多个运算符一起组成一个表达式,我们规在数学里当多个运
20、算符一起组成一个表达式,我们规定了定了优先级优先级(先乘除后加减先乘除后加减)和和结合规则结合规则(从左至右从左至右)。同样在同样在C C语言中我们也规定了每个运算符的语言中我们也规定了每个运算符的结合规则结合规则及运算符之间的及运算符之间的优先级优先级。()()(括号括号)+、-、-、sizeofsizeof、!、!(连加连加.连减连减.负号负号.求字节数求字节数.逻辑非逻辑非)*、/、%(算术运算符算术运算符)高高+、-(算术运算符算术运算符)(左右移位左右移位)、=、=(关系运算符关系运算符)=、!=!=(关系运算符关系运算符)&(按位与按位与)运算级别运算级别 (按位异或按位异或)|(
21、按位或按位或)&(逻辑与逻辑与)|(逻辑或逻辑或)?、:?、:(条件运算条件运算)低低=、+=+=、-=-=、*=、/=/=、%=%=、=、=、&=&=、=、|=|=(赋值赋值),(逗号逗号)红色红色(自左至右自左至右)蓝色加下划线蓝色加下划线(自右至左自右至左)一、算术运算符和算术表达式一、算术运算符和算术表达式1 1、算术运算符、算术运算符(双目运算符,有两个操作数)(双目运算符,有两个操作数)(加加)、(减减)、(乘乘)、(除除)、(取余取余)两个整数相除,结果为整数,舍去小数部分;两个整数相除,结果为整数,舍去小数部分;参加运算的两个数中有一个为实数,则结果为参加运算的两个数中有一个为
22、实数,则结果为doubledouble型,因为所有实数都按型,因为所有实数都按doubledouble型进行运算。型进行运算。取余运算的操作数只能是整数,且结果的符号与取余运算的操作数只能是整数,且结果的符号与前一操作数的符号相同;前一操作数的符号相同;5/2=2 -5/2=-2 5.0/2=2.5 5/2=2 -5/2=-2 5.0/2=2.5 5%3=2 -5%3=-2 5%(-3)=2 -5%(-3)=-25%3=2 -5%3=-2 5%(-3)=2 -5%(-3)=-2;2 2、算术表达式、算术表达式用算术运算符和括号将操作数连接起来的式子。用算术运算符和括号将操作数连接起来的式子。优
23、先级:优先级:结合规则:从左至右结合规则:从左至右表达式的值表达式的值:数值型数值型float a=2.0float a=2.0;intint b=6,c=3 b=6,c=3;求解:求解:a a*b/c-1.5+a+fabs(-5)b/c-1.5+a+fabs(-5)2.02.0*6/3-1.5+97+56/3-1.5+97+54.0-1.5+97+54.0-1.5+97+5104.5104.5intint a=1,b=2 a=1,b=2;求解:;求解:a/b+3a/b+31/2+31/2+30+30+33 3intint a=10000,b=30000 a=10000,b=30000;求解:
24、;求解:a+ba+b出错(改为出错(改为longlong)intint a=10000,b=30000 a=10000,b=30000;求解:;求解:a+ba+b=40000=40000(不出错)(不出错)在在VC+6.0VC+6.0中中intint占占4 4个字节,通常情况下个字节,通常情况下X X位位CPUCPU中的中的intint型占用的字节数为型占用的字节数为X/8X/8。3 3、自增与自减运算符、自增与自减运算符 (+(+、-)+i,-i+i,-i:使用之前使:使用之前使i i的值增的值增1(1(或减或减1)1);i+,ii+,i-:使用之后使:使用之后使i i的值增的值增1(1(或
25、减或减1)1);当当+、-不与其他运算符混合使用时,不与其他运算符混合使用时,+i+i与与i+i+都等价于都等价于i=i+1i=i+1,-i-i与与i-i-都等价于都等价于i=i-1i=i-1。i=3;i=3;j=i+;j=i+;等价于:等价于:j=i;ij=i;i+;+;i=4i=4,j=3 j=3 i=3;i=3;j=+i;j=+i;等价于:等价于:i+;ji+;j=i;=i;i=4i=4,j=4j=4结合性:自右至左结合性:自右至左i=2i=2;j=-i+j=-i+;“+”+”与与“-”(-”(负号负号)是同优先级,且都高于是同优先级,且都高于“=”=”按结合规则,等价于:按结合规则,等
展开阅读全文