篇一:运算符与表达式实验报告
《高级语言程序设计》实验报告
中山大学南方学院
电子通信与软件工程系
课程名称:
高级语言程序设计实践
实验题目:
运算符和表达式
年
月
日
《高级语言程序设计》实验报告
附:实验报告
专业:
年级:
完成日期:
学号:
姓名:
成
绩:
一、实验目的1、能够使用C语言进行简单的算术运算、关系运算和逻辑运算。
2、掌握不同的类型数据之间赋值的规律。
3、进一步熟悉C语言程序的编辑、编译和运行的过程。
二、实验原理
1、用int定义整型变量来存放整数;
2、用float定义浮点数变量来存放小数;
3、使用scanf()函数从键盘输入两个整型数据,并赋值给两个变量。
三、实验过程
1、算术运算
实验代码如下:
#include
#include
intmain()
《高级语言程序设计》实验报告
{
inta=2,b=3;
floatx=3.9,y=2.3;
floatresult;
result=(float)(a+b)/2+(int)x%(int)y;
returnresult
}
输出结果如图:
2、算术运算
实验代码如下:
#include
#include
intmain()
{
intnumber;
inta1,a2,a3;
printf("请输入一个三位数:");
scanf("%d",&number);
a1=number%10;
《高级语言程序设计》实验报告
number=number/10;
a2=number%10;
a3=number/10;
printf("三位数%d的个位数字是%d,十位数字是%d,百位数字
是%d\n",number,a1,a2,a3);
return0;
}
输出结果如图:
3、关系运算与逻辑运算
实验代码如下:
#include
#include
intmain()
{
intx;
printf("输入x的值:");
scanf("%d",&x);
printf("表达式(x>0)的值:%d\n",x>0);
printf("表达式(x>=-20&&x<=-10)的值:%d\n",x>=-20&&x<=-10);
《高级语言程序设计》实验报告
printf("表达式(x>=100||x<10)的值:%d\n",x>=-20&&x<=-10);
printf("表达式(x>20&&x%3==0的值:%d\n",x>20&&x%3==0);
if(x%5==0&&x%3==0)
printf("yes\n");
else
printf("no\n");
return0;
}
输出结果如图:
4、综合任务
实验代码如下:
#include
#include
intmain()
{
intgrad1,grad2;
scanf("%d%d",&grad1,&grad2);
printf("表达式(grad1>=0&&grad1<=100)值:%d\n",grad1>=0&&grad1<=100);
《高级语言程序设计》实验报告
printf("表达式(grad2>=0&&grad2<=100)值:%d\n",grad2>=0&&grad2<=100);
printf("%d",grad1>grad2?grad1:grad2);
return0;
}
输出结果如图:
四、思考并回答以下问题
1、举例说明逻辑运算符的短路特性。
答:条件1&&条件2,条件1为假时不会执行条件2;
条件1||条件2,条件1为真时不会执行条件2。
上述即为逻辑运算符的短路特性。
2、举例说明复合赋值运算符的运算顺序?
答:i++:表示先赋值给i在自增;++i表示先增在赋值。
单独使用两者没有差别,但如果前面有赋值的话那就有差别了。
比如:前者打印的是6和5,后者则是6和6,因为前者先给i自增,后者则是先赋值在自增。
3、编写程序:使用条件运算符计算两个数的最大值。
答:代码如下:
#include
《高级语言程序设计》实验报告
intmain(){inta,b,max;printf("请输入两个整数(以空格键分隔):");scanf("%d%d",&a,&b);if(a>b)max=a;if(a<=b)max=b;printf("max=%d\n",max);return0;}4、通过课下实践,掌握其他各种运算符的使用方法。
答:+,加;-,减;*,乘;/,除;>,大于;
<,小于;==,等于;>=,大于等于;<=,小于等于;
!=,不等于;&&,与;||,或;!五、实验总结和体会
总结和体会:
1、printf语句输出整型变量的值时,使用的是“%d”,输出实型变量的值时要用“%f”。
2、从键盘读入两个数有两种写法:
第一种:scanf("%d",&a);scanf("%d",&b);
《高级语言程序设计》实验报告
第二种:scanf("%d%d",&a,&b);其中第二种的写法较为简便。
3、通过本次实验了解到了C语言的许多运算符,有算术运算符、关系运算符和逻辑运算符。
4、体会到C语言的学习需要不断的实践和操作,不单单是书本上的理论知识,只有实操才能知道自己还有哪些不足。
篇二:运算符与表达式实验报告
篇三:运算符与表达式实验报告
实验二
数据类型、运算符和表达式
班级:计算机科学
学号:
与技术
1.了解C语言数据类型的意义,掌握基本数据类型变量的特点
和实
定义方法;
2.学会使用C的算术运算符,以及包含这些运算符的算术表达
验
式;
目
3.掌握自加(++)和自减(--)运算符的使用;
4.进一步熟悉C程序的编辑、编译、连接和运行的过程。
的姓名:1.程序阅读
(1)理解下面的程序,并在TC下运行查看结果,回答程序后面
的问题。
输入并运行以下程序:main(){charc1,c2;c1=97;c2=98;实
验
}printf(“%%ccn”,c1,c2);printf(“%d%dn”,c1,c2);
内
容
及
结
果
答
:该程序运行结果为ab9798在此基础上
①将第三行、第四行改为:
c1=321;c2=353;再使之运行,分析其运行结果。
答:
该程序运行结果为Aa6597分析:
②将第二行改为:
intc1,c2;再使之运行,分析其运行结果。
答:
该程序运行结果为ab9798分析:
(2)理解下面的程序,并在TC下运行查看结果,回答程序后面
的问题。
main(){inti=8,j=10,m,n;m=++i;n=j++;printf(“%d,%d,%dn,%”d,i,j,m,n);}
答:
该程序运行结果为9,11,9,10分别作以下改动并运行:
①程序改为:main(){inti=8,j=10;printf(“%dn,%”d,i++,j++);}答
:该程序运行结果为8,10②在①的基础上,将printf语句改为:printf(“%dn,%”d,++i,++j);答:
该程序运行结果为9,11③
再将printf语句改为:printf(“%d,%d,%dn,%”d,i,j,i++,j+);答:
该程序运行结果为9,11,8,10④
程序改为:main(){inti=8,j=10,m=0,n=0;m+=i++;n-=--j;printf(“i=%d,j=%d,m=%d,n=n%”d,i,j,m,n);}答:
该程序运行结果为i=9,j=9,m=8,n=-9(3)理解下面的程序,并在TC下运行查看结果,回答程序后面
的问题。
①main(){intnum;num=32767;
printf(“num=n%”d,++num);}
实
验
内
容
}答:
该程序运行结果为num=32768②main(){inta=-2;printf(“%d,n%”d,a,-a-);
及
答:该程序运行结果为-3,-2结
2.程序设计
果
(1)
设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积。用赋初值
的分
方式对r、h赋值,编程计算后,输出计算结果,输出时要求有
文析
字说明,取小数点后2位数字。
答:该程序为
#include
floatr;doubles,c;r=1.5;s=PI*r*r;c=2*PI*r;printf("s=%.2lf,c=%.2lf",s,c);
}
(2)
将华氏温度转换为摄氏温度和绝对温度的公式分别为
c5(f32)(摄氏温度)9k=273.16+c(绝对温度)请编程序:当给出f时,求其相应摄氏温度和绝对温度。
测试数据:①f=34②f=100答:①的程序为
#include
floatf,c;doublek;f=34;c=5/9*(f-32);k=273.16+c;printf("c=%f,k=%lf\n",c,k);}
②的程序为
#include
k=273.16+c;printf("c=%f,k=%lf\n",c,k);}
(3)
写一个程序把极坐标(r,θ()θ之单位为度)转换为直角坐标
(X,Y)。转换公式是:x=r.cosθ
y=r.sinθ
测试数据:①r=10θ=45②°r=20θ=90°答:①的程序为#include
floatr,b,x,y;r=10;b=45;x=r*cos(b/180*3.14);y=r*sin(b/180*3.14);printf(“x=%f,y=%f”,x,y);②的程序为
#include
floatr,b,x,y;r=20;b=90;x=r*cos(b/180*3.14);
y=r*sin(b/180*3.14);printf(“x=%f,y=%f”,x,y);
}
教
师
评
阅
篇四:运算符与表达式实验报告
实验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语言有什么启
篇五:运算符与表达式实验报告
仲恺农业工程学院实验报告纸
信息学院(院、系)
专业
班
C语言程序设计
课
学号
姓名
实验日期
教师评定
实验名称:数据类型、运算符和表达式
实验目的:
(1)
掌握C语言数据类型,熟悉基本类型变量的定义、赋值和运算。
(2)
熟悉C程序的编辑、编译、链接和运行过程。
实验内容与总结:
1、运行下面程序,分析实验结果。
#include
floatx=2.5,y=4.7;
inta=7,b;
floatresult;
result=x+a%3*(int)(x+y)%2/4;
/*赋值语句1*/
printf("result1=%f\n",result);
a=2;b=3;x=3.5;y=2.5;
result=(float)(a+b)/2+(int)x%(int)y;
/*赋值语句2*/
printf("result2=%f\n",result);}分析:
(1)、result=x+a%3*(int)(x+y)%2/4;语句求值过程分析如下:
a%3=1;(int)(x+y)=7;result=x+a%3*(int)(x+y)%2/4=2.5+1*7%2/4=2.5+1/4=2.500000因为floatresult,所以输出结果有六位小数。
(2)、result=(float)(a+b)/2+(int)x%(int)y;语句求值过程分析如下:
(float)(a+b)/2=(2+3)/2=2.500000;(int)x%(int)y=3%2=1,所以result=3.500000.(3)、该实验中表达式求值所用到的知识点包括:
①单精度浮点型变量float,有效数学为6~7位;
②基本整型int;
③程序内printf函数中的“%f”是输出浮点数时指定的格式符,作用是指定该实数以小数形式输出;
④取商符号“/”,取余符号“%”;
⑤转义字符\n,作用是换行,将当前位置移到下一行开头。
2、译码:教材P67-3.7程序:
#include
charc1="C",c2="h",c3="i",c4="n",c5="a";
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
printf("Passwordis
%c%c%c%c%c\n",c1,c2,c3,c4,c5);}(1)、程序编制要点:
①指定字符变量,初值分别’C’,’h’,’i’,’n’,’a’;
②经过运算,使C变为G,h变为l,i变为m,n变为r,a变为e;
③输出结果:China译成
Glmre。
(2)该题目涉及的知识点和难点:
①字符变量char的使用;
②复合的赋值运算符“+=”,c+=4是表示c=c+4,③程序内printf函数中的“%c”是输出字符时指定的格式符,作用是指定该实数以字符形式输出;
④“;”的使用。
3、输入一个三位整数,然后构成其反向三位数,并将其输出。
程序:
#include
inta,b,c,x,y;
printf("请输入一个三位整数
x=");
scanf("%d",&x);a=x/100;b=(x-a*100)/10;c=x-a*100-b*10;
y=c*100+b*10+a;
printf(“%d\n",y);}(1)、程序编制要点:
①输入一个三位数x,取出它的个位数a,十位数b,百位数c;
②将反向三位数y等于个位数*100+十位数*10+百位数,则y=c*100+b*10+a
③x变成了y。
(2)、该题目涉及的知识点和难点:
①基本整型int,scanf函数的使用;
②一个三位数的个位数、十位数、百位数的取值方法。
程序代码和运行情况描述:
前两个程序我都写的都没问题,但有时忘记了“;”的输入,导致程序出错,根据编程工作区的最下面小窗口的出错提示改正后,程序就可行了。
篇六:运算符与表达式实验报告
《高级语言程序设计》实验报告
实验序号:2实验项目名称:数据类型、运算符和表达式
学
号
实验地点
一、实验目的及要求
1.学会使用基本数据类型
2.熟练使用C常量、变量和表达式
3.使用格式化输入输出函数
二、实验设备(环境)及要求
使用turboc2.0+windows系列操作系统的环境。
三、实验内容与步骤
1.看懂并上机验证例题2-1---2-24。
2.参考例题2-2完成题目:
设圆半径r=1.5圆柱高h=3求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积,输入结果要有文字说明,如Theareais7.06(其中π=3.1415926,采用第二章例题2-2的#define来定义;圆周长2πr、圆面积πr2、圆球表面积4πr2、圆球体积4/3πr3、圆柱体积πr2h)3.设计算法输入一个四位正整数,将它们倒排,例如输入1234,输出4321。
(提示:分别应用/求整数部分,%求余数部分。例如7/5=1,7%5=2)。
4.参考例题2-10完成题目:
要将”CHINA”译成密码,密码规律是:用原来的字幕后面第4个字母代替原来的字母,例如字母’A’后面第4个字母是’E’,用’E’代替’A’。因此”CHINA”应该翻译成”GLMRE”。请编写一个程序将”CHINA”运算后变成”GLMRE”并输出。
四、实验结果与数据处理
2.3.
4.
五、分析与讨论
这次上机操作无实例可看,一看题目毫无头绪,经过同学的指点和自己的实践才得以完成任务,需要多加练习!
六、教师评语
签名:
日期:
附源程序清单:
成绩
篇七:运算符与表达式实验报告
.凯里学院
C语言程序设计
实验报告
×××××
专业××
年级××
班,学号××××××
姓名××成绩
合作者
实验日期
年
月
日
指导教师
评阅日期
年
月
日
实验二
数据类型、运算符和表达式
一、实验目的:
(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
(2)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。
(3)掌握C语言的输入和输出函数的使用
(4)进一步熟悉C程序的编辑、编译、连接和运行的过程,学会使用stepbystep功能。
(5)认真阅读教材数据类型,算术运算符和表达式,赋值运算符和表达式部分内容。
装订线
二、实验内容:
(1)输人并运行下面的程序
#include
voidmain()
{
charc1,c2;
c1="a";
c2="b";
printf("%c%c\n",c1,c2);
}
(2)按习题3.7的要求编程序并上机运行
该题的要求是:
要将“China”译成密码,密码规律是:用原来字母后面的第4个字母代替原来的字母。
例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre"。
请编一程序,用赋初值的方法使。cl,c2,c3,c4,c5五个变量的值分别为‘C’、‘h’、‘i’、‘n’、‘a’,经过运算,使cl,c2,c3,c4,c5分别变为‘G’、‘l’、‘m’、‘r’、‘e’,并输出。
三、实验步骤:
装订线
(1)输人并运行下面的程序
#include
voidmain()
{
charc1,c2;
c1="a";
c2="b";精品
.printf("%c%c\n",c1,c2);
}
①运行此程序。
程序结果为:
②在此基础上增加一个语句:
printf("%d%d\n",c1,c2);
再运行,并分析结果。
③将第2行改为:
intc1,c2;
再使之运行,并观察结果。
④再将第3行改为;
cl=a;/*不用单撇号*/
c2=b;
再使之运行,分析其运行结果。
分析:编译通不过,会显示a、b未被定义。
⑤再将第4,5行改为:
cl="a";/*用双撇号*/
c2="b";
再使之运行,分析其运行结果。
分析:编译通不过,有语法上的错误。
⑥再将第4,5行改为:
c1=300;/*用大于255的整数*/
c2=400;
再使之运行,分析其运行结果。
分析:字符型变量为一个字节,且为无符号型,字符会输出ASCII表中44和144所对应的字符,而要将其转换为数字,会进行符号位扩展,则会输出44和-112。
装订线
装订线
(2)输人并运行教材第3章习题3.6给出的程序
#include
main()
{
charc1="a",c2="b",c3="c",c4="\101",c5="\116";
printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);
printf("\t\b%c%c\n",c4,c5);精品
.}
分析输出结果:(短线代表空格数)
aa-bb---cc------abc
-------A-N
(3)输人并运行下面的程序
#include
voidmain()
{
inta,b;
unsignedc,d;
longe,f;
a=100;
b=-100;
e=50000;
f=32767;
c=a;
d=b;
printf("%d,%d\n",a,b);
printf("%u,%u\n",a,b);
printf("%u,%u\n",c,d);
c=a=e;
d=b=f;
printf("%d,%d\n",a,b);
printf("%u,%u\n",c,d);
}
装订线
请对照程序和运行结果分析:
①将一个负整数斌给一个无符号的变t,会得到什么结果。画出它们在内存中的表
示形式。
符号位会变成数位位,数值的绝对值增大。
②将一个大于32767的长整数斌给整型变t,会得到什么结果。画出它们在内存中
的表示形式。
会出现从低位向高位截取16位,且第16位为符号位。
精品
装订线
.③将一个长整数赋给无符号变量,会得到什么结果(分别考虑该长整数的值大于或
等于65535以及小于65535的情况)。画出它们在内存中的表示形式。
会出现从低位向高位截取16位,且第16位为符号位。大于截取,等于为零,小于不变。
读者可以改变程序中各变的值,以便比较。例如:a=65580,b=-40000.e=
65535,f=65580。
(4)输人习题3.1#include
voidmain()
{
inti,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d\n",i,j,m,n);
}
①运行程序,注意i,j,m,n各变量的值。分别作以下改动并运行:
②将第6,7行改为:
m=i++;
n=++j;
再运行。
③将程序改为:
#include
voidmain()
{
inti,j;
i=8;
j=10;
printf("%d,%d\n",i++,j++);
}
④在③的基础上,将printf语句改为:
printf("%d,%d,%d,%d\n",i,j,++i,++j);
⑤再将printf语句改为:精品
装订线
装订线
.printf("%d,%d,%d,%d\n",i,j,i++,j++);
⑥将程序改为:
#include
voidmain()
{
inti,j,m=0,n=0;
i=8;
j=10;
m+=i++;
n-=--j;
printf("i=%d,j=%d,m=%d,n=%d\n",i,j,m,n);
}
装订线
四、实验心得(体会):
通过本次C语言上机实验,我对计算机编程语言有了一定的体验。我对C语言中各种数据类型及表达式的实用有了一定的了解。特别是关于自增自减运算符的使用加深了印象。对C语言的学习,我将更加努力。
如有侵权请联系告知删除,感谢你们的配合!
装订线
精品
推荐访问:运算符与表达式实验报告 表达式 运算符 实验