




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1请将您的手机铃声设置为震动2作业课本:
习题2.7
(第27页)课件:
课后练习题.doc3第二章数据类型及基本运算
C的数据类型基本数据类型及其表示不同类型数据间的转换运算符和表达式4C数据类型构造类型指针类型空类型void自定义类型typedef枚举类型enum基本类型数值类型字符类型char整型浮点型单精度型float双精度型double短整型short长整型long整型int数组结构体struct共用体union基本类型数值类型字符类型char整型浮点型单精度型float双精度型double短整型short长整型long整型intC的数据类型5(signed)int2-215~215-1(signed)long4-231~231-140~232-1unsignedlongunsignedint20~216-1float43.4e-38~3.4e38double81.7e-308~1.7e308char1-128~127C的数据类型类型符号关键字数的表示范围占字节数整型字符型实型有无有有有无unsigned
char10~255<6基本数据类型及其表示定义:标识变量、常量、函数等的字符序列组成:只能由字母、数字、下划线组成,且
第一个字母必须是字母或下划线
大小写敏感
不能使用关键字(P7)标识符7定义:程序运行时其值不能改变的量(常数)分类:基本数据类型及其表示常量
直接常量:
整型常量实型常量字符常量字符串常量符号常量:
用标识符代表常量8变量概念:其值可以改变的量格式:数据类型变量1[,变量2,…,变量n];基本数据类型及其表示决定分配的字节数和数字的表示范围合法标识符例:
inta,b,c;
floatsum;9变量概念:其值可以改变的量格式:数据类型变量1[,变量2,…,变量n];基本数据类型及其表示特点:变量初始化--可在定义时赋初值
变量的使用--先定义,然后使用变量定义位置--一般在函数开头10程序示例一(实验p24)#include<stdio.h>voidmain(){intx,y,x=10,y=20;sum=x+y;printf("x+y=%d",sum);printf("\n");}intx,y,sum;<11不同类型数据间的转换说明:必定的转换运算对象类型不同时转换doublefloatlongunsignedintchar,short低高12不同类型数据间的转换隐式转换函数调用转换:实参与形参类型不一致时转换运算转换:不同类型数据混合运算时赋值转换:将值赋给与其类型不同的变量时例:inta=52;floatb=1.2,c;c=a+b;例:inta=52;floatb;b=a;#include<stdio.h>voidmain(){inta=10,b=5,s;s=add(a,b);printf("%d\n",s);}floatadd(floatx,floaty){floatz;z=x+y;return(z);}不同类型数据运算时先自动转换成同一类型13#include"stdio.h"voidmain(){floatx=3.6;inti;i=(int)x;printf("%f,%d",x,i);}不同类型数据间的转换显式转换例子:(double)(3/2)(int)3.6形式:(类型名)(表达式)较高类型向较低类型转换时可能发生精度损失问题结果:x=3.600000,i=3精度损失<14运算符和表达式算术运算符:+-*/%++--关系运算符:<<===>>=!=逻辑运算符:!&&||位运算符:<<>>~|^&赋值运算符:=及其扩展条件运算符:?:逗号运算符:,指针运算符:*&求字节数:sizeof强制类型转换:(类型)分量运算符:.->下标运算符:[]其它:()-15例5%2=-5%2=1%10=
5%1=5.5%21
-1
1
0
()例5/2=-5/2.0=“-”可为单目运算符,右结合性两整数相除,结果为整数%要求两侧均为整型数据2
-2.5基本算术运算符:
+-*/%算术运算符和表达式16自增、自减运算符:++--算术运算符和表达式作用:使变量值自加1或减1种类:前置++i,--i(先执行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再执行i+1或i-1)例
j=3;printf("%d",++j);j=3;printf("%d",j++);a=3;b=5;c=(++a)*b;a=3;b=5;c=(a++)*b;//4//3//c=20,a=4//c=15,a=417自增、自减运算符:++--算术运算符和表达式作用:使变量值加1或减1种类:前置++i,--i(先执行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再执行i+1或i-1)不能用于常量和表达式,如
5++,(a+b)++优先级:-++--
高于
*/%
高于
+-
说明:18设:inta=2,b=5,c=6;求表达式-
-c-b%a++的值5134答案:
4例子19赋值运算符和表达式简单赋值运算符符号:=格式:变量标识符=表达式作用:将常量或表达式的值赋给一变量例:a=3;//将常量3赋给变量ac=d+2;//将变量d的值加2赋给变量cd=func();//将函数的返回值赋给变量d20赋值运算符和表达式简单赋值运算符:=例:a+=3;a=a+3;a%=3;a=a%3;复合赋值运算符:+=-=*=/=%=《=》=&=^=|=复合运算符含义:xop=y
x=xopy21赋值表达式的值与变量值相等,且可嵌套赋值转换规则:=右边的值自动转换成左边变量的类型例:3=x-2*y;a+b=3;例floati;i=2;//结果i=2.0;例:a=(b=5)a=5+(c=6)a=(b=4)+(c=6)赋值运算符和表达式简单赋值运算符:=复合赋值运算符:+=-=*=/=%=
《=》=&=^=|=说明:左侧必须是变量,不能是常量或表达式//b=5;a=5//c=6,a=11//a=10,b=4,c=622例:x=(a=3*5,6*3)例:a=1;b=2;c=3;
printf("%d,%d",a,(b,c));
printf("%d,%d",(a,b),c);逗号运算符和表达式说明:变量的值不随表达式的值改变而改变表达式值为逗号表达式最后一项的值//a=15,x=18//1,3//2,323例:inta=3,b=2,c=1,d,f;a>bb+c<ad=a>bf=a>b>c关系运算符和表达式表达式值:逻辑值“真”或“假”,用1和0表示//表达式值为1//表达式值为0//d=1//f=0种类:<<===>=>!=优先级:低于算术运算符,高于赋值运算符P276
24例子例:若a=0;b=0.5;x=0.3;
则a<=x<=b的值为0例5>2>1>0在C中的值为0例inti=1,j=7,a;a=i+(j%4!=0);
则a=2例'a'>0结果为
'A'>100结果为1025逻辑运算符和表达式种类:
!&&||真值表:ab!a!ba&&ba||b真假真假假假真真真假假假假假真真假假真真真假真真在C语言中,运算量:
0表示“假”,非0表示“真”运算结果:
0表示“假”,1表示“真”
说明:26若a=4,b=5;请判断下列运算结果
!a!a||ba&&b4&&0||2a||b'c'&&'d'值为1值为0值为1值为1值为1值为1例子27运算规则:a&&b&&c://只有a为真时,才判别b的值
//只有a、b都真时,才判别c的值a||b||c://只在a为假时,才判别b的值
//只在a、b都为假时,才判别c的值//结果
m=0,n=1例:a=1;b=2;c=3;d=4;m=1;n=1;(m=a>b)&&(n=c>d)逻辑运算符和表达式28写出下面语句段的输出结果:intx=0,y=0,z=0,m;m=(x=30)&&(y=0)&&(z=10);printf("%d,%d,%d,%d\n",m,x,y,z);//结果
0,30,0,0例子29逻辑运算符和表达式运算符求值规则!1*/%2+-3<<=>>=4== !=5&&6||7=830条件运算符和表达式形式:
exp1
?exp2
:exp3x>y?1:1.5//若x>y,值为1.0;否则值为1.5x?'a':'b'//若x‡0,值为a;x=0,值为b(x%2==1)?1:0//x不能被2整除,则值为1
(x>='a'&&x<='z')?x-'a'+'A':x含义:如果exp1的值为真,则条件表达式的结果为exp2
,否则为exp3(x>='a'&&x<='z')?x-'a'+'A':x31位运算符和表达式位运算符形式功能~~x对x的二进制值按位求反&x&y对x,y的二进制值按位与|x|y对x,y的二进制值按位或^x^y对x,y的二进制值按位异或<<x<<m将x的二进制值左移m位>>x>>m将x的二进制值右移m位32位运算符和表达式运算符求值规则~~0=1~1=0&0&0=00&1=01&0=01&1=1|0|0=00|1=11|0=11|1=1^0^0=00^1=11^0=1l^1=0<<00101110<<2结果10111000>>00101110>>2结果0000101133#include<stdio.h>voidmain(){inta,b,c;a=3;b=5;c=(a&0x00ff)<<8|(b&0xf00f>>2);printf("c=%d",c);}位运算符和表达式34a=3
(a&0x00ff)<<8000000000000001100000000111111110000000000000011&=0000000000000011分析:
<<8
0000001100000000b=5=000000000000010135
b&0xf00f>>2000000000000010111110000000011110000000000000101&分析:
>>2
000000000000
000136
|00000011000000000000000000000001|0000001100000001分析:
//结果c=76937计算下列表达式的值(p27-2.6-(5))
inta=13,b=6~a<<2和a|b的值例子分析:一、计算~a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电子焊接试题及答案
- 2025年税务组织题库及答案
- 电焊主播考试题及答案
- 猫头鹰考试题及答案
- 英语四级真题及答案
- 二种人考试试题及答案
- 工地电工考试题及答案
- 考研翻译真题及答案
- 2025年血脂代谢试题及答案
- 静脉专业试题及答案
- 新版苏教版四年级上册科学(全册教案及教学计划及进度表)
- 胰腺炎超声诊断表现
- 2025甘肃行政执法资格考试模拟卷及答案(题型)
- 地质勘探施工总进度计划及进度保证措施
- 常见肛周疾病的治疗及护理
- 护蕾行动法律课件
- 福建水投集团检测科技有限公司招聘笔试题库2025
- 高层建筑无人机巡检系统施工方案
- 乡村春晚活动方案
- CJ/T 516-2017生活垃圾除臭剂技术要求
- 大头儿子测试题及答案
评论
0/150
提交评论