收藏 分销(赏)

实验3:运算符与表达式.doc

上传人:pc****0 文档编号:6418805 上传时间:2024-12-08 格式:DOC 页数:10 大小:50KB 下载积分:10 金币
下载 相关 举报
实验3:运算符与表达式.doc_第1页
第1页 / 共10页
实验3:运算符与表达式.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
实验3:运算符与表达式 实验名称: 运算符与表达式 成绩: 实验日期: 年 月 日 实验报告日期: 年 月 日 一、实验目的 1、 掌握C语言算术、赋值、自增、自减运算符及相应表达式 2、 掌握不同类型数据之间的赋值规律 3、 了解强制数据类型转换以及运算符的优先级、结合性。 4、 学会根据表达式,编写相应程序,验证表达式结果的方法。 二、实验内容 1、 已知:a=2,b=3,x=3.9,y=2.3(a,b整型,x,y浮点),计算算术表达式(float)(a+b)/2+(int)x%(int)y的值。试编程上机验证。 提示编程要点: (1)先判断结果值类型,可设置一个此类型的变量用于记录表达式结果,本例用r存放结果; (2)程序先给几个条件变量赋初值,然后将表达式赋值给变量r; (3)最后打印变量r的值就是表达式的值。 您分析的表达式结果: 。 2、 已知:a=7,x=2.5,y=4.7(a整型,x,y浮点),计算算术表达式x+a%3*(int)(x+y)%2/4的值。试编程上机验证。 您分析的表达式结果: 。 3、 已知:a=12,n=5(a,n整型),计算下面表达式运算后a的值。试编程上机验证。 (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2) (6)a+=a-=a*=a 您分析的表达式结果:(1) (2) (3) (4) (5) (6) 。 4、 分析下面程序结果,并上机验证。 main() { int i,j,m,n; i=8; j=10; m=++i; n=j++; printf("i=%d, j=%d, m=%d, i=%d\n",i,j,m,n); } 您分析的表达式结果: 。 5、 将k分别设置为127,-128,128,-129,分析下面程序结果,并上机验证。 main() { float a=3.7,b; int i,j=5; int k=127; /* 用127,-128,128,-129测试 */ unsigned U; long L; char C; i=a; printf("%d\n",i); /* 浮点赋值给整型 */ b=j; printf("%f\n",b); /* 整型赋值给浮点*/ U=k; printf("%d,%u\n",U,U); /* 相同长度类型之间赋值 */ L=k; printf("%ld\n",L); /* 整型赋值给长整型,短的类型赋值给长的类型 */ C=k; printf("%d\n",C); /* 整型赋值给字符型,长的类型赋值给短的类型 */ } 您分析的表达式结果: 结果行 k=127 k=128 k=-128 k=-129 1 2 3 4 5 三、实验要求 1、 1-3题要求实验前手工计算,并编制好上机测试用源程序,以便上机实验。 2、 4、5题要求实验前分析程序结果,以便上机时对比结果。 3、 实验中仔细观察、记录、比较实验结果,如果不一致应找出原因。 4、 编制的程序必须保存在D:\用户目录中。注:用户目录可以用学号或姓名拼音简写。 四、实验步骤、过程 1、 启动操作系统,进入DOS窗口;切换到用户磁盘,创建、进入用户目录。(方法、命令与实验1相同) 2、 启动Turbo C集成开发环境。(方法与实验1相同) 3、 完成5个程序题。(编辑、编译连接、运行程序,步骤与实验1相同) 注:经常用“File”-“Save”(热键F2)保存源程序以免意外导致源程序丢失。 4、 退出Turbo C集成开发环境,关机。 五、源程序清单、测试数据、结果。 1、 (要求文件名:3_1.c) main() { int a=2,b=3; float x=3.9,y=2.3; float r; r=(float)(a+b)/2+(int)x%(int)y; printf("%f\n",r); } 参考结果: 3.500000 2、 (要求文件名:3_2.c) main() { int a=7; float x=2.5,y=4.7,r; r=x+a%3*(int)(x+y)%2/4; printf("%f\n",r); } 参考结果: 2.500000 3、 文件名:3_3.c main() { int a,n=5; a=12; a+=a; printf("%d\n",a); a=12; a-=2; printf("%d\n",a); a=12; a*=2+3; printf("%d\n",a); a=12; a/=a+a; printf("%d\n",a); a=12; a%=(n%=2); printf("%d\n",a); a=12; a+=a-=a*=a; printf("%d\n",a); } 参考结果: 24 10 60 0 0 0 4、 文件名:3_4.c (程序略) 参考结果: i=9, j=11, m=9, i=10 5、 文件名:3_5.c (程序略) 参考结果: k=127时: 3 5.000000 127,127 127 127 k=-128时: 3 5.000000 -128,65408 -128 -128 k=128时: 3 5.000000 128,128 128 -128 k=-129时: 3 5.000000 -129,65407 -129 127 六、实验出现的问题、实验结果分析(语法错英语提示,中文翻译,原因,您的理解?) 1、 2、 3、 七、实验小结和思考 (1) C语言取整是4舍5入?还是截断取整? 答: 截断取整,或向0取整(即简单的小数舍去)。 (2) 总结赋值转换原则。 答: 赋值号右边的数据类型转化为赋值号左边的数据类型,然后赋值给赋值号左边的变量。 l 浮点数据赋值给整型变量:浮点数据截断取整为整数后赋值给整型变量; l 整型数据赋值给浮点变量:整型数据转换为浮点数后赋值给浮点变量; l 短型整型赋值给长型整数:低位直接传送,高位符号扩展; l 长型整型赋值给短型整数:低位直接传送,高位截断。 (3) 通过本次实验你学会编写程序来验证表达式结果,这对我们学习C语言有什么启发? 10
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服