C语言程序设计上机指导书ef35页_第1页
C语言程序设计上机指导书ef35页_第2页
C语言程序设计上机指导书ef35页_第3页
C语言程序设计上机指导书ef35页_第4页
C语言程序设计上机指导书ef35页_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、姓 名:_学 号:_专 业:_ 日 期:_目 录序:指导原则及VS2005环境中编译C程序一、熟悉C语言集成开发环境二、掌握基本数据类型在程序中的正确应用三、运算符与表达式的使用四、掌握顺序结构程序设计五、掌握顺序结构与输入输出函数六、选择结构程序七、选择结构程序填空八、循环结构程序设计(一)九、循环结构程序设计(二)十、嵌套循环十一、一维数组十二、数组(二)十三、数组(二)十四、函数(一)十五、函数(二)十六、函数(三)和预处理十七、指针(一)十八、指针(二)指导原则促进学生针对实际问题,用所学C语言知识编写符合规范的源程序代码,在某一集成开发环境下尽一切调试技能调试程序,并对运行结果进行分

2、析处理,得出正确结论,解决好实际问题。更快更好地掌握所学知识,技能和软件的一向开发方法目的:1, 通过上机实验,加深对教材内容的理解,特别是一些语法规定,熟练掌握各种语法规则。2, 通过上机实验,熟悉某个C语言集成开发环境。掌握集成开发环境下程序的编辑、编译与连接、运行的完整过程3, 通过上机实验,要学会调试程序。能根据系统给出的“出错信息”,判断错误所在,并修改错误,使程序正确运行。要求:1, 复习与本次实验相关的教学内容2, 了解集成开发环境的操作步骤3, 准备好实验内容。对于编程题,一定要自己动手,书写工整,并人工检查无误后才能上机实验,以提高上机效率。4, 要准备好调试和运行程序时所需

3、的数据。5, 对运行中可能出现的问题事先作出估计,并对程序中有疑问的地方作上标记,以便在运行时给予注意。并在程序调试时,把系统给出的出错原因,解决方法等记载在源程序之后;程序运行结束后,把运行结果也记录下来。6,每个实验应独立完成,对实际问题所编写的源程序需写出完整实验的报告。 VS2005编译环境中编写运行C程序Turbo C 2.0发布于1989年,对历史并不太长而发展却神速的IT业来说,确实是古董级的软件了。但它几乎是最后一个专门为C语言设计的开发环境,具备学习C语言的一切条件,没有任何非C语言的东西干扰初学者,所以一直被各大高校的C语言课堂采用。C+的发展使C+的开发环境大行其道。因为

4、C+几乎完全兼容C语言,两者无论编译器还是编辑器、调试器都可以用同一套程序实现,而且C+共享C的库函数,很多软件还是用两者混合编程实现,所以基本所有的C+环境都同时支持C语言。美国微软公司出品的Visual C+(以下简称VC)是Windows平台上最流行的C/C+集成开发环境。从1993年发行1.0版本开始,历经多年锤炼,于2003年推出最新的7.0版本(Visual C+ .NET 2003)。VC系列产品具有稳定而强大的IDE开发环境,以及丰富的调试功能,微软于2005年底发布Visual Studio 2005。下面将介绍在VS2005下如何开发C语言程序。1编辑、编译与运行下面以创建

5、一个判断是否是闰年的程序来演示如何使用VS2005开发C程序。1 启动VS2005,新建一个项目,新建方法有以下几种:A:在VS2005默认的“起始页”有创建项目一项,单击“项目(P)”即可,如图1所示B:文件 新建 项目,或者使用快捷键“CtrlshiftN”2由步骤1可以得到以下窗口,在项目类型中选择Visual C,在右侧模板中单击“Win32控制台应用程序”,然后在“输入名称”提示处写项目名称,如图31 所示:如:LeapYear,名称下方的“位置”可以点击“浏览”按钮来更改。然后点击“确定”或者“回车键”即可。然后出现“欢迎使用Win32应用程序向导”对话框,单击“下一步”。如图32

6、示:单击“下一步”出现以下对话框,选择“空项目”,单击“完成”。如图33所示:3 在窗口的左侧默认出现“解决方案资源管理器,解决方案LeapYear”一栏,下面列出LeapYear,并包括头文件和源文件及资源文件三个文件夹。如图4所示4 新建一个C文件:如图5 所示:在“源文件”上点击右键,在出现的“添加”栏目上单击“新建项”,这里采用“新建项”。4单击“新建项”,出现如下的对话框,在左边“类别”一栏选择“代码”,右侧的“模板”中选择“C文件”,在下边名称一栏输入:“LeapYear.c”,这里要注意:文件的后缀应该是“.C”,不能是默认的cpp文件。点击添加即可。补充一点:如果不小心没有写“

7、.C”后缀,可以这样处理:在建好的cpp文件右键单击,重命名为“.C”文件,也可以选择“从项目中排除(J)”这一项把该文件去掉,然后新建一个。如图7所示。5 在出现的LeapYear.C空白处编写C代码即可。如下图所示:6写好代码后单击“编译”,左边那个是只编译当前文件,右边那个编译全部文件(快捷键F7) 也可以在 菜单栏“生成”“生成解决方案”或者别的可选择项目。7. 在编译完成之后,我们就可以按“运行(ctrl+F5)”或者“调试运行(F5)”来运行我们的程序了。程序会提示:“此项目已过期,要生成它吗?”的对话框,单击“是”。在以后的使用中,我们可以直接按“运行”或“调试运行”而不需要单独

8、进行编译,因为当你按“运行”或“调试运行”的时候它会自动的检测程序是否需要重新编译,如果需要,则会弹出一个对话框询问你是否同意重新编译,你只需在此时点击“Yes”,它就会自动重新编译、连接程序后再运行,非常方便。 另外要注意:信息输出窗:系统用来输出一些信息。比如上面在执行编译时,系统就会输出编译的结果,一般是编译器在程序中发现的错误或者一些警告。如果编译器没有发现错误(error)及警告(warning),那么你会在最后一行看见“0 error(s), 0 warning(s)”的字样。注意:在写程序时应当认真而小心的对待每一个warning,最好把它们都当作error对待。 2调试技术用V

9、S2005进行程序的调试是非常方便的,我们可以在任一行设置一个断点,当程序执行到断点所在的行时就会暂时停住,此时,你可以单步执行程序(即一次只执行一条语句),并查看此时各种变量的值,下面我们就来看看如何使用VS2005的调试功能。 设置断点以刚才程序为例,设置一个断点,如下图所示:方法有下面图示几种,可以参考,建议使用快捷键“F9”启动调试使用“F5”。 调试运行现在我们点击菜单栏上的“调试运行按钮(F5)”,这时程序将自动编译、连接、运行,然后停在我们所设定的断点的行上。设置断点后,我们可以看见当前行的最左端有一个暗红色的大圆点,具体图略,同学们可以单击“菜单栏”调试。一一对照下面的介绍查看

10、,也可以在菜单栏下面的“调试栏”查看。l 继续运行:表示继续执行程序,直到碰见下一个断点时为止l 重新运行:表示重新从头开始运行程序l 停止调试:表示中止现在的调试界面,返回到代码编写界面l 逐语句: 单步执行命令。如果下一条即将执行的语句是一条函数调用语句,那么就进入到函数体内l 逐过程: 单步执行命令。如果下一条即将执行的语句是一条函数调用语句,它不会进入函数体内,而是直接执行整个函数,并停到函数返回后的第一条语句上l 快速监视:它可以允许程序员自定义想要监视的变量,并在“指定变量显示区”显示调试程序后, 程序提示输入值:这里输入2000,回车,现在程序已经在设置的断点处停住了,最左端的黄

11、色箭头指示着即将运行的下一条语句。这个时候可以看见左下方“自动窗口”中有year变量值为“2000”,如下图所示。点击工具栏“逐语句或者F11”,由于这条语句会调用函数IsLeapYear()”,因此它会进行到“IsLeapYear ()”函数体内去执行,黄色光标指示到函数内。可以反复执行“单步执行命令”(即工具栏上的“逐语句(F11)”、“逐过程(F10)”按钮)来观察程序的流程,调试中途发现问题不想再调试,可以“终止调试”,也可以在“断点管理”处“删除断点”,“删除所有断点”,“禁用所有断点”。请同学们实践。快速监视通过“调试”菜单上的“快速查看”我们可以设定我们想要监视的变量,并在“监视

12、显示区”中显示。我们可以在最上面的输入框中输入我们想查看的变量的变量名或者表达式,然后我们可以点击“重新计算”按钮获到这个变量或表达式现在的值,这个值将在下面的显示区中显示,然后我们可以点击“添加监视”按钮把这个变量或表达式加入到“监视显示区”中,如下图所示: 界面风格最后简单说一下VS2005的一些界面风格。a)鼠标单击“解决方案资源管理器”上方边,不松手,便可以随意拖动位置,共有5个提示位置可以停靠,如下图所示。b)如下图所示:建议初学者可以配置的工具栏上可以是:“标准”,“调试”,“文本编辑器”,其中“文本编辑器”可以方便的给多行程序添加注视,缩进,系统提示输入信息等些功能。另外,单击源

13、文件下每个文件或者在图中标记的“单击切换文件”均可以查看不同源文件。当然还有很多细节,希望大家慢慢发现。c)在VS2005中,为便于代码的管理和查看,可以将整个的函数部分折叠起来,即只剩下函数名,如果代码比较多,这样便于隐藏目前不用的代码,不用占用较大的空间。单击函数前面的“”号即可隐藏,再单击“”又可以复原。如下图所示:3小结VS2005是非常强大的集成开发环境,希望同学们以此为良机,在编程的大道上更进一步。第一次上机作业 熟悉C语言集成开发环境实验目的:1, 熟悉C语言集成开发环境2, 掌握集成开发环境下文件的编写与调用,源程序的编译与调试,程序运行结果的观察与分析。3, 掌握C语言程序的

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

15、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=?”); scanf(“%f”,&r); area=3.1

16、415926*r*r; printf(“arear=%fn”,area);第一次运行时输入1,运行结果为_再次运行时输入10,运行结果为_把语句printf(“arear=%fn”,area);修改为:printf(“arear(0.1f)=%fn”,r,area);后,运行时输入10,这时程序的运行结果为_第二次上机作业 掌握基本数据类型在程序中的正确应用实验目的:1 熟悉C语言集成开发环境及程序编写、编译、运行,观察运行结果2 掌握基本的调试技巧(缺少标点符号,函数名错误或不一致)3 熟悉C语言基本数据类型(int,long,unsigned int,float,double,char)的

17、输入,输出格式(%d,%ld,%f,%lf,%c,%o,%x,%u)实验内容:1, 输入半径,求圆的面积(要求圆周率用符号常量表示)(查错改错1: 圆周率的定义名与使用名不一致; 查错改错2: 面积的输出格式用%d)。作业1程序如下,调试改正两处错误 ,正确运行后将文件保存为ex2_1.c#define pi 3.1415927#includestdio.hmain() float area,banjing; printf(please enter a datan); scanf(%f,&banjing); area=2*p*banjing*banjing; /* 圆周率的定义名pi与使用名p

18、不一致*/ 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时,圆的面积应为:pi3328.2743343,不能为负数。 查错:先查面积变量area的输出格式,再往上逆推查其运算方法,最后查其定义 错误原因及更正:面积

19、的输出格式%d(整数)改为%f (实数或单精度浮点数) 2,调入ex2_1.c 另存为ex2_2.c,并做如下修改后,保存调试运行程序,观察系统出出错信息(英文),并翻译成中文。注:每改一次,就调试一次。 1)将语句:float area,banjing;改为:floatarea,banjing;则出错信息为:_中文意思为:_错误原因及更正:_ 2) 将语句:printf(”please enter a datan”); 改为:printf(”please enter a datan”)则出错信息为:_中文意思为:_错误原因及更正:_ 3) 将语句:scanf(“%f”,&banjing);

20、改为:scan(“%f”,&banjing);则出错信息为:_中文意思为:_错误原因及更正:_ 4) 将语句: float area,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

21、,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, 调试以下程序(有两处语法错误:类型说明错与缺少符号;),写出运行结果并简要回答为什么(即了解程序的运行过程)#include”stdio.h”main

22、() 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, 掌握语句的正确书写,学会编写顺序结构的程序。作业内容要求:1, 编写程序求解:已知半径r=3厘米(cm).求球的体积v;源程序代码 上机调试后,源程序中需修改的对应部分 程序运行结果:2

23、, 以下叁个程序,选一个做。1) 输入两个整数,求其和,差,积,商和余数2) 输入一个三位数,依次输出其个位数字,十位数字,百位数字。3) 用公式求三角形的面积(其中,a,b,c为三角形的三边长)要求:1, 确定所需的输入变量,输出变量,中间变量的个数及命名,并为其选取正确的数据类型。2, 根据正确的逻辑顺序书写程序。(变量先说明再赋值后使用;先输入再处理后输出;3, 每次输出必须有提示信息。如:printf(“n x+y=%f”,x+y);其中:x+y= 是提示信息。 题号: 源程序代码: 输入数据与运行结果:第五次上机作业 掌握顺序结构与输入输出函数实验目的:1,掌握顺序程序设计的一般方法

24、:2,根据算法(有的是计算公式)确定所需的输入变量,输出变量,中间变量的个数及命名,并为其选取正确的数据类型(有计算公式的由计算公式右边表达式值的类型确定)。3,根据正确的逻辑顺序书写(审查)程序。(变量先说明再赋值后使用;函数先定义,后说明,再使用)4, 每次输入、输出应有提示信息。如:printf(“n x+y=%f”,x+y);其中:x+y= 是提示信息。5, 注意表达式的正确书写格式。 6, 掌握程序的一般调试方法:上机内容:1, 在调试的过程中改正如下程序的错误(注意:每编译一次只改正一个错误;同时思考错误提示信息中单引号中的内容与错误的关系)程序:用公式求三角形面积:,s= 程序代

25、码 源程序中需修改的对应部分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的单位为度数,库函数中自变量单位为弧度数)(已知:a=5, b=3, C=30o)注意:1,表达式的正确书写格式,2,程序的设计方法,3,检查、核实程序的顺序的正确性 代码:运行结果:第六次

26、上机作业 分支结构程序实验目的: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) c=1,d=1; e=-c&d-;/* 注意运算符的优先级和运算规则 */ printf(“nc=%d,d=%d,e=%d”,c,d,e

27、); 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)*(s-b)*s-c); _;else printf(“nthree data a,b,c cant form a trianglen”)

28、; 2, 编程求一元二次方程的根 根据不同的系数a,b,c有以下的几种情况:1, 时,方程有两不等实根x1,x22, 时,方程有两相等实根x1x23, 时,方程有两共轭虚根x1,x2 4,时,方程为bxc=0, 根为x=-c/b; 5, 时,方程无解 6,时,方程有无穷解(x可为任意值) 源程序代码: 动态测试:数据准备,根据前面分析,应准备6组数据第一组数据: 第二组数据:运行结果: 运行结果: 第三组数据: 第四组数据:运行结果: 运行结果: 第五组数据: 第六组数据:运行结果: 运行结果: 第八次上机作业 循环结构程序设计(一)实验目的:1,掌握程序的基本设计方法(能分析具体问题的算法,

29、输入输出,流程)2,掌握while循环的语义、语法和它的使用。(能根据流程写程序,根据程序写流程)3,能正确阅读程序,根据问题说明把程序补充完整上机内容:1, 填空,使程序完整问题说明:输出所有水仙花数。(水仙花数是三位自然数,其各位数字的立方和等于该数,例:153)程序:main() _;I=100;While(_) x=I/100; y=_; z=I%10; if(_) printf(“%dn”, I); I+; 运行结果:_2, 编程求解问题:一个皮球从50米高处落下,每次反弹的高度为原高度的,求至少经过多少次反弹后,反弹的高度才小于1米?提示:先弄清皮球的运动路线。可设变量,下落高度h

30、1,反弹高度h2,反弹次数n。每次的反弹高度等于下次的下落高度。源程序代码 :上机结果_反弹高度为原来的1/4时,运行结果_-第九次上机作业 循环结构程序设计(二)实验目的:1,掌握程序的基本设计方法(能分析具体问题的算法,输入输出,流程)2,掌握for循环的语义、语法和它的使用。(能根据流程写程序,根据程序写流程)3,能正确阅读程序,了解程序的运行过程。根据问题说明把程序补充完整,上机内容:1)已知以下程序是求某一分数序列的前20项的和:1, 填空使程序完整2, 写出该分数序列的前6项。(6个分数)程序:main() int a,b,c,I; _ sum,s; a=3,b=2,s=(floa

31、t)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() int I,

32、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, 掌握一维数组的定义,赋值,使用。2, 能用一维数组这个新的数据结构简化原有程序。3, 根据问题说明,能正确阅读程序。上机内容:1, 问题说明:求数列

33、的前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(要求使用数组)注意:数组的定义:数组元素的个数。数组的两种赋值方式。 数据类型的转换。 源程序代码 :上机结果_第十二次上机作业 数组(二)

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

35、 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,63,81,80,98,72,91,65,70,68,79提示:最好用选择法排序;增加一数组放学号,排序交换位置时,同时交换学号数组与成绩数组

36、的对应元素。 注: 在上题的右边作适当修改第十三次上机作业 数组(二)实验目的:1,熟练掌握一维数组,二维数组的正确使用。2,熟悉字符串数组的用法。3,能正确阅读程序,理解程序的含义。4,能根据问题说明,观察其隐含的规律,把程序补充完整。5,能根据多次不同的输入与对应的输出结果,推算程序功能。上机内容:1,下列程序是求给定字符串的字符个数。要求:不修改程序已写部分,在空缺部分把程序补充完整程序一:include”stdio.h”main() char s40; int m=0; printf(“Enter a string : n”); scanf(“%s”,s); while(sm!=_)

37、_; 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(I=j=0;sI!=0;+I)if(sI!=c) sj+=sI; sj=0;问:1,字符串的初值:printf 改为find a facto

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

39、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; printf(“最大公约数 is %d”,a); 2, 程序功能:求三个数的最大值。把下列程序补充完整,不能修改程序的其它部分。#include”

40、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, 程序填空:说明:求一个数组中各元素的最大元并输出。程序:#inclu

41、de”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; _; 程序运行结果_2, 用自定义函数编程:输入三角形的三边的边长,求其面积。面积计算公式: sqrt(p(p-a)(p-b)(p-c), p为周长的一半。主函数应包含输入无效数据的情况(即a,b,c不

42、能构成三角形的三边或它们有一个负数)。源程序代码 :运行结果: _第十六次上机作业 函数(三)和预处理实验目的:1, 能熟练使用定义函数编程,理解函数的参数传递过程。2,能正确阅读带宏定义的程序,掌握宏定义的正确替换。3, 掌握宏定义和带参数宏定义的简单使用。上机内容:1,阅读程序,写出程序运行结果并分析原因:程序1:#include”stdio.h” #define POW1(x) x*x #define POW2(x) (x)*(x) main() int x=7,y=8; printf(“pow1=%dn”,POW1(x+y); printf(“pow2=%dn”,POW2(x+y);2,程序填

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论