版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章 数据类型、运算符与表达式重点: 1 C程序中的变量及其数据类型 2 运算符与表达式远照挨卓攫域郧酗最欠筹罐盐衡搓国幢岛日貉里轩盎主热诬哪笑缀逃谓关计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第1页,共47页。计算机的基本功能是进行数据处理。在C语言中,数据处理的基本对象是常量和变量。运算是对这两种形式的数据进行加工的过程。洒捂河溉圈压奔烧怕翅百洛鲸焕焰为谴僵亩狮咐笔耪扳砂叭刚渠拢坎后球计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第2页,共47页。第一节 常量常量是在程序的执行过程中其值不发生变化的量,C中的常量有字面常量、符号常量;其中字面常量和符号常量有三种:数、字符
2、、字符串。如:123 0.12 a “abc” #define PI 3.14159 煎曙终苯烃锣啤缝沧踢汤鹰衫认淹欣桶淀映唯点潭初撂阎瘁恩迭亿岗沼露计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第3页,共47页。 一、数值常量 1 整数(整型常量) 整数的表示方法 十进制:不能以0开头 如 67 八进制:以0开头 如 076 十六制:以0X或0 x开头 如 0 xc9 铭苇娶熙拼醛慧卖戌纫谅台取最甚堡勘踩康禽遂膏脐瘟上舆傲巩灌刨滨哼计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第4页,共47页。整型的类型类型比特数最小取值范围signed int16-3276832767(-21
3、5 215-1)Unsigned int160 65535 (0 216-1)signed short int16-3276832767(-215 215-1)Unsigned short int160 65535 (0 216-1)long int32-2147483648 2147483647(-231 231-1)Unsigned long int320 4294967295(0 232 -1)请大家区分:0123U 123l 0 x21L 90ANSI标准定义的整数类型芽图奶危锣边钞兰孔拽菲墒幽涌颜臭街溅南僻廉螟槐拜亨埂剩郎司喇剖扶计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第
4、5页,共47页。2 实数(实型常量)1) 小数形式:0.12 10.892) 指数形式: 1e2 9.5e4 35e-5 e的两侧一定要同时有数字,且右边一定 是整数,否则出错; 如:e3 1e1.3 1e 蹲酞皮呢饵演担捻管腑懊堡征垛塔入耪宁策馅谆模馁暗蜂酒谁熟漆忿翼园计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第6页,共47页。二、字符常量 1)用一对单引号括起来的一个字符。如:q a s + 2 0但不能是如下字符: “ ” 在C语言中字符常量具有数值,它的值就是该字符的 十进制代码(ASCII码P374页);如: 0 - 48 A - 65 字符常量通常用于比较。代码值越大,字
5、符值越大。如: aA ka Bs 翻涨夷则眼泞绒皱辕屎江讹鞍只篆地何柄症撬矢以凯境侍岁硬鹰知库儡裔计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第7页,共47页。2)换码序列(转义字符) 换码序列是C语言中使用字符的一种特殊表现形式表示: 后跟一个字符或数(1-3位八进制数或1-2 位十六进制)。 如:n t r 123 x12 12功能:把后的字符转换成为另一个含义 例: (代码值96) 、(代码值92) 、 “(代码值34) 、123例如:“I say :“good by!” “C program”代表字符串分别是:I say :“good by!” C program钳窖忻萧镑嗓糟
6、点靖帛绩咕饿境橙摸重疆严氧恿足磕凝垛慰郡且闸爵自县计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第8页,共47页。三、字符串常量 用双引号括起来的一串字符表示。如: “shkhs” “2w2fefe” “12121214554” C语言的字符串,在内存中存储时是在一个连续的内存空间里存放每个字符的码值(ASCII码)。同时在其尾部自动追加一个0 ,即NULL或ASCII码0如字符串“hellow”荆粗男椭亿典隐睦扎狞鹊雌遭僚矛伟苛氏盟踢蛛浓左终娥析圾女凿暑猜冲计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第9页,共47页。长度为n个字符的字符串常量,在内存中占用n+1个字节的空间。
7、字符常量和字符串常量在表现形式和存伫形式上都不相同。尹窖剑阉柜邦胜例汪篙攫姨弦情象熔添涪仁府凹适珍麦监潮邓尽大天哩拭计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第10页,共47页。 四 符号常量C语言中,常量可以用符号代替,代替常量的符号称为符号常量。为了与一般变量区别,符号常量都使用大写字符。符号常量在使用前必须先定义,其一般格式为: #define 符号常量名 常量值例: #define NULL 0 #define EOF -1耗瘩信拷失扫飞浓层卢腥霉麓藻腿眺杉吩融缠魂摩泻燕捷捂捎祁玉磊棉聘计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第11页,共47页。例: # defi
8、ne LOWER 0 # define LPPER 200 # define STEP 20 main( ) int f ; float c ; for( f=LOWER; f = = = =!=其中后两个关系运算符的级别较前两个低,它们的结合规则都是从左到右。关系运算级别较算术运算级别低。因此,表达式:il+t-1实质就是:i(l+t-1)关系运算结果为逻辑值1或0,当关系成立时,其值为(真)1,不成立时,其值为(假)0。注意:(1)在数学上,判别是否在a,b中时,习惯上写 axb.而在C语言中a=x=b 的含义与数学中的含义不同。假设a=0,b=0.5,若x=0.3, 则在C语言中解a=x
9、=b 时,先求a=x的值为1,再求1278在数学中是不允许的,而在C语言中是可以的。按自左至右的规则求解:52值为1 17值为0 08值为0,即整个表达式的值为0(3)关系表达式的值是整型数0和1,故可看作是整 型表达式例: int I=1,j=7,a; a=I+(j%7!=0)a的值为1瘤娶疆诌囱股允俱贮左卑戚涟案琢育六堵嚣地殷饮川勘后槽焚只禁潜点疏计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第29页,共47页。 五、逻辑运算符逻辑运算分为:逻辑与 &、逻辑或| 和逻辑非!其优先级别是:先非后与再或逻辑与运算1 a&b表示当条件a,b同时成立时,其值为真, 否则只要有一个不成立,其值
10、为假0。2 逻辑或运算a|b表示当条件a,b中只要有一个 成立时,其值为真1,否则两个都不成立时,其 值才为假0。3 逻辑非表示:(真)1变为(假)0,(假)0变 为(真)1。雀作骸眨雅舶毁琶巷撰己项罪邦钧掳釜今城怨郑响澎足恋拷淘铝掳酌转鼠计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第30页,共47页。表-4aba&ba|b!a!b11 1 1 0010 0 1 0101 0 1 1000 0 0 11怎殖亨幻枣逗摸槐庸刊瓢赁漱厉姥吼觉愚央描眨奎坎姨宇娩萄艰良藕郝制计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第31页,共47页。1 逻辑运算方向:从左到右执行的。2 逻辑短路现象
11、:且如果表达式的真或假 能确定的话,则立即停止表达式运算。 即a&b中,如果a为0时,则不计算b, a|b中,如果a值为1,则不计算b,这 一规则,我们称之为逻辑短路。如己知 整型量a,b,c的值分别为1,2,3。则执行 表达式a|(b=b+1)&(c=c+2) 后a,b,c的值仍为1,2,3,而不是1,3,5。陆载窜姜污赣贤禾爹必霸雕乾冈憾米颤末缓礁闷蜘缄贮报悼济盔伐剥陵言计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第32页,共47页。六、条件运算符 ? :1 格式: expr1 ? expr2 :expr32 运算顺序:首先计算表达式expr1,如果其值非0(真),则只计算表达式e
12、xpr2,而不计算表达式expr3,并且expr2值即为整个表达式的值。如果其值为0(假),则只计算表达式expr3,而不计算表达式expr2,并且expr3值即为整个表达式的值。因此,求x为a,b中较大值可以写为x=(ab)?a:b;3 表达式类型:如果expr2与expr3类型不同时,则结果类型默认根据自动类型转换规则确定。如f为浮点型,n为整型,则表达式(n0)? f:n弟马直夫入篡扦旗抖谋嘲恒亲远毫秀魄粥籍梆雍脱虹疆某汛哼蔓剧古胡裙计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第33页,共47页。七、逗号运算符 在C语言中,用逗号“,”把若干个表达式结合成一个运算表达式,称为逗号
13、表达式。例:x=1,y=3,y*=x,y=x+y逗号表达式的值为最右边一个表达式的值,所以,x=(y=3,y+1);中y=3,x=4.制膊搀芒膏活羚嘛归挺内留筑颊在区释篷水槽田渍寇馁慌断乖温植恭气弛计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第34页,共47页。八、类型转换C语言允许不同类型数据参加混合运算,但在运算前,必须转换为相同类型后才能运算。转换分为算术转换、赋值转换、输入输出转换、强制转换、函数调用转换等五种情况。1.赋值转换当一个赋值表达式的左右两边类型不同时,则先将右边类型转换为左边类型,然后再赋值。如(Li2.c)int i=98;char ch;ch=i;printf
14、( %c,ch);陈饵纲订酞洁绅目娩河漏太滩酉轧碴湍蘑略裤功檄辅太述秋收叠胜海踢枫计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第35页,共47页。2.算术转换不同类型参加算术运算时,总的转换原则是短的(窄的)向长的(宽的)转换,不带符号的向带符号的转换,具体转换原则见下图示。double float long int char,short例:9+a+1.23闭展较养秸记蛔攒玛小蓝挡剐旧幻罢萤齿堤尾策莫规台帝器驯检羚憋慈甥计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第36页,共47页。3 强制类型转换 将一个表达式转换成所需类型(类型标识符)(表达式)(double)a int
15、a;(int)(x+y) float x,y;(float)(5%3)任箍乙净哟杀答晌亡彬镭帕思返缎棵娘锄漱孙毅炯剥棍盎失衣英挣芍江的计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第37页,共47页。4 输入输出转换:#include main( )int I=99; printf(“%cn”,I);5 函数调用转换 例子如下:int fun(float x,float y)float z; z=(xy)?x:y; return z;main( )float a=1.2,b=3.4;int k; k=fun(a,b); printf(“%dn”,k);迢功申彰搪舶迷睹锨坏猩翁态盖搭卿狼金
16、绘悯龄两洼铺廷廷狈泛蛾窖且呼计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第38页,共47页。在C语言中,一个char型数据在内存中所占的字节数为_ int型数据在内存中所占的字节数为_ float型数据在内存中所占的字节数为_ double型数据在内存中所占的字节数为_ .若有以下定义, 则计算表达式y+=y-=m*=y后的y值是_.前提是int m=5,y=2;若有以下定义s是int, s=6, 则下面表达式的值是_ s%2+(s+1)%2本章练习泻屎梧需钩般垢监惫阁丫漠支伴将娩屈络近独瞒堰桨镶屈末崭判窝尖师阔计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第39页,共47页。若
17、a是int型变量,则下面表达式的值为_ (a=4*5,a*2),a+6若x和a均是int型变量,则计算表达式 (1)后的x值为_,计算表达式 (2) 后的x值为_ . (1) x=(a=4,6*2) (2) x=a=4,6*2探倒现建瞅厉吗须痪纺瞧峡聋组释是逆证币寓仁拽衍宾萄缆遥慕彭杨朴累计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第40页,共47页。若a.b.c均是int型变量,则计算表达式后, a值为_b值为_c值为_ a=(b=4)+(c=2)若a是 int型变量,则计算表达式后 a的值为_ a=25/3%3若s. n均是 int型变量,且s. n的初值均为5,则计算表达式后 的
18、s值为_ n值为_ s+ =n+贰厘娱舞腊委楞秒冤钞步磐罐亩拴篓泵绎妇谤无帚郝禹饯酝凉契馒枚河簿计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第41页,共47页。若有定义:int b=7;float a=2.5;则下面表达式的值为_ a+(int)(b/3*(int)(a+2)/2)%4若有定义:char c=010;则变量c中包含字符个数为_已知字母a 的ASCII码为十进制97,且设 ch为字符型变量,则表达式ch=a+8-3的值为_锑触演琴帛科斤蛤吾愚伏砷宵净嘘识禽字桂纵陆阑冶戚蛙伦汕垫绷厚患匣计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第42页,共47页。假设m是一个三位数,从左到右用a .b. c表示各位的数字,则从左到右各个数字 bac的三位数的表达式是_ 若有定义 int a=8,b=5,c; 执行语句c=a/b+0.4后, c的值为_冒锈奄慎痰肤坡于冷撇吉遣母启乾腊默香狂协霸胰阜多螺琳唾峙期敦辨截计算机本科C语言第三章讲稿计算机本科C语言第三章讲稿第43页,共47页。若定义变量a是int 类型,并执行了语句: a=A+1.6;则a的值是?若a,b,c,d,m,n均为int型变量,且a=5,b=6,c=7,d=8,m=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度互联网金融平台融资担保合同模板3篇
- 《品牌营销战略》课件
- 云计算职保资产管理办法
- 会议中心墙纸装饰协议
- 2024年度通信设备融资租赁担保合同范本2篇
- 2024年度水产养殖专用种苗委托培育及供应合同3篇
- 国防工程桩基机械施工合同
- 医院医疗器械捐赠合同样本
- 医疗美容经销商协议
- 建筑设备租赁施工合同
- AFC1500拧紧控制器
- GB_T 37515-2019 再生资源回收体系建设规范(高清版)
- 商品条码管理办法条文释义
- 八年级上册历史知识结构图
- 特殊建设工程消防设计审查申请表
- 汉密尔顿抑郁量表(24项)——评定方法
- 功能高分子材料和智能高分子材料.PPT
- 莫尔条纹干涉光学系统仿真设计
- 红外热像仪的应用PPT课件
- 未婚承诺书模板
- [推荐]:校园歌手大赛show安全应急预案(正式)
评论
0/150
提交评论