实验3:运算符与表达式.doc
文本预览下载声明
实验3:运算符与表达式
实验名称: 运算符与表达式 成绩:
实验日期: 年 月 日 实验报告日期: 年 月 日
一、实验目的
掌握C语言算术、赋值、自增、自减运算符及相应表达式
掌握不同类型数据之间的赋值规律
了解强制数据类型转换以及运算符的优先级、结合性。
学会根据表达式,编写相应程序,验证表达式结果的方法。
二、实验内容
已知: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的值就是表达式的值。
您分析的表达式结果: 。
已知:a=7,x=2.5,y=4.7(a整型,x,y浮点),计算算术表达式x+a%3*(int)(x+y)%2/4的值。试编程上机验证。
您分析的表达式结果: 。
已知: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) 。
分析下面程序结果,并上机验证。
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);
}
您分析的表达式结果: 。
将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-3题要求实验前手工计算,并编制好上机测试用源程序,以便上机实验。
4、5题要求实验前分析程序结果,以便上机时对比结果。
实验中仔细观察、记录、比较实验结果,如果不一致应找出原因。
编制的程序必须保存在D:\用户目录中。注:用户目录可以用学号或姓名拼音简写。
四、实验步骤、过程
启动操作系统,进入DOS窗口;切换到用户磁盘,创建、进入用户目录。(方法、命令与实验1相同)
启动Turbo C集成开发环境。(方法与实验1相同)
完成5个程序题。(编辑、编译连接、运行程序,步骤与实验1相同)
注:经常用“File”-“Save”(热键F2)保存源程序以免意外导致源程序丢失。
退出Turbo C集成开发环境,关机。
五、源程序清单、测试数据、结果。
(要求文件名: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
(要求文件名: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.c
main()
{
int a,n=5;
显示全部