实验3运算符与表达式.docx
- 文档编号:7252699
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:6
- 大小:16.46KB
实验3运算符与表达式.docx
《实验3运算符与表达式.docx》由会员分享,可在线阅读,更多相关《实验3运算符与表达式.docx(6页珍藏版)》请在冰豆网上搜索。
实验3运算符与表达式
实验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()
{
inti,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()
{
floata=3.7,b;
inti,j=5;
intk=127;/*用127,-128,128,-129测试*/
unsignedU;
longL;
charC;
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、启动TurboC集成开发环境。
(方法与实验1相同)
3、完成5个程序题。
(编辑、编译连接、运行程序,步骤与实验1相同)
注:
经常用“File”-“Save”(热键F2)保存源程序以免意外导致源程序丢失。
4、退出TurboC集成开发环境,关机。
五、源程序清单、测试数据、结果。
1、(要求文件名:
3_1.c)
main()
{
inta=2,b=3;
floatx=3.9,y=2.3;
floatr;
r=(float)(a+b)/2+(int)x%(int)y;
printf("%f\n",r);
}
参考结果:
3.500000
2、(要求文件名:
3_2.c)
main()
{
inta=7;
floatx=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()
{
inta,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)总结赋值转换原则。
答:
赋值号右边的数据类型转化为赋值号左边的数据类型,然后赋值给赋值号左边的变量。
●浮点数据赋值给整型变量:
浮点数据截断取整为整数后赋值给整型变量;
●整型数据赋值给浮点变量:
整型数据转换为浮点数后赋值给浮点变量;
●短型整型赋值给长型整数:
低位直接传送,高位符号扩展;
●长型整型赋值给短型整数:
低位直接传送,高位截断。
(3)通过本次实验你学会编写程序来验证表达式结果,这对我们学习C语言有什么启发?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 运算 表达式