C语言程序设计上机指导书.doc

上传人:飞****2 文档编号:52196411 上传时间:2022-10-21 格式:DOC 页数:28 大小:424KB
返回 下载 相关 举报
C语言程序设计上机指导书.doc_第1页
第1页 / 共28页
C语言程序设计上机指导书.doc_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《C语言程序设计上机指导书.doc》由会员分享,可在线阅读,更多相关《C语言程序设计上机指导书.doc(28页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、姓 名:_学 号:_专 业:_ 日 期:_指导原则: 促进学生针对实际问题,用所学C语言知识编写符合规范的源程序代码,在某一集成开发环境下尽一切调试技能调试程序,并对运行结果进行分析处理,得出正确结论,解决好实际问题。更快更好地掌握所学知识,技能和软件的一向开发方法目的:1, 通过上机实验,加深对教材内容的理解,特别是一些语法规定,熟练掌握各种语法规则。2, 通过上机实验,熟悉某个C语言集成开发环境。掌握集成开发环境下程序的编辑、编译与连接、运行的完整过程3, 通过上机实验,要学会调试程序。能根据系统给出的“出错信息”,判断错误所在,并修改错误,使程序正确运行。要求:1, 复习与本次实验相关的

2、教学内容2, 了解集成开发环境的操作步骤3, 准备好实验内容。对于编程题,一定要自己动手,书写工整,并人工检查无误后才能上机实验,以提高上机效率。4, 要准备好调试和运行程序时所需的数据。5, 对运行中可能出现的问题事先作出估计,并对程序中有疑问的地方作上标记,以便在运行时给予注意。并在程序调试时,把系统给出的出错原因,解决方法等记载在源程序之后;程序运行结束后,把运行结果也记录下来。6,每个实验应独立完成,对实际问题所编写的源程序需写出完整实验的报告。 第一次上机作业 熟悉C语言集成开发环境实验目的:1, 熟悉C语言集成开发环境2, 掌握集成开发环境下文件的编写与调用,源程序的编译与调试,程

3、序运行结果的观察与分析。3, 掌握C语言程序的基本结构实验要求: 1, 程序编写完后,要对输入的每一个符号和词进行检查核对,不能有错。 2,编写源程序时,不要在中文输入法下进行,也不要有首字符大写,否则调试时,会有错误。实验内容: 1, 在D盘新建文件夹:D:C语言程序(所在班级如)(自己学号或姓名如01),作为以后所做程序的存放位置。注:每次换机器须重复此操作。2, 编辑,编译,运行下面程序并存盘,文件名为ex1_1.c/* 输出信息的C源程序,文件名为ex1_1.c */#include”stdio.h”void main() printf(“Hello, Everyone n Study

4、 hard!n”); 输出结果为_3, 调入文件ex1_1.c,把程序修改成下面形式,运行,存盘,文件名为ex1_2.c/* 输出信息的C源程序,文件名为ex1_2.c */#include”stdio.h”void main() printf(“Hello, Everyone n ”); printf(“ Study hard!n”);输出结果为_, ”n”的作用是_4, 编辑,编译,运行下面程序并存盘,文件名为ex1_3.c/* 计算圆面积的程序,文件名为ex1_3.c */#include”stdio.h”void main() float r,area; printf(“r=?”);

5、scanf(“%f”,&r); area=3.*r*r; printf(“arear=%fn”,area);第一次运行时输入1,运行结果为_再次运行时输入10,运行结果为_把语句printf(“arear=%fn”,area);修改为:printf(“arear(0.1f)=%fn”,r,area);后,运行时输入10,这时程序的运行结果为_操作步骤: 一, TurboC 2.0集成开发环境(1) 熟悉C语言集成开发环境进入集成开发环境(菜单模式):执行文件TC.EXE文件菜单(file):FILE中有:NEW(新建文件),LOAD(或OPEN打开或调入文件),SAVE(保存文件),SAVEA

6、S,QUIT(退出C语言集成开发环境)编译菜单(compile): COMPILE TO OBJ (路径名文件名)运行菜单(run): RUN , USER SCREEN选项(option):DIRECTORY(注明TC。EXE的当前目录路径,路径不符合,编译程序找不到库函数所在头文件,编译会出错)从菜单进入编辑区的按键:Enter从编辑区进入菜单的按键:F10注:运行出错时,按F10也可回到菜单区,按EDIT进入编辑区(2) 掌握C语言源程序的编写(new(FILE)),编译(compile to obj(COMPILE),运行(run(RUN),观察结果(user screen(RUN)四

7、个步骤。编译出错时,按ENTER键,然后在光标所在行或上一行查找出错位置。同时在顶行红字部分(英文提示)找出错原因。(3) 掌握一定的调试方法。方法:在已编译好的程序中人为制造错误(如删除标点符号,改错保留字(int, printf, scanf),确定出错位置(光标所在行),猜测出错原因(根据顶行英文提示)。 二,Visual C+6.0集成开发环境1,启动Visual C+ 6.0环境方法:单击 “开始”-“程序”-“Microsoft Visual studio 6.0”-“Microsoft Visual C+ 6.0”命令,启动Visual C+,VC6主窗口如下:菜单栏项目工作区标

8、题栏输出区工具栏状态栏文件编辑区2. 编辑源程序文件(1)建立新工程项目单击“文件”“新建”,弹出“新建”对话框。单击“工程”选项卡;单击“Win32 Console Application”选项;“工程文件”框中输入项目名(如gc1);“位置”框输入文件保存文件夹或单击“”打开文件夹浏览窗口,选择新项目文件所需保存的位置,单击“确定”按钮。 弹出“Win32 Console Application Step 1of 1”对话框,在对话框中单击“An empt project”按钮和“完成”按钮。系统显示“新建工程信息”对话框。单击“确定”按钮。 (2) 建立新项目中的文件单击“文件”-“新建

9、”,弹出“新建”对话框。 选择“文件”选项卡。单击“C+ Source File”选项,在“文件”文件框中输入文件名,单击“确定”按钮。系统自动返回VC6主窗口。显示文件编辑区窗口,在文件编辑区窗口输入源程序文件。 3, 编译和连接方法一:选择主窗口菜单栏中“编译”菜单项;系统弹出下拉菜单,选择“构件”菜单命令。方法二:单击主窗口编译工具栏上的 “Build”按钮进行编译和连接。注:(1)系统对程序文件进行编译和连接,生成以项目名称命名的可执行目标代码文件.exe。(2)编译连接过程中,系统如发现程序有语法错误,则在输出区窗口中显示错误信息,给出错误的性质、出现位置和错误的原因等。如果双击某条

10、错误,编辑区窗口右侧出现一个箭头,指示再现错误的程序行。用户据此对源程序进行相应的修改,并重新编译和连接,直到通过为止。 4. 执行方法一:单击“编译”菜单中“执行”命令。方法二:单击主窗口编译工具栏上的 “Build Execute”按钮来执行编译连接后的程序运行成功,屏幕上输出执行结果,并提示信息:“Press any key to continue”。此时按任意键系统都将返回VC6主窗口。注:在执行程序过程中出现运行错误。用户要修改源程序文件并且重新编译、连接和执行。第二次上机作业 掌握基本数据类型在程序中的正确应用实验目的:1 熟悉C语言集成开发环境及程序编写、编译、运行,观察运行结果

11、2 掌握基本的调试技巧(缺少标点符号,函数名错误或不一致)3 熟悉C语言基本数据类型(int,long,unsigned int,float,double,char)的输入,输出格式(%d,%ld,%f,%lf,%c,%o,%x,%u)实验内容:1, 输入半径,求圆的面积(要求圆周率用符号常量表示)(查错改错1: 圆周率的定义名与使用名不一致; 查错改错2: 面积的输出格式用%d)。作业1程序如下,调试改正两处错误 ,正确运行后将文件保存为ex2_1.c#define pi 3.#includestdio.hmain() float area,banjing; printf(please en

12、ter a datan); scanf(%f,&banjing); area=2*p*banjing*banjing; /* 圆周率的定义名pi与使用名p不一致*/ printf(n the area of yuan is %dn,area); /* 面积的输出格式%d改为%f */ A)调试,语法错误如下: 出错信息为: D:vcfileex1ex.cpp(7) : error C2065: p : undeclared identifier 中文意思为:符号p没有定义。 错误原因及更正:圆周率的定义名pi与使用名p不一致,p改为pi运行 B)观察及分析运行结果,逻辑错误 分析:半径为3时,

13、圆的面积应为:pi3328.,不能为负数。 查错:先查面积变量area的输出格式,再往上逆推查其运算方法,最后查其定义 错误原因及更正:面积的输出格式%d(整数)改为%f (实数或单精度浮点数) 2,调入ex2_1.c 另存为ex2_2.c,并做如下修改后,保存调试运行程序,观察系统出出错信息(英文),并翻译成中文。注:每改一次,就调试一次。 1)将语句:float area,banjing;改为:floatarea,banjing;则出错信息为:_中文意思为:_错误原因及更正:_ 2) 将语句:printf(”please enter a datan”); 改为:printf(”please

14、 enter a datan”)则出错信息为:_中文意思为:_错误原因及更正:_ 3) 将语句:scanf(“%f”,&banjing); 改为:scan(“%f”,&banjing);则出错信息为:_中文意思为:_错误原因及更正:_ 4) 将语句: float area,banjing;中英文标点符号“;”或“,”,改为中文输入法后,再输入同样标点 则出错信息为:_中文意思为:_错误原因及更正:_ 第三次上机作业 运算符与表达式的使用实验目的:1, 熟悉C语言集成开发环境和熟悉C语言程序结构2, 掌握一定的调试技巧。3, 熟悉运算符与表达式的正确使用。作业内容要求:1, 程序填空,以下程序输

15、入3个整数值 给a,b,c,程序把b中的值给a,把c中的值给b,把a中的值给c,交换后输出a,b,c的值,例如输入123,输出a=2,b=3,c=1 #includestdio.hvoid main() int a,b,c, _; printf(enter a,b,c:); scanf(%d%d%d,_); _; a=b;b=c; printf(a=%d b=%d c=%dn,a,b,c); 1,填空后,运行程序,结果如下:_ 2,在程序输出语句前插入语句:clrscr(); 根据运行结果,说明其作用_ 在程序输出语句后插入语句:getchar();根据运行结果,说明其作用_ 2, 调试以下程

16、序(有两处语法错误:类型说明错与缺少符号;),写出运行结果并简要回答为什么(即了解程序的运行过程)#include”stdio.h”main() intx,y,z;x=6;y=100;z=(+x)/(y-);printf(“x=%d,y=%d,z=%dn”,x,y,z); 运行结果:_z=(x+y-)*(x+)printf(“x=%d,y=%d,z=%dn”,x,y,z); 运行结果:_ 第四次上机作业 掌握顺序结构程序设计实验目的:4, 熟悉C语言集成开发环境和熟悉C语言程序结构5, 掌握一定的调试技巧。6, 熟悉运算符与表达式的正确使用。7, 掌握语句的正确书写,学会编写顺序结构的程序。作

17、业内容要求:1, 编写程序求解:已知半径r=3厘米(cm).求球的体积v;源程序代码 上机调试后,源程序中需修改的对应部分 程序运行结果:2, 以下叁个程序,选一个做。1) 输入两个整数,求其和,差,积,商和余数2) 输入一个三位数,依次输出其个位数字,十位数字,百位数字。3) 用公式求三角形的面积(其中,a,b,c为三角形的三边长)要求:1, 确定所需的输入变量,输出变量,中间变量的个数及命名,并为其选取正确的数据类型。2, 根据正确的逻辑顺序书写程序。(变量先说明再赋值后使用;先输入再处理后输出;3, 每次输出必须有提示信息。如:printf(“n x+y=%f”,x+y);其中:x+y=

18、 是提示信息。 题号: 源程序代码: 输入数据与运行结果:第五次上机作业 掌握顺序结构与输入输出函数实验目的:1,掌握顺序程序设计的一般方法:2,根据算法(有的是计算公式)确定所需的输入变量,输出变量,中间变量的个数及命名,并为其选取正确的数据类型(有计算公式的由计算公式右边表达式值的类型确定)。3,根据正确的逻辑顺序书写(审查)程序。(变量先说明再赋值后使用;函数先定义,后说明,再使用)4, 每次输入、输出应有提示信息。如:printf(“n x+y=%f”,x+y);其中:x+y= 是提示信息。5, 注意表达式的正确书写格式。 6, 掌握程序的一般调试方法:上机内容:1, 在调试的过程中改

19、正如下程序的错误(注意:每编译一次只改正一个错误;同时思考错误提示信息中单引号中的内容与错误的关系)程序:用公式求三角形面积:,s= 程序代码 源程序中需修改的对应部分main() int a,b,c;float s;a=3,b=4,c=5;printf(“enter three datas”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=%dnarea=%d”,a,b,c,area);2, 编程求三角形面积:,(C的单位为度数,库函数中自变量单位为弧度数)(已知:

20、a=5, b=3, C=30o)注意:1,表达式的正确书写格式,2,程序的设计方法,3,检查、核实程序的顺序的正确性 代码:运行结果:第六次上机作业 分支结构程序实验目的:1, 熟悉输入输出格式的使用2, 掌握逻辑运算符的特殊运算规则3, 了解简单的分支结构程序设计4, 学会阅读程序的基本技巧(参考第七讲:分析程序运行过程)上机内容:1, 阅读下面程序,计算运行结果,然后上机验证。Main() int c,d,e; float a,b,t; a=3.6,b=-3.2; if(ab) t=a; a=b;b=t; /* 思考该复合语句的功能 */ printf(“n%5.2f,%5.2f”,a,b

21、) 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值,计算下面的函数值 ,并输出结果 程序如下: #includestdio.hvoid main() double x; int y; scanf(_,&x); if(x0,b0,c0):n”);scanf(“%d%d%d”,&a,&b,&c);if( _ )&( _ )&( _ ) s=1.0/2*(a+b+c); area=sqrt(s*(s-a

22、)*(s-b)*s-c); _;else printf(“nthree data a,b,c cant form a trianglen”); 2, 编程求一元二次方程的根 根据不同的系数a,b,c有以下的几种情况:1, 时,方程有两不等实根x1,x22, 时,方程有两相等实根x1x23, 时,方程有两共轭虚根x1,x2 4,时,方程为bxc=0, 根为x=-c/b; 5, 时,方程无解 6,时,方程有无穷解(x可为任意值) 源程序代码: 动态测试:数据准备,根据前面分析,应准备6组数据第一组数据: 第二组数据:运行结果: 运行结果: 第三组数据: 第四组数据:运行结果: 运行结果: 第五组数

23、据: 第六组数据:运行结果: 运行结果: 第八次上机作业 循环结构程序设计(一)实验目的:1,掌握程序的基本设计方法(能分析具体问题的算法,输入输出,流程)2,掌握while循环的语义、语法和它的使用。(能根据流程写程序,根据程序写流程)3,能正确阅读程序,根据问题说明把程序补充完整上机内容:1, 填空,使程序完整问题说明:输出所有水仙花数。(水仙花数是三位自然数,其各位数字的立方和等于该数,例:153)程序:main() _;I=100;While(_) x=I/100; y=_; z=I%10; if(_) printf(“%dn”, I); I+; 运行结果:_2, 编程求解问题:一个皮

24、球从50米高处落下,每次反弹的高度为原高度的,求至少经过多少次反弹后,反弹的高度才小于1米?提示:先弄清皮球的运动路线。可设变量,下落高度h1,反弹高度h2,反弹次数n。每次的反弹高度等于下次的下落高度。源程序代码 :上机结果_反弹高度为原来的1/4时,运行结果_-第九次上机作业 循环结构程序设计(二)实验目的:1,掌握程序的基本设计方法(能分析具体问题的算法,输入输出,流程)2,掌握for循环的语义、语法和它的使用。(能根据流程写程序,根据程序写流程)3,能正确阅读程序,了解程序的运行过程。根据问题说明把程序补充完整,上机内容:1)已知以下程序是求某一分数序列的前20项的和:1, 填空使程序

25、完整2, 写出该分数序列的前6项。(6个分数)程序:main() int a,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,能正确阅读程序,了解程序的

26、运行过程。根据问题说明把程序补充完整,上机内容:1, 程序填空,问题说明:求100到1000之间的所有素数和程序:main() int I,j,sum=0; for(I=101;I=1000;_) j=2; while(_) if(I%j=0)break; j+; if(_)sum+=I; printf(“sum of primes of 100-1000 is %dn”);2,编程求Sn=a+aa+aaa+aaa(该项有n个a)之值,其中a 为一个数字。例如:222222222222222(此时n=5),n由键盘输入。源程序代码 :上机结果_第十一次上机作业 一维数组实验目的:1, 掌握一维

27、数组的定义,赋值,使用。2, 能用一维数组这个新的数据结构简化原有程序。3, 根据问题说明,能正确阅读程序。上机内容:1, 问题说明:求数列的前20项和:2/1, 3/2, 5/3, 8/5, 13/8, 21/13,.程序:main() int N=20; int _; float s; _; _; for(I=1;IN;I+) aI=aI-1+bI-1;_; s=0; for(I=0;IN;I+) s+=aI/bI; printf(“sum=%f”,s); 运行结果:_ N的值改为3时,运行结果:_2, 编程:按下列数据的原来顺序和它的相反顺序输出下列各数:1,2,3,4,5,6,7,8(

28、要求使用数组)注意:数组的定义:数组元素的个数。数组的两种赋值方式。 数据类型的转换。 源程序代码 :上机结果_第十二次上机作业 数组(二)实验目的:1,熟练掌握一维数组,二维数组的正确使用。2,熟悉字符串数组的用法。3,能正确阅读程序,理解程序的含义。4,能根据问题说明,观察其隐含的规律,把程序补充完整。上机内容:1, 问题说明:按下列格式输出6行杨辉三角形11 11 211 3311464115101051要求:先根据已有条件猜测空的内容,再运行程序,再根据运行结果修改空的内容。直至符合要求。程序:include”stdio.h”main() int y77,n,m; for(n=1;n7

29、;n+) ynn=1; _=1; /* 第一列元素为1 */ for(n=3;n7;n+) for(m=2;m=n-1;m+) ynm=_; for(n=1;n7;n+) for(m=1;m=n;m+) printf(“%4d”,ynm); _; 2, 编程,用冒泡法或选择法把一列数据排序后输出:23,145,65,73,12,74,91,5。要求先输出原数据,依次输出每一轮排序后的数据。 源程序代码 :上机结果: _3, 难度题(可选):一个班的学生的学号与成绩如下,请按成绩从高分到低分输出。学生的学号与对应的成绩应同时输出。学号:1,2,3,4,5,6,7,8,9,10,11成绩:40,6

30、3,81,80,98,72,91,65,70,68,79提示:最好用选择法排序;增加一数组放学号,排序交换位置时,同时交换学号数组与成绩数组的对应元素。 注: 在上题的右边作适当修改第十三次上机作业 数组(二)实验目的:1,熟练掌握一维数组,二维数组的正确使用。2,熟悉字符串数组的用法。3,能正确阅读程序,理解程序的含义。4,能根据问题说明,观察其隐含的规律,把程序补充完整。5,能根据多次不同的输入与对应的输出结果,推算程序功能。上机内容:1,下列程序是求给定字符串的字符个数。要求:不修改程序已写部分,在空缺部分把程序补充完整程序一:include”stdio.h”main() char s4

31、0; int m=0; printf(“Enter a string : n”); scanf(“%s”,s); while(sm!=_) _; printf(“The string length : %dn”,m);2, 阅读下列程序要求:能根据多次不同的输入(多次修改字符串S1的初值)与对应的输出结果,以及源程序,推算程序功能。include”stdio.h”char s =”printf”;main() char c=f; printf(“%sn”,s); squeeze(s,c); printf(“%sn”,s);squeeze(s,c)char s ,c; int I,j; for(

32、I=j=0;sI!=0;+I)if(sI!=c) sj+=sI; sj=0;问:1,字符串的初值:printf 改为find a factor 时,程序输出结果_2,函数 squeeze()的主要功能是_。 第十四次上机作业 (函数)实验目的: 1,熟悉自定义函数定义的基本格式,说明格式,调用过程。 2,能把一般的程序或程序的部分功能改写为自定义函数上机内容:1, 用自定义函数形式改写以下源程序。功能是求两个数(num1,num2)的最大公约数(a)注意:该自定义函数应有二个形式参数源程序:#include”stdio.h”main()自定义函数(函数名f):功能是求两个数(num1,num2

33、)的最大公约数(a)int f(_) if(num1num2) temp=num1;num1=num2;num2=temp; a=num1;b=num2; while(b) temp=a%b; a=b; b=temp; _(a); int a,b,num1,num2,temp; printf(“enter two postive numbers”n”); scanf(“%d%d”,&num1,&num2); if(num1num2) temp=num1;num1=num2;num2=temp; a=num1;b=num2; while(b) temp=a%b; a=b; b=temp; pri

34、ntf(“最大公约数 is %d”,a); 2, 程序功能:求三个数的最大值。把下列程序补充完整,不能修改程序的其它部分。#include”stdio.h”Main() int a,b,c; int max(),maxabc; scanf(“%d%d%d”,&a,&b,&c); maxabc=max(a,b,c); printf(“the largest number of %d, %d and %d is %d”,a,b,c,maxabc);int max(int a,int b,int c) 第十五次上机作业 函数(二)实验目的:1,能正确理解和阅读带自定义函数的程序。2,进一步熟练掌握自定义函数的定义、说明和调用。 3,能熟练使用定义函数编程上机内容:1, 程序填空:说明:求一个数组中各元素的最大元并输出。程序:#include”stdio.h”#define N 6main() int aN,I,max; int _; for(I=0;IN;I+) scanf(“%d”,&aI); max=_; printf(“/nmax of the aN is %dn”,max);int maxvalue(a,m);int _; int max,m; max=a0; for(k=1;km;k+) if(_) max=ak;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com