




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
思考:,课后练习P55:26272829scanf()和printf()函数%转换说明符(将后面参数以指定形式显示)int%d%c%u%o%xchar%d%c%u%o%xfloat%fDouble%lf预习表达式类型,scanf()函数:(1)scanf读入一组整数时,scanf扫视输入信息,跳过空格、tab或换行,寻找下一个输入域。一个输入域就是一个连续的非空白字符的数字串。例如,若输入为:78231920(回车符)38则输入域有四个。最终:a=782,b=319,c=20,d=38(2)格式信息中除了有%开始的转换说明,还可以有普通字符,只是这些字符不是显示在屏幕上的,而是要求使用者在输入数据时,要在相应位置输入相同的字符(除了空格、tab或换行符)。例如“,”,scanf(“%d,%d,%d,%d,此时输入域必须要用”,”分割。输入782,319,20,38,实验教程:P86题,P55:29题,#includevoidmain()inta,b,c;printf(请输入时间(按照*时*分格式):);scanf(%d时%d分,用scanf输入字符注意:,尽量不要将%c(控制输入单个字符,包括空格、回车)与其它转换说明一起使用。当scanf读入一组数据时,如果不使用%c做转换时,scanf扫视输入信息,跳过空格、tab或换行,寻找下一个输入域。但是若使用%c做转换时,情况则不同,scanf不会跳过空格、tab或换行,而是直接把下一个字符输入给参数,不论它是什么。,例如,scanf(%d%c,键盘输入29wc的内容不是字符w,而是空格。解决的方法,在控制字符串中加空格分隔。scanf(%d%c,控制输入的宽度,#includevoidmain()inta,b,c;scanf(%2d%3d,通过%*略过一个输入数据,示例:#includevoidmain()inta,b;scanf(%d%*d%d,长度限制影响举例,/输入时f与lf有区别,输出时没有区别#includevoidmain()floata;doubleb;scanf(“%lf%lf”,/输出a:0.00000b:2.000000,26.实际上相当于一个明文加密!,#includevoidmain()charc;printf(请输入数字:);scanf(%c,实现输入圆柱体的底面半径和高,输出其(圆周长,圆面积,表面积,)体积观察程序有没有问题?,#include#definePI3.14voidmain()floatr,h,s;printf(请输入圆柱的低面半径和高);s=PI*r*r*h;scanf(%f%f,28.,提示:利用海伦公式及数学库中的求平方根函数sqrt()海伦公式:已知三角形三边为a,b,c.其面积S=sqrt(p*(p-a)*(p-b)*(p-c)其中p=(a+b+c)/2。,输入一个整数,分别用无符号方式、八进制方式、十六进制方式输出,#includevoidmain()inta;printf(请输入一个整数:);scanf(%d,编程实现输入一个字符,输出这个字符的ASCII码,#includevoidmain()chara;printf(请输入一个字符:);scanf(%c,输入两个整数x,y交换他们的值并输出,#includevoidmain()intx,y,t;printf(输入整数x,y:);scanf(%d%d,输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入后处理,然后输出此数。,doubles;scanf(%lf,运算符和表达式,算数运算符+,-运算符赋值运算符逗号运算符关系运算符逻辑运算符条件运算符,位运算复合运算混合运算类型运算符运算符优先级表常用数学函数,表达式,概念:常量、变量、函数等运算对象(操作数)和运算符号以及括号的有意义的组合,都被成为表达式,也就是说表达式是一个运算的式子(P25),如下面都是表达式2a2+aa+2+sin(5)a=2a,b基本表达式是由单个标识符、常量等组成的表达式,学习运算符应注意问题:,运算量的数目运算的优先级别结合方向,算术运算符+-*/%,写C语言表达式时和数学中的算式相区分,下面数学算式都不是正确的C语言算式:(x+y)(a+b)2a(缺乏乘号)注意:C语言中,同种类型值运算时结果为同类型。整数除整数结果为一个整数,如5/2值为2,不是2.5(不四舍五入,直接取整数部分)而5.0/2.0值为2.5取模运算符%实际上是数学运算的求余数运算,其两个操作对象都必须是整数。(余数的符号与被除数相同)如:5%2值为1,-11%-2值为-1*/%优先级高于+-优先级,就是先算*/%再算+-加法和减法运算符还可以用做单目运算符,是取正取负运算。其余操作符均为双目运算符。一个运算对象就是一个目,思考:,1.求下面算术表达式的值25/2*2-3*4%-6/52.实现输入三角形一边和高,输出其面积,#includevoidmain()floatr,h,s;printf(“请输入三角形边长和高);scanf(%f%f,自增、自减运算符+,-,作用:使变量值加1或减1,单目运算符种类:前缀+i,-i(先执行i+1或i-1,再使用i值)后缀i+,i-(先使用i值,再执行i+1或i-1)举例:i=1;a=i+;/a获得值为1,i自身变为i=1;a=+i;/i自身变为,a获得值为2注意+-对应于低级语言中的自增和自减运算,运算只能用于变量,不能用于表达式或常量,下面都是错的3+(x+y),+-运算符举例,/例#includevoidmain()inta=1,b,c;b=a+;c=b+;printf(a=%d,b=%d,c=%dn“,a,b,c);,/例2#includevoidmain()inta=1,b,c;b=a+;c=+a;printf(a=%d,b=%d,c=%dn“,a,b,c);,赋值运算符=,在C语言中,=也是一个运算符。它的左侧必须是一个变量,功能是把右侧表达式的值赋给左侧的变量,并把此值作为赋值表达式的值。优先级较低方向从右向左试比较:a=(a1+a2);+是运算符,+表达式产生的结果即(a1加a2的和)赋给了ab=(b1=2);=是运算符,括号内的=使b1获得值2,同时b1=2表达式产生的结果2赋给了b3.当=两侧类型不一致时,右侧自动转化成左侧类型(变量的类型)低类型向高类型转化时会自动扩展字节,而值不变,扩充对于整数类,扩充字节填充符号位数字,正数填0,负数填1高类型向低类型转化时,只从低字节截取chara=0 x1234;inta=2.15floatb=2printf(“%x”,a);,关系运算符=!=,关系运算结果只能为1(表示真或正确)或0(表示假或错误)优先级:低于算术运算符,高于赋值运算符高优先级:=低优先级:=!=例:22(值为0)2=2(值为1)方向:从左向右运算如:30=60=0结果为1inta=5;1010则表达式a=0(表达式值为1),a=1(表达式值为0)而不管a值是多少,a=0(表达式值永为0,永假式),a=1(表达式值永为1,永真式),例ca+b/c(a+b)ab!=c/(ab)!=ca=bc/a=(bc),思考:,如果需要判断X是否大于10且小于100if(10x100),这种写法对不对?,逻辑运算符/b的值为20a=1;b=a0?A:B;/b的值为A求a和b中的最大值ab?a:b优先级仅高于逗号运算符和赋值运算符运算方向具有右结合性,如:ab?c:db?c:(d3?e:f),逗号运算符,,格式:表达式1,表达式2逗号运算符在所有优先级别最低运算方向从左向右逗号表达式最右侧表达式值作为逗号表达式值举例:求下面表达式的值及a变量的值:a=(5+4,c=6,d=7)a=5+4,c=6,d=7a=(a=3*5,(a*4,a+5),a+10,复合运算,C语言中,把一些运算符和=组合起来,同时完成运算符所指的运算及赋值预算,称为复合运算+=、-=、*=、/=、%=、因为*=优先级低于+,所以表达式值为10,混合运算,当不同数据类型进行运算时,称为混合运算运算规律:不同数据类型相遇时,低类型产生一个向高类型的转化值(操作数本身不变化),然后参与运算,这条规则不适应赋值运算例子:5/2+3.5结果为5.5,强制类型转换,用类型符号把表达式值转换为指定类型格式:(类型名)表达式如:(int)(a+b),(float)c;注意只影响结果,不影响操作数,#includevoidmain()floatx;inti;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);结果:x=3.600000,i=3,运算符优先级,math.h中提供的数学函数(P274),doublefabs(doubled)求绝对值intabs(intn)求绝对值doublesqrt(doubled)求开平方值doublesin(doublea)求正弦值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度公司车辆租赁与车队管理服务合同
- 2025版建筑工程质量保修服务协议
- 2025版广告设计承包合同协议书
- 二零二五年度建筑劳务木工分包合同绿色施工技术与材料范本
- 二零二五年度绿色建筑评价体系设计合同示范文本GF
- 2025版建筑工程造价咨询居间服务合同(甲方范本)
- 二零二五年度家庭财产分割与子女抚养合同范本
- 二零二五年度创新型企业厂房转租合同
- 2025版离婚协议书与子女抚养及财产分割执行协议
- 二零二五年度汽车行业劳务派遣合同终止模板
- 部编版高考语文古诗文理解性默写(新高考60篇)
- 《葡萄膜病人的护理》课件
- 县病死畜禽无害化处理项目可行性研究报告立项报告
- 中国会展行业市场发展现状及前景趋势与投资分析研究报告(2024-2030版)
- 装修工程质量管理措施
- 旅游度假区综合服务平台开发方案
- 《工业机器人离线仿真》课件-3 喷涂仿真工作站
- 2024-2025年中国核电工程建设行业市场发展模式调研研究报告
- 司机与租赁公司合同范例
- 《中华人民共和国未成年人保护法》宣贯培训2024
- 重大危险源培训课件
评论
0/150
提交评论