九江学院 C语言实验报告及答案.docx
- 文档编号:29708341
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:61
- 大小:187.92KB
九江学院 C语言实验报告及答案.docx
《九江学院 C语言实验报告及答案.docx》由会员分享,可在线阅读,更多相关《九江学院 C语言实验报告及答案.docx(61页珍藏版)》请在冰豆网上搜索。
九江学院C语言实验报告及答案
《高级语言程序设计》
实验指导
学院:
信息科学与技术学院
专业:
信息管理与信息系统
学期:
2011~2012学年第二学期
教师:
实验1熟悉C语言程序开发环境
院(系):
信息科学与技术学院课程名称:
高级语言程序设计日期:
班级
学号
实验室
专业
姓名
计算机号
实验名称
所用软件
教师签名
实验操作
实验分析
实验成绩
1.1实验目的
1.了解和掌握C语言的主要特点,C语言的程序开发环境,掌握C语言的上机步骤。
2.熟练掌握源程序的建立、编辑、编译、保存和运行的基本方法。
3.学习动态调试程序的方法,熟练掌握单步执行程序和设置断点执行程序的操作。
1.2实验预习
1.熟悉VC++的启动和退出以及VC++中的编辑、编译、连接和运行命令。
2.了解TurboC的启动和退出以及TurboC中的编辑、编译、连接和运行命令。
3.了解下列命令及函数:
include
1.3实验任务
准备工作:
首先在D盘建立一个以自己的学号命名文件夹,用来存放所建的文件。
1.建立第1个源程序,命名为A1.cpp/A1.C。
(VC++/TurboC环境下都可以的)
#include"stdio.h"
main()
{
inta,b,c;
a=10,b=5;
c=a+b;
printf("a=%d,b=%d,c=%d\n",a,b,c);
}
2.实验指导书P19【上机题3】,命名为A2.cpp/A2.C。
3.在VC++环境下,建立第3个C语言源程序,命名为A3.cpp。
#include"stdio.h"
main()
{
intn,s;
n=s=0;
while(s<500)
{++n;s+=n;}
printf("1+2+...+%d=%d\n",n-1,s-n);
}
1.4实验报告
1.写出【实验任务1】人工分析结果并在实验完成后记录实验结果。
表1-1实验任务1结果记录表
人工分析结果
实验运行结果
a=10,b=5,c=15
a=10,b=5,c=15
2.【实验任务2】程序结果记录。
表1-2实验任务2结果记录表
原始数据
实验运行结果
Inputx,y:
Theresultis
3,5
3132
35
8
上述实验结果中,是否有错误结果出现?
__有___。
出现错误的原因是输入格式错误。
提示:
查找错误的方法在P20上的动态调试程序,请自行学习。
3.完成【实验任务3】,并记录实验结果。
表1-1实验任务1结果记录表
实验运行结果
1+2+……+31=496
4.在VC中完成C程序编辑完成后,需要编译运行,请简述不同的操作方法。
(1)快捷键F7,然后用Ctrl+F5
(2)执行“编辑|编译”命令,然后使用“编译|执行”命令
(3)使用工具栏中的命令按钮
实验2数据描述
院(系):
信息科学与技术学院课程名称:
高级语言程序设计日期:
班级
学号
实验室
专业
姓名
计算机号
实验名称
所用软件
教师签名
实验操作
实验分析
实验成绩
2.1实验目的
1.认识C语言,熟悉C语言的语法结构。
2.掌握C语言中4种基本数据类型的特点、数据类型变量的定义及使用。
3.掌握不同数据类型运算时,数据类型的转换规则。
4.熟练掌握赋值语句。
5.掌握C语言中表达式语句以及不同运算符的运算规则和优先级。
2.2实验预习
1.各种数据类型变量的定义形式;熟悉下列标识符的含义:
int、short(int)、long(int)、unsigned(int)、float、double、char、void
2.各种数据类型的取值范围。
3.各类运算符的优先级和结合规则。
4.常量与变量的区别和联系。
2.3实验任务
1.实验指导书P22【上机题3】。
2.实验指导书P23【上机题6】。
3.实验指导书P24【上机题8】。
4.实验指导书P24【上机题9】。
5.分析程序,并上机验证运行结果。
#include
voidmain()
{
inta=10,x=5,y=6;
a+=a*=6;
x=y++;
y=++x;
a=x+++y;
printf("%d,%d,%d\n",a,x,y);
}
6.实验指导书P25【上机题12】。
2.4实验报告
1.预习【实验任务1】,阅读程序并上机调试程序记录运行结果。
表2-1实验结果记录表
人工分析结果
实验运行结果
25+4=29
25-4=21
25*4=100
25/4=4
25%4=1
25+4=29
25-4=21
25*4=100
25/4=4
25%4=1
2.预习【实验任务2】,阅读程序并上机调试程序记录运行结果。
表2-2实验任务2结果记录表
人工分析结果
11
实验运行结果
11
3.预习【实验任务3】,填空并上机调试程序记录运行结果。
表2-3实验任务3结果记录表
人工分析结果
91,90
实验运行结果
91,90
4.预习【实验任务4】,填空并上机调试程序记录运行结果。
表2-4实验任务4结果记录表
人工分析结果
12,104,0,12
实验运行结果
12,104,0,12
5.预习【实验任务5】,填空并上机调试程序记录运行结果。
表2-5实验任务5结果记录表
人工分析结果
14,8,7
实验运行结果
14,8,7
6.预习【实验任务6】,填空并上机调试程序记录运行结果。
表2-6实验任务6结果记录表
人工分析结果
c=78,d=1156
实验运行结果
c=78,d=1156
实验3顺序结构程序设计
院(系):
信息科学与技术学院课程名称:
高级语言程序设计日期:
班级
学号
实验室
专业
姓名
计算机号
实验名称
所用软件
教师签名
实验操作
实验分析
实验成绩
3.1实验目的
1.熟悉printf/scanf函数及printf/scanf函数的各种格式控制符。
2.比较printf函数和scanf函数格式控制符的相同点和不同点。
3.掌握顺序结构程序设计方法及执行过程。
4.掌握一些简单的算法。
5.能设计简单的顺序结构程序。
3.2实验预习
1.熟悉下列函数:
putchar、getchar、printf、scanf。
2.了解顺序结构程序的执行过程。
3.了解程序的跟踪调试和变量值的监视并能够熟练操作。
4.了解顺序结构程序的一般构成。
3.3实验任务
1.实验指导书P28【上机题4】。
2.实验指导书P28【上机题6】。
3.输入一个华氏温度,要求输出摄氏温度,公式为:
C=
。
要求输出结果保留到小数点后两位。
(提示:
已知程序段中有三处错误,由注释语句/**********found**********/提示下一条语句有错误),请修改程序中的错误并记录程序运行结果。
#include
main()
{
floatf,c;
/**********found**********/
scanf("%d",f);/*正确语句是:
__________________________*/
/**********found**********/
c=5/9(f-32);/*正确语句是:
__________________________*/
/**********found**********/
printf("f=%f,c=%f\n",c,f);/*正确语句是:
__________________________*/
}
4.程序填空。
实验指导书P30【上机题12】。
提示:
从键盘输入两个实数a和x,按公式计算并输出y的值。
。
#include
#include
main()
{
floata,x,y;
scanf("_____
(1)___",&a,&x);
y=_________
(2)_____;
printf("y=%f\n",y);
}
5.程序填空。
在已知a=3.5,b=5.4,c=4.3,编程求以a,b,c为边长的三角形的面积。
在程序的相应位置填写语句,运行程序并记录实验结果。
提示:
,其中
。
#include
____
(1)________/*需要添加头文件*/
main()
{
floata,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
_______
(2)________;
area=sqrt_____(3)______;/*库函数sqrt的功能是开平方*/
printf("area=%f\n",area);
}
3.4实验报告
1.完成【实验任务1】,阅读程序并上机调试程序记录运行结果。
表3-1实验任务1结果记录表
人工分析结果
实验运行结果
①
a=11,b=23.
a=11,b=23.
②
a=1,b=123.
a=1,b=123.
③
a=123,b=457.
a=123,b=457.
2.完成【实验任务2】,阅读程序并上机调试程序记录运行结果。
表3-2实验任务2结果记录表
实验运行结果
123,123
123.,123.,1.e+002,1.e+002,123.567,123.567
123.56700,123.57,124,123.57
abcde
3.完成【实验任务3】,填空并上机调试程序记录运行结果。
表3-3实验任务3结果记录表
第一处修改
scanf(“%f”,&f);
第二处修改
c=5.0/9.0*(f-32);
第三处修改
printf(“f=%.2f,c=%.2f\n”,f,c);
实验运行结果
80
f=80.00,c=26.67
4.预习【实验任务4】,填空并上机调试程序记录运行结果。
(1)scanf("%f,%f",&a,&x);
(2)pow(a,5)+sin(a*x)+log(a+x)+exp(a*x);
(3)当a=6.4,x=3.4时,y=.。
5.完成【实验任务5】,填空并上机调试程序记录运行结果。
表3-4实验任务5结果记录表
第一处填空
#include
第二处填空
s=(a+b+c)/2;
第三处填空
(s*(s-a)*(s-b)*(s-c));
实验运行结果
7.
实验4选择结构程序设计
院(系):
信息科学与技术学院课程名称:
高级语言程序设计日期:
班级
学号
实验室
专业
姓名
计算机号
实验名称
所用软件
教师签名
实验操作
实验分析
实验成绩
4.1实验目的
1.掌握C语言的逻辑运算符和逻辑表达式,学会表示逻辑值的方法。
2.掌握正确使用关系运算符和关系表达式。
3.熟练掌握条件语句,学习选择结构程序设计的方法及应用。
4.熟悉多分支选择的switch语句。
5.进一步学习跟踪调试程序,熟悉选择结构程序段中语句的执行过程。
4.2实验预习
1.熟悉逻辑运算符和逻辑表达式、关系运算符和关系表达式。
2.熟悉下列语句:
if、if-else、switch、break。
4.3实验任务
1.阅读程序,上机调试并记录程序结果。
#include
main()
{intx=3;
if(x==0)printf("x=%d\n",x);
elseprintf("x=%d\n”,x+1);}
2.阅读程序,上机调试并记录程序结果。
#include
voidmain()
{inta,b;
scanf("%d",&a);/*键盘输入一个整数a*/
if(a%2!
=0)/*判断a是否是奇数*/
{b=a*a;
printf("b=%d\n",b);
}
}
3.实验指导书P32【上机题4】,分析程序并运行结果。
4.程序填空。
阅读程序,运行并记录实验运行结果。
#include
main()
{charx,y;
printf("Pleaseinputaupperletter:
");
scanf("%c",&x);
if
(1)/*表达式功能:
判断输入的数据是否是大写字母*/
{2;/*语句功能:
将输入的大写字母转换成小写,赋值给y*/
printf("Thelowerletteris:
%c\n",y);}}
5.计算符号函数的值,要求用switch语句实现。
程序填空,并记录实验运行结果。
-1
x<0
y=
0
x==0
1
x>0
#include
main()
{intx,y;
printf("Pleaseinputthedata:
");
scanf("%d",&x);
switch
(1)/*表达式功能:
用条件表达式完成判断*/
{case0:
2/*语句功能:
根据符号函数定义,y赋值为0*/
case1:
3/*语句功能:
根据符号函数定义,y赋值为1*/
default:
4/*语句功能:
根据符号函数定义,y赋值为-1*/
}
printf("y=%d\n",y);}
4.4实验报告
1.完成【实验任务1】,在实验完成后记录实验结果。
表4-1实验任务1结果记录表
实验运行结果
x=4
2.完成【实验任务2】,写出人工分析结果并在实验完成后记录实验结果。
表4-2实验结果记录表
输入数据
人工分析结果
实验运行结果
3
b=9
b=9
4
5
b=25
b=25
6
3.完成【实验任务3】,记录实验结果。
表4-3实验结果记录表
输入数据
人工分析结果
实验运行结果
368
6+8=14
6+8=14
6189
18/9=2
18/9=2
71013
4.完成【实验任务4】,填空并在实验完成后记录实验结果。
表4-4实验任务4结果记录表
填空位置
填空语句
输入数据
实验运行结果
1
x>’A’&&x<’Z’
D
d
2
x=x+32
d
5.完成【实验任务5】,填空并在实验完成后记录实验结果。
表4-5实验任务5结果记录表
填空位置
填空语句
输入数据
实验运行结果
1
5
1
2
y=0;break;
-5
-1
3
y=1;break;
0
0
4
y=-1;break;
实验5循环结构程序设计
院(系):
信息科学与技术学院课程名称:
高级语言程序设计日期:
班级
学号
实验室
专业
姓名
计算机号
实验名称
所用软件
教师签名
实验操作
实验分析
实验成绩
5.1实验目的
1.熟练掌握while、do-while和for语句实现循环的方法。
2.掌握循环程序设计中一些常用算法(如穷举、迭代、递推等)。
3.掌握常用的无条件控制语句在循环中的控制作用。
4.理解循环嵌套及嵌套的执行过程。
5.2实验预习
1.熟悉语句:
while、do-while、for。
2.熟悉三种语句之间的关系和区别。
3.熟悉语句:
break、continue、goto。
4.循环结构常见的算法。
5.3实验任务
1.编写程序,输入一个正整数,计算该数据各位数字之和。
运行4次,分别输入:
123、0、-8、32769,请分析结果,并上机调试程序记录运行结果。
#include
main()
{intn,r,s=0;
printf("Pleaseinputthedata:
");
/*填空位置
(1),语句功能:
从键盘输入任意的正整数n*/
if(_____)/*填空位置
(2),表达式功能:
判断输入的数据n是否合法*/
{while(n>0)
{r=n%10;/*填空位置(3),语句功能是:
*/
s=s+r;
n=n/10;/*填空位置(4),语句功能是:
*/
}
printf("sum=%d\n",s);
}
else
printf("Thedataiswrong!
\n");
}
2.实验指导书P34第4题。
3.实验指导书P35第6题。
4.编写程序完成计算。
数列表达式s=1+
+
+
+…+
,当n=10时,求s的近似值。
已知程序段中有两处错误,由注释语句/**********found**********/提示下一条语句有错误,请修改程序中的错误并记录程序运行结果。
#include
main()
{floats=0;
intn;
/**********found**********/
for(n=1,n<=10,n++)
/**********found**********/
s=s+1/n;
printf("s=%f\n",s);
}
5.阅读程序,分析程序功能,并将非结构化程序改写为结构化程序。
#include
main()
{floats=0;intn,i=1;
printf("Pleaseinputthenumber:
");scanf("%d",&n);
loop:
if(i<=n)
{s=s+(float)(i)/(i+1);
i=i+2;
gotoloop;
}
printf("s=%f\n",s);
}
(1)该程序的功能是:
。
(2)运行程序,输入数据10,程序运行结果为:
。
(3)改写的结构化程序如下。
6.实验指导书P36第8题。
7.实验指导书P79第14题
(1)。
5.4实验报告
1.完成【实验任务1】,阅读程序并上机调试程序记录运行结果。
表5-1实验任务1结果记录表
填空位置
填空语句
输入数据
人工分析结果
实验运行结果
(1)
scanf(“%d”,&n);
123
sum=6
sum=6
(2)
n>0
0
Thedataiswrong!
Thedataiswrong!
(3)
取n的最低位数字
-8
Thedataiswrong!
Thedataiswrong!
(4)
保留取走最低位数字的n
32769
Thedataiswrong!
Thedataiswrong!
2.完成【实验任务2】,阅读程序并上机调试程序记录运行结果。
表5-2实验任务2结果记录表
实验运行结果
3.完成【实验任务3】,填空并上机调试程序记录运行结果。
表5-3实验任务3结果记录表
人工分析结果
实验运行结果
****
****
****
****
****
****
4.完成【实验任务4】,修改程序中的错误并记录程序运行结果。
表5-4实验任务4结果记录表
错误位置
正确语句形式
实验运行结果
(1)
for(n=1;n<=10;n++)
s=2.
(2)
s=s+1.0/float(n)
5.完成【实验任务5】的程序并分析程序功能,运行并记录实验结果。
(1)该程序的功能是:
1/2+3/4+5/6+7/8+…+(2*n-1)/2*n。
(2)运行程序,输入数据10,程序运行结果为:
s=3.85333。
(3)将非结构化程序设计方式改写的结构化程序。
代码如下:
#include
main()
{floats=0;intn,i=1;
printf("Pleaseinputthenumber:
");
scanf("%d",&n);
for(;i<=n;i=i+2)
s=s+(float)(i)/(i+1);
printf("s=%f\n",s);}
6.完成【实验任务6】,分析并记录实验结果。
表5-5实验任务6结果记录表
人工分析结果
实验运行结果
91
91
将“break”改为“continue”后的结果是:
-1。
7.完成【实验任务7】,编写程序代码。
#inlcude
#include
voidmain()
{inti,j;
for(i=1;i<=5;i++)
{for(j=1;j<=fabs(i-3);j++)printf(““);
for(j=1;j<=5-2*fabs(i-3);j++)printf(“*”);
printf(“\n”);
}
}
实验6函数与编译预处理
院(系):
信息科学与技术学院课程名称:
高级语言程序设计日期:
班级
学号
实验室
专业
姓名
计算机号
实验名称
所用软件
教师签名
实验操作
实验分析
实验成绩
6.1实验目的
1.熟悉函数的一般形式以及函数的定义与调用。
2.掌握函数实参与形参的对应关系以及“值传递”的方法。
3.掌握自定义函数的编写。
4.掌握函数的嵌套调用和递归调用方法。
5.掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法。
6.2实验预习
1.函数的概念、定义格式、声明格式、调用规则及调用过程中数据传递方法过程,寒暑的嵌套调用和递归调用。
2.宏定义和文件包含等编译预处理指令。
6.3实验任务
1.实验指导书P37【上机题1】。
2.程序填空。
阅读程序,将程序改写成函数调用形式,在相应位置填写合适的语句完成程序设计。
(提示:
定义函数intf(intx),判断x是否为奇数,若是则函数返回1,否则返回0。
)
#include"stdio.h"
voidmain()
{
intdata;
scanf("%d",&dat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 九江学院 C语言实验报告及答案 九江 学院 语言 实验 报告 答案