实验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);
/*整型赋值给字符型,长的类型赋值给短的类型
*/}您分析的表达式结果:
结果行
1234k=12k=12k=-128k=-12三、实验要求
1、1-3题要求实验前手工计算,并编制好上机测试用源程序,以便上机实验。
2、4、5题要求实验前分析程序结果,以便上机时对比结果。
3、实验中仔细观察、记录、比较实验结果,如果不一致应找出原因。
4、编制的程序必须保存在俄E:\用户目录中。注:用户目录可以用学号或姓名拼音简写。
四、实验步骤、过程
1、启动操作系统,进入DOS窗口;切换到用户磁盘,创建、进入用户目录。(方法、命令与实验1相同)
2、启动TurboC集成开发环境。(方法与实验1相同)
3、完成5个程序题。(编辑、编译连接、运行程序,步骤与实验1相同)
注:经常用“File”-“Save”(热键F2)保存源程序以免意外导致源程序丢失。
4、退出TurboC集成开发环境,关机。
五、源程序清单、测试数据、结果。
1、(要求文件名:sy3_1.c)
main(){inta=2,b=3;float________,y=_________;
float______;
_________________________________
printf("%f\n",r);}
参考结果:
3.500002、(要求文件名:sy3_2.c)main(){
inta=7;float_____________________
_______________________________printf("%f\n",r);}
参考结果:
2.500003、文件名:sy3_3.cmain(){inta,n=5;
______
a+=a;
printf("%d\n",a);
______
a-=2;
printf("%d\n",a);
______
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);}
参考结果:
241060004、文件名:sy3_4.c(程序略)
参考结果:
i=9,j=11,m=9,i=15、文件名:sy3_5.c(程序略)
参考结果:
k=127时:
35.000000127,127127127k=-128时:
35.000000-128,65408-128-128k=128时:
35.000000128,128128-128k=-129时:
35.000000-129,65407-12912六、实验出现的问题、实验结果分析(语法错英语提示,中文翻译,原因,您的理解?)
1、2、3、七、实验小结和思考
(1)
答:
(2)
总结赋值转换原则。
C语言取整是4舍5入?还是截断取整?
答:
赋值号右边的数据类型转化为赋值号左边的数据类型,然后赋值给赋值号左边的变量。
浮点数据赋值给整型变量:
整型数据赋值给浮点变量:
短型整型赋值给长型整数:
长型整型赋值给短型整数:
(3)
发?
通过本次实验你学会编写程序来验证表达式结果,这对我们学习C语言有什么启
实验三
运算符与表达式练习
实验目的:
1、掌握C语言中各种运算符的使用方法。
2、巩固练习C语言中基本数据类型数据的声明和使用。
3、简单掌握基本输入输出函数的使用。
实验步骤:
1、启动VC++6.2、文件—新建
3、文件—C++SourceFile,选择存储路径,输入文件名。
4、在工作窗口编辑程序
5、编辑完成之后,选择编译(或者直接按F7),检查程序错误,如有错误,就行修改,编译通过之后,执行程序(或者直接按F5)。
实验内容:
1、有两个整型变量a和b,它们的值分别是8和3,计算它们的和,差,积,商,余数。
2、编写程序,初始化变量x的值,分别输出变量y的值,并分析输出结果。(要求变量x,y是int类型)
y=2.4*x-1/2;
y=x%2/5-x;
y=x/3+x++;
y=--x+2*x;
y=(x-=x*10,x/=10);
3、编写程序,实现求整数10,20和35的平均值。
4、完善下列程序,使之能够正确输出3个整数之和以及3个整数之积。(至少使用两种方法实现,注意输入函数scanf()的用法,预习第四章格式化输入输出函数的使用)
voidmain(){
inta,b,c,s,p;
printf(“Pleaseenter3number:”);
scanf(“%d,%d,%d”,&a,&b,&c);
printf(“thesumofabcis%d\n”,);printf(“theproductofabcis%d\n”,);}5、选做题(下面两题任选一题完成)
(1)计算并输出表达式(b?从键盘输入。
(2)从键盘输入圆锥体的半径r和高h,计算其底面积和体积。
圆的面积公式:s=r*r*∏
圆锥体体积公式:v=r*r*∏*h/3(提示:用函数scanf()接收键盘输入,其用法参照第四题和预习第四章中格式化输入一节内容,求根号的函数为sqrt(),b2?2a)/(a?b)的值,其中a和b的值
例如求x的根号,使用:y=sqrt(x);此函数的函数体包含在头文件math.h中)。
实验三--运算符和表达式-实验报告
计算机科学与工程学院
天津理工大学
计算机
科学
与工程
学院
实验报告
20__至
20__学年
时间)
实验名称
运算符与表达式
开发
环境PC机,windows7操作系统
开发工具VC6.0实验目的(11)
掌握CC语言中常用运算符的基本功能,以及优先级与结合性;
(22)
正确使用运算符和数据实体构建表达式,并表达式的计算过程;
(33)
进一步熟悉0VisualC++6.0开发环境下调试程序的基本步骤。
实验
要求
认真完成实验内容,编写程序代码;
要求程序正确无误,并输出合理的实验结果;
书写并提交实验报告。
实验
内容
(应包括实验
题目、代码实现、编译、运行结果等,也可给出程序的算法描述、重点程序语句的注释
等。
。))
(2)
建立项目文件,运行下列程序,并记录程序执行的结果:
#include
scanf(“%d,%d”,;a,;b);
c=(a++)+(b++);printf(“c=%d\n”,c);
d=(++a)+(++b);printf(“d=%d\n”,d);}○1如果从键盘输入3,5给变量a和b,记录程序执行结果为:
c=10d=8○2如果仅将程序中语句“c=(a++)+(b++);”修改为“c=(a--)+(b--);”并从键盘输入3,5给变量a和b,则程序运行结果为:
c=6d=8○3如果仅将程序中语句“c=(++a)+(++b);”修改为“c=(--a)+(--b);”并从键盘输入3,5给变量a和b,则程序运行结果为:
c=8d=8(7)
建立项目文件,并在源文件中正确书写下列表达式,同时在屏幕上打印出表达式的运算结果。
(其中,_,y是浮点型变量,初值由键盘输入)
○1_2+y3○2222_y_y实验代码:
#include
scanf(“%lf%lf”,;_,;y);
a=(___)+(y_y_y);b=(_-(y_y))/((___)+(y_y));printf(“经过计算,得一式的结果为%f,二式的结果为%f\n”,a,b);}编译结果:
--------------------Configuration:计算题-Win32Debug--------------------Linking...计算题.e_e-0error(s),0warning(s)运行结果:
以上为编写的程序,经过调试,没有错误。
(10)
编写一个程序,输入年份和月份,判断该年是否是闰年,并根据给出的月份判断是什么季节和该月有多少天?(闰年的条件是年份能被4整除但不能被100整除,或者能被400整除)。
实验代码:
#include
voidmain{doublea,b,c,d,e,f,g,h;printf(“请输入你想了解的年份和月份,并且中间用空格隔开,如20__9即为
20__年9月\n”);scanf(“%lf%lf”,;a,;b);
c=a/4;f=c-(int)c;d=a/100;g=d-(int)d;e=a/400;h=e-(int)e;if(((f==0);;(g!=0))||(e==0)){printf(“这一年是闰年,”);
switch((int)b){case1:printf(“这个月有31天,是冬天”);break;
case3:printf(“这个月有31天,是春天”);break;
case5:printf(“这个月有31天,是春天”);break;
case7:printf(“这个月有31天,是夏天”);break;
case8:printf(“这个月有31天,是夏天”);break;
case2:printf(“这个月有29天,是冬天”);break;
case4:printf(“这个月有30天,是春天”);break;
case6:printf(“这个月有30天,是夏天”);break;
case9:printf(“这个月有30天,是秋天”);break;
case10:printf(“这个月有30天,是秋天”);break;case11:printf(“这个月有30天,是秋天”);break;case12:printf(“这个月有31天,是冬天”);break;}}else{printf(“这一年不是闰年,”);
switch((int)b){case1:printf(“这个月有31天,是冬天”);break;
case3:printf(“这个月有31天,是春天”);break;
case5:printf(“这个月有31天,是春天”);break;
case7:printf(“这个月有31天,是夏天”);break;
case8:printf(“这个月有31天,是夏天”);break;
case2:printf(“这个月有28天,是冬天”);break;
case4:printf(“这个月有30天,是春天”);break;
case6:printf(“这个月有30天,是夏天”);break;
case9:printf(“这个月有30天,是秋天”);break;
case10:printf(“这个月有30天,是秋天”);break;
case11:printf(“这个月有30天,是秋天”);break;
case12:printf(“这个月有31天,是冬天”);break;}}
}编译结果:
-------------------Configuration:闰年-Win32Debug--------------------Linking...闰年.e_e-0error(s),0warning(s)运行结果:
经测试,该程序可以正常运行,且无错误,能够完成
题目中的要求。
实验心得:
这次的实验我学到了很多东西,比如在代码编辑的时候,选择合适的变量类型,可以对整个程序的运行产生重要的影响;另外,我发现在使用不同的编辑软件时,输入的代码也不尽相同,需要注意;最后,经过这次的实验,我灵活地使用了课堂上老师教授的代码及其使用方法,感觉受益匪浅,代码编辑真是一件有意思的事情!
Java第?次作业实验3运算符、表达式和语句Java第?次作业|实验3运算符、表达式和语句实验?的:理解运算符的优先级,掌握运算符与表达式,控制语句题?集1.?for循环输出俄?的“字母表”,每个字母表输出占2列//?for循环输出俄?的“字母表”,每个字母输出占2列public
class
希腊字母表
{
public
static
void
main(Stringargs[]){
intStar=0,End=0;
charcStar="а",cEnd="я";Star=(int)cStar;End=(int)cEnd;System.out.println("俄?字母表的个数:"+(End-Star+1));
for(inti=Star;i<=End;i++){
charc="\0";c=(char)i;System.out.print(""+c);
}
}
}2.求1!+2!+3!+…20!//求1!+2!+3!+…20!public
class
计算求和1?20的阶乘
{
public
static
void
main(Stringargs[]){
intj=1,k=0,i=1;
doublesum=1,sum1=0,step;
for(j=1;j<=20;j++){
for(i=1,sum=1;i<=20-k;i++){step=i;sum=sum*step;
}sum1=sum1+sum;k++;
}System.out.println("sum=1!+2!+...+20!="+sum1);
}}3.求1000之内的所有完数(?个数如果恰好等于它的因?之和,这个数就称为“完数”)
//?个数如果恰好等于它的因?之和,这个数就称为“完数”//求1000之内的所有完数
public
class
求1000之内的所有完数{
public
static
void
main(Stringargs[]){System.out.println("1~1000的完数有:");
inti,j;
intsum=0;
for(i=1;i<=1000;i++){
for(j=1;j
if(i%j==0)
sum=sum+j;
}
if(sum==i)System.out.println(i);sum=0;
}
}
}
实验三PHP运算符和表达式
一、实验目的与要求
1.复习编写和测试PHP程序的方法。
2.掌握常见的PHP运算符的使用方法。
3.掌握PHP表达式的书写。
二、实验内容
1.PHP系统预定义常量的使用
注意:__FILE__和__LINE__都是双下划线。
【任务1】将常用的系统预定义常量输出显示,输出格式如下图所示:
将该PHP页面保存在文件夹“C:\phpStudy\WWW”中,命名为task1.php。
步骤:
①打开DreamweaverCS5软件,新建一个PHP页面,并保存在文件夹“C:\phpStudy\WWW”中,命名为task1.php。
②在代码视图的
和之间输入PHP程序代码,如下:③完成后,保存task1.php网页文档,按下F12键在浏览器中预览效果。此时,会弹出设置服务器的提示,单击“是”,就可以在站点设置中建立一个新站点,如下图所示:
输入站点名称:PHP实验,本地站点文件夹:C:\phpStudy\WWW。
单击左侧的“服务器”,会出现一个设置服务器的窗口,点击“+”按钮,添加一个远程服务器。
在弹出的窗口中设置服务器的基本和高级选项(如下图所示),完成后,单击“保存”按钮。
服务器设置完成后,预览网页task1.php,如下图所示:
2.转义字符的使用
在定义长字符串变量时,往往字符串本身包含一些特殊字符,如字符串本身包含双引号(“”),这时就需要转义字符对特殊字符进行转义。本例通过转义字符“\”转义经特殊字符双引号(“”)包含的字符串。
【任务2】使用转义字符输出文字“祝你生日快乐!”,输出格式如下图所示:
将该PHP页面保存在文件夹“C:\phpStudy\WWW”中,命名为task2.php。
代码:
完成后,保存task2.php网页文档,按下F12键在浏览器中预览效果。如下图所示:
3.整数表达式的自增或自减运算符
整数表达式的递增/递减运算符:++、--,例如:
$a++:先返回$a的值,然后将$a的值加1。
++$a:先将$a的值加1,然后将$a返回。
$a--:先返回$a的值,然后将$a的值减1。
--$a:先将$a的值减
1,然后返回$a的值。
【任务3】使用自增或自减运算符,理解它们的区别,输出格式如下图所示:
将该PHP页面保存在文件夹“C:\phpStudy\WWW”中,命名为task3.php。
代码:
完成后,保存task3.php网页文档,按下F12键在浏览器中预览效果。如下图所示:
4.算术运算符的使用
【任务4】已知王晓军每月工资4000元,每月需还银行房贷1750元,每月消费500元,请通过编写PHP程序计算并输出每月总支出、剩余工资和房贷占工资的比例。输出格式如下图所示:
将该PHP页面保存在文件夹“C:\phpStudy\WWW”中,命名为task4.php。
请同学们根据题目要求,自己编写代码。
编程提示:定义变量$gz、$fd、$xf分别存放每月工资、每月需还银行房贷、每月消费,然后计算并输出结果(注意输出的格式应与上图一致)。
完成后,保存task4.php网页文档,按下F12键在浏览器中预览效果。如下图所示:
5.三目运算符的使用
三目运算符“?:”的格式:
(expr1)?(expr2):(expr3);表示如果expr1的运算结果为true,则执行expr2;否则执行expr3。
【任务5】已知a=100,b=200使用三元运算符判断a和b的大小。输出格式如下图所示:
将该PHP页面保存在文件夹“C:\phpStudy\WWW”中,命名为task5.php。
请同学们根据题目要求,自己编写代码。
编程提示:定义变量$a和$b,分别给它们赋值为100和200,然后使用三元运算符判断a和b的大小并输出结果(注意输出的格式应与上图一致)。
由于该结果有3种情况,即a比b大、a和b相等、a比b小,因此此题应该使用嵌套的三元运算符,即在expr3处再写一个三目运算符来判断。
完成后,保存task5.php网页文档,按下F12键在浏览器中预览效果。如下图所示:
上交实验内容:
在桌面上新建一个文件夹“学号末2位+姓名”,将WWW文件夹中的PHP网页task1.php~task5.php都复制到“学号末2位+姓名”文件夹中,将自己的“学号末2位+姓名”文件夹上交到教师机指定文件夹中。
计算机科学与工程学院
天津理工大学
计算机科学与工程学院
实验报告
201至
201学年
第
一
学期
课程名称
学号
专业
实验项目
实验时间
批改意见
程序设计(C语言)
学生姓名
班级
实验地点
7-215计算机科学与技术(合作)
运算符与表达式
成绩
教师签字:
计算机科学与工程学院
实验(一)
开发环境
开发工具
实验目的实验名称
运算符与表达式
PC机,windows7操作系统
VC6.0(1)
掌握C语言中常用运算符的基本功能,以及优先级与结合性;
(2)
正确使用运算符和数据实体构建表达式,并表达式的计算过程;
(3)
进一步熟悉VisualC++6.0开发环境下调试程序的基本步骤。
实验要求
认真完成实验内容,编写程序代码;
要求程序正确无误,并输出合理的实验结果;
书写并提交实验报告。
实验内容(应包括实验题目、代码实现、编译、运行结果等,也可给出程序的算法描述、重点程序语句的注释等。)
(2)
建立项目文件,运行下列程序,并记录程序执行的结果:
#include
inta,b,c,d;
printf("Inputa,b\n");
scanf("%d,%d",&a,&b);
c=(a++)+(b++);
printf("c=%d\n",c);
d=(++a)+(++b);
printf("d=%d\n",d);}○1如果从键盘输入3,5给变量a和b,记录程序执行结果为:
c=1d=○2如果仅将程序中语句“c=(a++)+(b++);”
修改为“c=(a--)+(b--);”
并从键盘输入3,5给变量a和b,则程序运行结果为:
c=6d=○3如果仅将程序中语句“c=(++a)+(++b);”
修改为“c=(--a)+(--b);”
并从键盘输入3,5给变量a和b,则程序运行结果为:
c=计算机科学与工程学院
d=(7)
建立项目文件,并在源文件中正确书写下列表达式,同时在屏幕上打印出表达式的运算结果。(其中,x,y是浮点型变量,初值由键盘输入)
x?y222x?y23○1x+y
○2实验代码:
#include
voidmain(){
doublex,y,a,b;
printf("请输入x与y的初始值,中间用空格隔开\n");
scanf("%lf%lf",&x,&y);
a=(x*x)+(y*y*y);
b=(x-(y*y))/((x*x)+(y*y));
printf("经过计算,得一式的结果为%f,二式的结果为%f\n",a,b);}编译结果:
--------------------Configuration:计算题
-Win32Debug--------------------Linking...
计算题.exe-0error(s),0warning(s)运行结果:
以上为编写的程序,经过调试,没有错误。
(10)
编写一个程序,输入年份和月份,判断该年是否是闰年,并根据给出的月份判断是什么季节和该月有多少天?(闰年的条件是年份能被4整除但不能被100整除,或者能被400整除)。
计算机科学与工程学院
实验代码:
#include
voidmain(){doublea,b,c,d,e,f,g,h;printf("请输入你想了解的年份和月份,并且中间用空格隔开,如20189即为2018年9月\n");scanf("%lf%lf",&a,&b);
c=a/4;f=c-(int)c;d=a/100;g=d-(int)d;e=a/400;h=e-(int)e;
if(((f==0)&&(g!=0))||(e==0)){printf("这一年是闰年,");
switch((int)b){
case1:printf("这个月有31天,是冬天");break;
case3:printf("这个月有31天,是春天");break;
case5:printf("这个月有31天,是春天");break;
case7:printf("这个月有31天,是夏天");break;
case8:printf("这个月有31天,是夏天");break;
case2:printf("这个月有29天,是冬天");break;
case4:printf("这个月有30天,是春天");break;
case6:printf("这个月有30天,是夏天");break;
case9:printf("这个月有30天,是秋天");break;
case10:printf("这个月有30天,是秋天");break;
case11:printf("这个月有30天,是秋天");break;
case12:printf("这个月有31天,是冬天");break;}}else{
printf("这一年不是闰年,");
switch((int)b){
case1:printf("这个月有31天,是冬天");break;
case3:printf("这个月有31天,是春天");break;
case5:printf("这个月有31天,是春天");break;
case7:printf("这个月有31天,是夏天");break;
case8:printf("这个月有31天,是夏天");break;
case2:printf("这个月有28天,是冬天");break;
case4:printf("这个月有30天,是春天");break;
case6:printf("这个月有30天,是夏天");break;
case9:printf("这个月有30天,是秋天");break;
计算机科学与工程学院
case10:printf("这个月有30天,是秋天");break;
case11:printf("这个月有30天,是秋天");break;
case12:printf("这个月有31天,是冬天");break;}}
}编译结果:
-------------------Configuration:闰年
-Win32Debug--------------------Linking...
闰年.exe-0error(s),0warning(s)
运行结果:
经测试,该程序可以正常运行,且无错误,能够完成题目中的要求。
实验心得:
这次的实验我学到了很多东西,比如在代码编辑的时候,选择合适的变量类型,可以对整个程序的运行产生重要的影响;另外,我发现在使用不同的编辑软件时,输入的代码也不尽相同,需要注意;最后,经过这次的实验,我灵活地使用了课堂上老师教授的代码及其使用方法,感觉受益匪浅,代码编辑真是一件有意思的事情!
扩展阅读文章
推荐阅读文章
资信文档网 www.zihuaxinyuan.cn
Copyright © 2013-2024 . 资信文档网 版权所有
Powered by 资信文档网 © All Rights Reserved. 备案号:京ICP备13044534号-2