湖北工业大学C语言实验报告解答Word下载.docx
《湖北工业大学C语言实验报告解答Word下载.docx》由会员分享,可在线阅读,更多相关《湖北工业大学C语言实验报告解答Word下载.docx(69页珍藏版)》请在冰豆网上搜索。
\TURBOC2
TURBOCdirectories:
Pickfilename:
CirrentPickfile:
完成设置后,保存配置文件:
→”Options”→”SaveOptions”→”ConfigFile:
C:
\TC\TCCONFIG.TC”
保存配置文件后,运行以下小程序“Hello.c”
main()
{printf(“Hello!
”);
}
输入后按<
Ctrl+F9>
运行程序,按<
Alt+F5>
查看输出屏幕。
当程序能够正确运行则
说明设置正确。
(2)在E盘TC子目录下设置工作环境
在E盘建立TC子目录,将光盘或U盘中的所有文件包括INCLUDE、LIB两个子,
目录都复制在到TC子目录中,运行TC程序:
\TC>
E:
\TC\INCLUDE
\TC\LIB
E:
\TC
TURBOCdirectories:
完成设置后,保存配置文件后,运行以下小程序“Hello.c”用以下操作运行程序:
→RUN→RUN;
运行正确后可以查看输出屏幕
→RUN→UserScreen;
程序显示“Hello!
”表示设置正确。
4、源程序的装载和保存
在网络E盘上建立K12子目录,在该子目录下以学号建立学生子目录,如。
在该子目录下保存BLANK1.C、MODIFY1.C、READ1.C、PROGRAM1.C等源文件。
(1)用菜单打开或装载源文件BLANK1.C的操作如下:
→”File”→”Load”→”*.C”→”BLANK1.C”
编辑完成后按.<
→”File”→”Save”存盘。
(2)用快捷键打开或装载源文件MODIFY1.C的操作如下:
F3>
→“Load”→“*.C”→“MODIFY1.C”
编辑完成后按<
F2>
存盘。
(3)用访问键打开或装载源文件READ1.C的操作如下:
Alt,F,L>
→“*.C”→“READ1.C”
Alt,F,S>
→“D:
\TC\READ1.C”存盘。
5、编译运行源程序并查看输出屏幕
(1)用菜单命令编译运行源文件BLANK1.C的操作如下:
→“RUN”→“RUN”
(2)用菜单命令查看源文件BLANK1.C的输出屏幕操作如下:
→“RUN”→“UserScreen”
(3)编译运行“MODIFY1.C”文件的快捷键为:
(4)查看“MODIFY1.C”文件输出屏幕的快捷键为:
(5)编译运行“PROGRAM1.C”文件的访问键为:
Alt+R,R>
(6)查看“PROGRAM1.C”文件的访问键为:
Alt+R,U>
6、简单程序的编辑和调试
(1)已知半径r,试求园的面积s,球的体积v。
#include<
stdio.h>
#definePI3.
{intr=4,s,v;
s=PI*r*r
v=4*PI*r*r*r/3;
printf(“s=%d,v=%d”,s,v);
(2)将华氏温度变换成摄氏温度C,计算公式为:
C=5*(F-32)/9,若华氏温度F=59
度,试编程求摄氏温度C。
{floatc,f=59.0;
c=5*(f–32)/9;
printf("
c=%f,f=%f”,c,f);
}
(3)已知电路参数L和C,求谐振频率f0。
{floatL,C,f0;
scanf(“L=%f,C=%f”,L,C);
f0=sqrt(2*3.*L*C);
f0=1/f0;
printf(“f0=”,f0);
(4)运行以下程序,分析程序运行的结果。
(d=0,b=1)
main()
{inta=5,b=4,c=3,d;
d=(a>
b>
c);
b-=c+=d;
printf("
d=%d,b=%d"
d,b);
getch();
三、调试过程(调试记录10分、调试正确性10分、实验态度10分):
1、设置好VC的工作环境,分别调试验证预习作业的正确性。
2、详细记录调试过程,记录下出现的错误,提示信息,解决错误的方法,目前还没
有解决的问题。
3、调试过程中人为设置错误,查看提示信息的内容。
如主函数写错为mian;
去掉函
数体开始的“{”,写错变量类型等错误,记下错误的提示信息。
4、记录每个程序的运行结果,思索一下是否有其他的解题方法。
5、文件分别用ex1.C、ex2.、Cex3.C、Cex4.C等文件名存盘。
四、分析与总结(每个步骤10分)
1、分析实验结果,判断结果的合理性及产生的原因。
2、总结实验所验证的知识点。
3、写出实验后的学习体会。
C语言程序设计实验内容:
实验2数据类型、运算符与表达式
机械学院专业班级:
机自班教师:
学号:
1、掌握常量、符号常量、变量的表示与定义。
2、掌握整型、长整型、单精度型、双精度型、字符型数据的定义和存储。
3、掌握算术运算、赋值运算、关系运算、逻辑运算、逗号运算、强制类型运算、条件
求字节运算、位运算行的运算级别、结合原则。
4、掌握表达式语句和函数语句的简单使用。
1、程序填空题:
试在括号中填入正确的答案,并上机验证程序的正确性。
(1)对符号常量进行宏定义。
(#define)PI3.结果为:
(main())
{floatr,s;
scanf(“%f”,r);
s=PI*r*r;
printf(“%f%f\n”,r,s);
}
(2)交换变量a和b中的数据。
{inta=32,b=24,(t);
(t=a);
a=b;
b=t;
printf(“%d%d\n”,a,b);
2、程序改错并上机调试运行
(1)求a,c两个数的余数和商。
/**********found**********/
{inta=8,b;
floatc=5.0,d;
//{inta=8,b,c=5,d;
d=a%c;
b=a/c;
printf(“%d%d\n”,&
a,&
b);
//printf(“%d%d\n”,d,b);
(2)将原大写字母转换为小写字母,将原小写字母更换为大写字母。
{charch1=‘E’,ch2=‘d’;
ch1=ch1+20;
//ch1=ch1+32;
ch2=ch2+32;
//ch2=ch2-32;
printf(“%c,%c\n”,a,b);
3、读程序写结果并上机验证其正确性
(1)求带参数的宏代换
结果为:
(8)
#defineN4
#difineS(x)N*x*x
{inta=1,b=2;
printf(“%d\n”,S(a+b));
(2)求表达式的输出结果
d=6
main()12
{inta=3,b=2,c=6,d;
printf(“d=%d\n”,(a=3,b=2,c=6));
printf(“%d%d\n”,(a=3)||(++b),b);
4、编程题
(1)已知三角形三个边分别为a=3,b=4,c=5,编程求三角形面积s
math.h>
{floata,b,c,s,area;
scanf("
%f,%f,%f"
&
a,&
b,&
c);
s=1.0/2*(a+b+c);
area=sqrt(a*(s-a)*(s-b)*(s-c));
a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n"
a,b,c,s);
area=%7.2f\n"
area);
}
(2)已知a=4,b=6,用你所知道的交换算法编程,交换a,b两个变量的值。
main()main()main()
{inta=4,b=6;
{inta=4,b=6,t;
{inta=4,b=6,t;
a=%d,b=%d\n"
a,b);
a=a^b;
t=a;
a+=b;
b=a^b;
a=b;
b=a–b;
b=t;
a=a–b;
}}}
实验3顺序结构程序设计
机械学院专业班级:
机自班教师:
李振立
成绩:
1、掌握赋值语句、表达式语句、函数调用语句、复合语句、空语句的使用方法。
2、掌握输入、输出函数的格式及格式符的使用。
掌握文件包含预处理命令的使用方法。
3、掌握数据的输入、存储、输出之间的关系。
4、掌握顺序程序设计的逻辑结构,掌握数据结构的功能。
(1)输入大写字符A,则输出为(65,a)。
()//#include<
{()//charch,chr;
Chr=(ch=getchar())<
’Z’+1?
ch+32:
ch-32;
putchar(ch+2);
printf(“%d,%c\n”,ch,chr);
(2)已知变量a=80000,b=60000,输出二数据之和c,与二数之差d。
{()a=80000,b=60000,c,d;
//longint
()=(a-b,a+b);
//c
()=(a+b,a-b);
//d
printf(“%ld%ld\n”,c,d);
(1)对下列程序中使用的逻辑运算符,能使变量d、e的结果为零。
Main()
{inta=8,b=2,c=3,d,e;
d=(a%c&
a%c);
//^
e=a/c–b||c++;
//&
&
printf(“%d,%d\n”,d,e);
(2)试修改程序中的错误。
{inta=4,b=6,c=3;
a=a+b=b+c;
//a+=b+=c;
b=a<
b?
a:
b<
c?
b:
c
printf(“%d,%d\n”,a,b);
//13,3
(1)变量
a,b,c,d如下,分别输出各种类型的变量a,输出表达式c+a,d–32的值。
main()结果为(-1,65535,177777,ffff)
{inta=-1,b=2;
(C,B)
charc=‘D’,d=‘b’;
b=b+c;
printf(“%d,%u,%o,%x\n”,a,a,a,a));
printf(“%c,%c\n”,c+a,d-32));
(2)运行程序后输入a空格b空格c回车后输出结果是(a,b)。
{intch1,ch2,ch3;
ch1=getchar();
ch2=getchar();
ch3=getchar();
putchar(ch1);
Printf(“%c,%c\n”,ch2,ch3));
(1)给变量abc输入一个3位数,请编程分离出这个数的百位、十位、个位,分别赋给变
a,b,c,输出a,b,c的值。
#include"
stdio.h"
main()
{intabc,a,b,c;
%d"
abc);
a=abc/100;
b=abc/10-a*10;
c=abc%10;
%d,%d,%d\n"
a,b,c);
(2)输入一个四位小数的浮点数,如216.4572,试编程将该数精确到小数点后的二位。
{floata,b;
%f"
a);
a=%f\n"
a);
b=(int)(a*100+0.5)/100.0;
a=%f,b=%f\n"
C语言程序设计实验内容:
实验4选择结构程序设计
机械学院专业班级:
李振立
学号:
成绩:
1、掌握条件表达式的计算过程。
2、掌握if语句的三种控制语句,掌握if与else的配对方法,掌握if结构的执行过程。
3、掌握switch-case语句的控制功能,掌握default、break的功能。
4、掌握if语句、switch-case语句的嵌套使用的功能。
(1)下面程序用于判断从键盘输入的一个字符是数字、大写字母或小写字母。
{charch;
if(ch=getchar())!
=’#’))
{if(ch>
=’0’)printf(“number”);
ch<
=’9
if(ch>
=’A’)printf(“Upper”);
=’Z’
=’a’)printf(“Litter”);
}//&
=’z’
printf(“\n”);
(2)已知m的初值为5,试填写变量说明语句,输出结果为(4,5)。
{()//intm=5,n;
if(m%5)n=m++;
elsen=--m;
printf(“%d,%d”,m--,++n);
(1)输入a,b两个数,若a与b相等,将a+b赋给c;
如若a与b不相等,将a-b赋给c
{inta,b,c;
scanf(“%d,%d”,a,b);
//scanf(“%d,%d”,&
max=a;
if(max=b)c=a+b;
//if(max==b)c=a+b;
elsec=a-b;
printf(“c=%d\n”,c);
(2)改正程序中switch-case语句出现的错误。
{charch=‘d’;
switch(ch–2);
//switch(ch–2)
casea;
//{case‘a’:
;
default:
printf(“%c\n”,ch);
caseb;
printf(“%d”,ch);
//case‘b’:
printf(“%d”,ch);
(1)选择结构程序如下,当a=1,b=3,c=5,d=4时,执行下面程序后,X的值为
(2)
main()
{inta=1,b=3,c=5,d=4;
If(a<
b)
if(c<
d)x=1;
elseif(a<
c)
If(b<
d)x=2;
elsex=3;
elsex=6;
分析:
采用算法代入分析法,先画流程图,再代入数字比较,决定流向,后取值。
elsex=7;
printf(“x=%d”,x);
main()结果为:
2,1
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;
break;
case1:
b++;
case2:
a++;
b++;
case3:
a--;
b--;
default:
b--;
}
printf("
\n%d,%d"
(1)试编写一个程序,输入a,b,c三个值,输出最大值max和最小值min。
{inta=0,b=0,c=0,max=0,min=0;
%d,%d,%d"
max=a;
min=a;
if(b>
max)max=b;
if(b<
min)min=b;
if(c>
max)max=c;
if(c<
min)min=c;
%d%d\n"
max,min);
(2)试用switch-case语句编制程序,输入一个当前的月份,求出该月份所属的季节。
试编制程序。
{intm,s;
m);
switch(m)
{case12:
case1:
case2:
winter"
);
case3:
;
case4:
case5:
spring"
case6:
case7:
case8:
summer"
case9:
;
case10:
case11:
autun"
default:
printf("
\ninputerror"
(3)试编写一个程序,判断给定的年份(如2000年)是否为闰年。
{intyear;
year);
if((year%4==0)&
(year%100!
=0)&
(year%400==0))
{printf("
yes,%dyearisleap\n"
ye