C语言程序设计上机指导书.docx
- 文档编号:25282673
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:41
- 大小:295.82KB
C语言程序设计上机指导书.docx
《C语言程序设计上机指导书.docx》由会员分享,可在线阅读,更多相关《C语言程序设计上机指导书.docx(41页珍藏版)》请在冰豆网上搜索。
C语言程序设计上机指导书
姓名:
_________________
学号:
_________________
专业:
_________________
日期:
_________________
指导原则:
促进学生针对实际问题,用所学C语言知识编写符合规范的源程序代码,在某一集成开发环境下尽一切调试技能调试程序,并对运行结果进行分析处理,得出正确结论,解决好实际问题。
更快更好地掌握所学知识,技能和软件的一向开发方法
目的:
1,通过上机实验,加深对教材内容的理解,特别是一些语法规定,熟练掌握各种语法规则。
2,通过上机实验,熟悉某个C语言集成开发环境。
掌握集成开发环境下程序的编辑、编译与连接、运行的完整过程
3,通过上机实验,要学会调试程序。
能根据系统给出的“出错信息”,判断错误所在,并修改错误,使程序正确运行。
要求:
1,复习与本次实验相关的教学内容
2,了解集成开发环境的操作步骤
3,准备好实验内容。
对于编程题,一定要自己动手,书写工整,并人工检查无误后才能上机实验,以提高上机效率。
4,要准备好调试和运行程序时所需的数据。
5,对运行中可能出现的问题事先作出估计,并对程序中有疑问的地方作上标记,以便在运行时给予注意。
并在程序调试时,把系统给出的出错原因,解决方法等记载在源程序之后;程序运行结束后,把运行结果也记录下来。
6,每个实验应独立完成,对实际问题所编写的源程序需写出完整实验的报告。
第一次上机作业熟悉C语言集成开发环境
实验目的:
1,熟悉C语言集成开发环境
2,掌握集成开发环境下文件的编写与调用,源程序的编译与调试,程序运行结果的观察与分析。
3,掌握C语言程序的基本结构
实验要求:
1,程序编写完后,要对输入的每一个符号和词进行检查核对,不能有错。
2,编写源程序时,不要在中文输入法下进行,也不要有首字符大写,否则调试时,会有错误。
实验内容:
1,在D盘新建文件夹:
D:
\C语言程序\×××(所在班级如0709401)\×××(自己学号或姓名如01),作为以后所做程序的存放位置。
注:
每次换机器须重复此操作。
2,编辑,编译,运行下面程序并存盘,文件名为ex1_1.c
/*输出信息的C源程序,文件名为ex1_1.c*/
#include”stdio.h”
voidmain()
{printf(“Hello,Everyone\nStudyhard!
\n”);}
输出结果为____________________
3,调入文件ex1_1.c,把程序修改成下面形式,运行,存盘,文件名为ex1_2.c
/*输出信息的C源程序,文件名为ex1_2.c*/
#include”stdio.h”
voidmain()
{printf(“Hello,Everyone\n”);
printf(“Studyhard!
\n”);
}
输出结果为____________________,”\n”的作用是_____________
4,编辑,编译,运行下面程序并存盘,文件名为ex1_3.c
/*计算圆面积的程序,文件名为ex1_3.c*/
#include”stdio.h”
voidmain()
{floatr,area;
printf(“r=?
”);
scanf(“%f”,&r);
area=3.1415926*r*r;
printf(“arear=%f\n”,area);
}
第一次运行时输入1,运行结果为__________
再次运行时输入10,运行结果为_____________
把语句printf(“arear=%f\n”,area);修改为:
printf(“arear(%0.1f)=%f\n”,r,area);后,运行时输入10,这时程序的运行结果为______________
操作步骤:
一,TurboC2.0集成开发环境
(1)熟悉C语言集成开发环境
进入集成开发环境(菜单模式):
执行文件TC.EXE
文件菜单(file):
FILE中有:
NEW(新建文件),LOAD(或OPEN打开或调入文件),SAVE(保存文件),SAVE AS,QUIT(退出C语言集成开发环境)
编译菜单(compile):
COMPILETOOBJ + (路径名 文件名)
运行菜单(run):
RUN,USERSCREEN
选项(option):
DIRECTORY(注明TC。
EXE的当前目录路径,路径不符合,编译程序找不到库函数所在头文件,编译会出错)
从菜单进入编辑区的按键:
Enter
从编辑区进入菜单的按键:
F10
注:
运行出错时,按F10也可回到菜单区,按 EDIT 进入编辑区
(2)掌握C语言源程序的编写(new (FILE)),编译(compiletoobj (COMPILE)),运行(run (RUN)),观察结果(userscreen (RUN)四个步骤。
编译出错时,按ENTER键,然后在光标所在行或上一行查找出错位置。
同时在顶行红字部分(英文提示)找出错原因。
(3)掌握一定的调试方法。
方法:
在已编译好的程序中人为制造错误(如删除标点符号,改错保留字(int,printf,scanf),确定出错位置(光标所在行),猜测出错原因(根据顶行英文提示)。
二,VisualC++6.0集成开发环境
1,启动VisualC++6.0环境
方法:
单击“开始”-“程序”-“MicrosoftVisualstudio6.0”-“MicrosoftVisualC++6.0”命令,启动VisualC++,VC6主窗口如下:
2.编辑源程序文件
(1)建立新工程项目
①单击“文件”-“新建”,弹出“新建”对话框。
②单击“工程”选项卡;单击“Win32ConsoleApplication”选项;“工程文件”框中输入项目名(如gc1);“位置”框输入文件保存文件夹或单击“…”打开文件夹浏览窗口,选择新项目文件所需保存的位置,单击“确定”按钮。
③弹出“Win32ConsoleApplicationStep1of1”对话框,在对话框中单击“Anemptproject”按钮和“完成”按钮。
系统显示“新建工程信息”对话框。
单击“确定”按钮。
(2)建立新项目中的文件
①单击“文件”-“新建”,弹出“新建”对话框。
②选择“文件”选项卡。
单击“C++SourceFile”选项,在“文件”文件框中输入文件名,
单击“确定”按钮。
系统自动返回VC6主窗口。
③显示文件编辑区窗口,在文件编辑区窗口输入源程序文件。
3,编译和连接
方法一:
选择主窗口菜单栏中“编译”菜单项;系统弹出下拉菜单,选择“构件”菜单命令。
方法二:
单击主窗口编译工具栏上的“Build”按钮进行编译和连接。
注:
(1)系统对程序文件进行编译和连接,生成以项目名称命名的可执行目标代码文件.exe。
(2)编译连接过程中,系统如发现程序有语法错误,则在输出区窗口中显示错误信息,给出错误的性质、出现位置和错误的原因等。
如果双击某条错误,编辑区窗口右侧出现一个箭头,指示再现错误的程序行。
用户据此对源程序进行相应的修改,并重新编译和连接,直到通过为止。
4.执行
方法一:
单击“编译”菜单中“执行”命令。
方法二:
单击主窗口编译工具栏上的“BuildExecute”按钮来执行编译连接后的程序
运行成功,屏幕上输出执行结果,并提示信息:
“Pressanykeytocontinue”。
此时按任意键系统都将返回VC6主窗口。
注:
在执行程序过程中出现运行错误。
用户要修改源程序文件并且重新编译、连接和执行。
第二次上机作业掌握基本数据类型在程序中的正确应用
实验目的:
1熟悉C语言集成开发环境及程序编写、编译、运行,观察运行结果
2掌握基本的调试技巧(缺少标点符号,函数名错误或不一致)
3熟悉C语言基本数据类型(int,long,unsignedint,float,double,char)的输入,输出格式(%d,%ld,%f,%lf,%c,%o,%x,%u)
实验内容:
1,输入半径,求圆的面积(要求圆周率用符号常量表示)(查错改错1:
圆周率的定义名与使用名不一致;查错改错2:
面积的输出格式用%d)。
作业1程序如下,调试改正两处错误,正确运行后将文件保存为ex2_1.c
#definepi3.1415927
#include"stdio.h"
main()
{floatarea,banjing;
printf("pleaseenteradata\n");
scanf("%f",&banjing);
area=2*p*banjing*banjing;/*圆周率的定义名pi与使用名p不一致*/
printf("\ntheareaofyuanis%d\n",area);/*面积的输出格式%d改为%f*/
}
A)调试,语法错误如下:
出错信息为:
D:
\vcfile\ex1\ex.cpp(7):
errorC2065:
'p':
undeclaredidentifier
中文意思为:
符号‘p’没有定义。
错误原因及更正:
圆周率的定义名pi与使用名p不一致,’p’改为’pi’运行
B)观察及分析运行结果,逻辑错误
分析:
半径为3时,圆的面积应为:
pi×3×3=28.2743343,不能为负数。
查错:
先查面积变量area的输出格式,再往上逆推查其运算方法,最后查其定义
错误原因及更正:
面积的输出格式%d(整数)改为%f(实数或单精度浮点数)
2,调入ex2_1.c另存为ex2_2.c,并做如下修改后,保存调试运行程序,观察系统出出错信息(英文),并翻译成中文。
注:
每改一次,就调试一次。
1)将语句:
floatarea,banjing;改为:
floatarea,banjing;
则出错信息为:
_________________________________________
中文意思为:
_________________________________________
错误原因及更正:
_________________________________________
2)将语句:
printf(”pleaseenteradata\n”);改为:
printf(”pleaseenteradata\n”)
则出错信息为:
_________________________________________
中文意思为:
_________________________________________
错误原因及更正:
_________________________________________
3)将语句:
scanf(“%f”,&banjing);改为:
scan(“%f”,&banjing);
则出错信息为:
_________________________________________
中文意思为:
_________________________________________
错误原因及更正:
_________________________________________
4)将语句:
floatarea,banjing;中英文标点符号“;”或“,”,改为中文输入法后,再输入同样标点
则出错信息为:
_________________________________________
中文意思为:
_________________________________________
错误原因及更正:
_________________________________________
第三次上机作业运算符与表达式的使用
实验目的:
1,熟悉C语言集成开发环境和熟悉C语言程序结构
2,掌握一定的调试技巧。
3,熟悉运算符与表达式的正确使用。
作业内容要求:
1,程序填空,以下程序输入3个整数值给a,b,c,程序把b中的值给a,把c中的值给b,把a中的值给c,交换后输出a,b,c的值,例如输入123,输出a=2,b=3,c=1
#include"stdio.h"
voidmain()
{inta,b,c,____;
printf("entera,b,c:
");
scanf("%d%d%d",__________);
____________;a=b;b=c;
printf("a=%db=%dc=%d\n",a,b,c);
}
1,填空后,运行程序,结果如下:
_____________________
2,在程序输出语句前插入语句:
clrscr();根据运行结果,说明其作用________________
在程序输出语句后插入语句:
getchar();根据运行结果,说明其作用_______________
2,调试以下程序(有两处语法错误:
类型说明错与缺少符号’;’),写出运行结果并简要回答为什么(即了解程序的运行过程)
#include”stdio.h”
main()
{
intx,y,z;
x=6;
y=100;
z=(++x)/(y--);
printf(“x=%d,y=%d,z=%d\n”,x,y,z);运行结果:
_________________
z=(x+y--)*(x++)
printf(“x=%d,y=%d,z=%d\n”,x,y,z);运行结果:
_________________
}
第四次上机作业掌握顺序结构程序设计
实验目的:
4,熟悉C语言集成开发环境和熟悉C语言程序结构
5,掌握一定的调试技巧。
6,熟悉运算符与表达式的正确使用。
7,掌握语句的正确书写,学会编写顺序结构的程序。
作业内容要求:
1,编写程序求解:
已知半径r=3厘米(cm).求球的体积v;
源程序代码——————>上机调试后,源程序中需修改的对应部分
程序运行结果:
2,以下叁个程序,选一个做。
1)输入两个整数,求其和,差,积,商和余数
2)输入一个三位数,依次输出其个位数字,十位数字,百位数字。
3)用公式
求三角形的面积(其中
a,b,c为三角形的三边长)
要求:
1,确定所需的输入变量,输出变量,中间变量的个数及命名,并为其选取正确的数据类型。
2,根据正确的逻辑顺序书写程序。
(变量先说明再赋值后使用;先输入再处理后输出;
3,每次输出必须有提示信息。
如:
printf(“\nx+y=%f”,x+y); 其中:
x+y= 是提示信息。
题号:
源程序代码:
输入数据与运行结果:
第五次上机作业掌握顺序结构与输入输出函数
实验目的:
1,掌握顺序程序设计的一般方法:
2,根据算法(有的是计算公式)确定所需的输入变量,输出变量,中间变量的个数及命名,并为其选取正确的数据类型(有计算公式的由计算公式右边表达式值的类型确定)。
3,根据正确的逻辑顺序书写(审查)程序。
(变量先说明再赋值后使用;函数先定义,后说明,再使用)
4,每次输入、输出应有提示信息。
如:
printf(“\nx+y=%f”,x+y); 其中:
x+y= 是提示信息。
5,注意表达式的正确书写格式。
6,掌握程序的一般调试方法:
上机内容:
1,在调试的过程中改正如下程序的错误
(注意:
每编译一次只改正一个错误;
同时思考错误提示信息中单引号中的内容与错误的关系)
程序:
用公式求三角形面积:
s=
程序代码——————>源程序中需修改的对应部分
main()
{inta,b,c;
floats;
a=3,b=4,c=5;
printf(“enterthreedatas”\n”);
scanf(“%d%d%d”,a,b,c);
area=sqrt(s-a)*(s-b)*(s-c)*s;
s=1/2*(a+b+c);
printf(“a=%d,b=%d,c=%d\narea=%d”,a,b,c,area);
}
2,编程求三角形面积:
,(C的单位为度数,库函数中自变量单位为弧度数) (已知:
a=5,b=3,C=30o)注意:
1,表达式的正确书写格式,2,程序的设计方法,3,检查、核实程序的顺序的正确性
代码:
运行结果:
第六次上机作业分支结构程序
实验目的:
1,熟悉输入输出格式的使用
2,掌握逻辑运算符的特殊运算规则
3,了解简单的分支结构程序设计
4,学会阅读程序的基本技巧(参考第七讲:
分析程序运行过程)
上机内容:
1,阅读下面程序,计算运行结果,然后上机验证。
Main()
{intc,d,e;
floata,b,t;
a=3.6,b=-3.2;
if(a>b)
{
t=a;a=b;b=t; /*思考该复合语句{ }的功能*/
}
printf(“\n%5.2f,%5.2f”,a,b)
c=1,d=1;
e=--c&&d--; /*注意运算符的优先级和运算规则*/
printf(“\nc=%d,d=%d,e=%d”,c,d,e);
e=++d||c++;
pirntf(“\nc=%d,d=%d,e\%d”,c,d,e);
}
2,程序填空,输入x值,计算下面的函数值,并输出结果
程序如下:
#include"stdio.h"
voidmain()
{doublex;
inty;
scanf(________,&x);
if(x<1)y=x;
elseif(_________)y=2*x-1;
elsey=3*x-11;
printf("y=______\n",y);
}
3,编程求|x|
程序代码:
运行结果:
第七次上机作业分支结构程序填空
实验目的:
1,能灵活处理分支结构的条件,选择相应的分支语句作程序设计
2,熟练掌握分支结构的程序设计
3,能阅读程序,能根据问题说明,补充源程序中的相关内容。
4,掌握动态测试技巧。
上机内容:
1,程序填空
问题说明:
输入三个正数,若能构成三角形的三边的边长,则求其面积,否则,输出出错信息。
程序:
#include”math.h”
main()
{ inta,b,c;
floats,area;
pirntf(“enterthreepositivenumbersabc(a>0,b>0,c>0):
\n”);
scanf(“%d%d%d”,&a,&b,&c);
if((_________)&&(________)&&(_______))
{s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*s-c));
________________;
}
else
printf(“\nthreedataa,b,ccan’tformatriangle\n”);
}
2,编程求一元二次方程
的根
根据不同的系数a,b,c有以下的几种情况:
1,
时,方程有两不等实根x1,x2
2,
时,方程有两相等实根x1=x2
3,
时,方程有两共轭虚根x1,x2
4,
时,方程为bx+c=0,根为x=-c/b;
5,
时,方程无解
6,
时,方程有无穷解(x可为任意值)
源程序代码:
动态测试:
数据准备,根据前面分析,应准备6组数据
第一组数据:
第二组数据:
运行结果:
运行结果:
第三组数据:
第四组数据:
运行结果:
运行结果:
第五组数据:
第六组数据:
运行结果:
运行结果:
第八次上机作业循环结构程序设计
(一)
实验目的:
1,掌握程序的基本设计方法(能分析具体问题的算法,输入输出,流程)
2,掌握while循环的语义、语法和它的使用。
(能根据流程写程序,根据程序写流程)
3,能正确阅读程序,根据问题说明把程序补充完整
上机内容:
1,填空,使程序完整
问题说明:
输出所有水仙花数。
(水仙花数是三位自然数,其各位数字的立方和等于该数,例:
153=
)
程序:
main()
{______________;
I=100;
While(________)
{x=I/100;
y=___________;
z=I%10;
if(_____________)
printf(“%d\n”,I);
I++;
}
}
运行结果:
___________________
2,编程求解
问题:
一个皮球从50米高处落下,每次反弹的高度为原高度的
,求至少经过多少次反弹后,反弹的高度才小于1米?
提示:
先弄清皮球的运动路线。
可设变量,下落高度h1,反弹高度h2,反弹次数n。
每次的反弹高度等于下次的下落高度。
源程序代码:
上机结果______________________
反弹高度为原来的1/4时,运行结果___________________-
第九次上机作业循环结构程序设计
(二)
实验目的:
1,掌握程序的基本设计方法(能分析具体问题的算法,输入输出,流程)
2,掌握for循环的语义、语法和它的使用。
(能根据流程写程序,根据程序写流程)
3,能正确阅读程序,了解程序的运行过程。
根据问题说明把程序补充完整,
上机内容:
1) 已知以下程序是求某一分数序列的前20项的和:
1,填空使程序完整
2,写出该分数序列的前6项。
(6个分数)
程序:
main()
{inta,b,c,I;
_____sum,s;
a=3,b=2,s=(float)a/b;
sum=2/1;
for(I=2;______;I++)
{sum+=s;
c=a+b;
b=a;
a=c;
s=(float)a/b;
}
printf(“sum=%f”,sum);
}
2)编程
求:
+8!
要求:
用for循环
源程序代码:
上机结果______________________
第十次上机作业嵌套循环
实验目的:
1,掌握嵌套循环程序的基本设计方法(难度分解,化为单层循环)
2,掌握for循环,while循环的语义、语法和它的使用。
(能根据流程写程序,根据程序写流程)
3,能正确阅读程序,了解程序的运行过程。
根据问题说明把程序补充完整,
上机内容:
1,程序填空,
问题说明:
求100到1000之间的所有素数和
程序:
main()
{intI,j,sum=0;
for(I=101;I<=1000;______)
{j=2;
while(__________)
{i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 上机 指导书