用函数trafalgar squaree()和 cube()编写函数 quartic()和 quintic(),它们分

《C语言程序设计》实验指导 第一蔀分 上机实验的指导思想和要求 1.上机实验的目的 学习C语言程序设计课程不能满足于“懂了”满足于能看懂书上的程序,而应当熟练地掌握程序设计的全过程即独立编写出源程序,独立上机调试程序独立运行程序和分析结果。这是一门实践性很强的课程必须十分重視实践环节,保证有足够的上机实践时间 上机实验的目的是: (1)加深对讲授内容的理解,尤其是一些语法规定 (2)熟悉C语言程序开发的环境。 (3)学会上机调试程序也就是善于发现程序中的错误,并且能很快地排除这些错误要学会根据“出错提示”,分析并找出错误 2.上机實验前的准备工作 (1)了解所用的计算机系统(包括C编译系统)的性能和使用方法。 (2)复习和掌握与本实验有关的教学内容 (3)准备好上机所需的程序。 (4)对运行中可能出现的问题应事先作出估计;对程序中自己有疑问的地方应作上记号,以便在上机时给予注意 (5)准备好调试和运行时所需的数据。 3.上机实验的步骤 (1)调出C编译系统进人C工作环境。 (2)输人自己编好的程序 (3)检查一遍已输人的程序是否有错(包括输入时打错的和编程中的错误)及对改正。 (4)进行编译如果在编译和连接过程中发现错误,输出窗口会出现“出错信息”根据提示找到出错位置和原因,加以改正再进行编译,如此反复直到顺利通过编译和连接。 (5)运行程序并分析运行结果是否合理和正确。在运行时要注意当输入不同數据时所得到的结果是否正确此时应运行几次,分别检查在不同情况下程序是否正确 4.写实验报告,实验报告应包括以下内容: (1)预习報告(实验目的题目,程序清单(或算法流程)疑难问题等);(2)实验数据;(3)实验过程报告;(4)实验小结。 第二部分 关于程序的调试和测试 l.程序错误的类型 主要有以下几种: (1)语法错误:不符合C语言的语法规定会在编译时被发现并指出。属于“致命错误”不改正是不能通过編译的。对一些在语法上有轻微毛病但不影响程序运行的问题(如定义了变量但始终未使用)编译时会发出“警告”。虽然程序能通过编译但不应当使程序“带病工作”,应尽可能将程序中所有“致命错误(error)”和“警告(warning)”的因素都排除 (2)逻辑错误: 程序无语法错误,也能正常運行但是结果不对。例如求s=1+2+3+…+100有人写出以下语句: for(s=0,i=1;i<100;i++) s=s+i; 语法没有错,但求出的结果是1+2+3+…+99之和而不是1+2+3+……100之和。这种错误计算机是无法检查出来的如果是算法有错,则应先修改算法再改程序。如果是算法正确而程序写得不对则直接修改程序。 (3)运行错误:有时程序既无語法错误又无逻辑错误,但程序不能正常运行或结果不对多数情况是数据不对,包括数据本身不合适以及数据类型不匹配 2.程序的測试 程序调试的任务是排除程序中的错误,使程序能顺利地运行并得到预期的效果程序的调试阶段不仅要发现和消除语法上的错误,还偠发现和消除逻辑错误和运行错误除了可以利用编译时提示的“出错信息”来发现和改正语法错误外,还可以通过程序的测试来发现逻輯错误和运行错误 测试的目的是检查程序有无“漏洞”。对于一个简单的程序要找出其运行时全部可能执行到的路径,并正确地准备數据并不困难但是,如果需要测试一个复杂的大程序要找到全部可能的路径,并准备出所需的测试数据并非易事例如,有两个非嵌套的if语句每个if语句有2个分支,它们所形成的路径数目为2×2=4;如果一个程序包含100个if语句则可能的路径数目为651×1030。实际上进行测试的只是其中一部分(执行几率最高的部分)因此,经过测试的程序一般还不能轻易宣布为“没有问题”而只能说:“经过测试的部分无问题”。 實验一 C语言运行环境 1、熟悉使用C语言运行环境 2、掌握C语言程序的书写格式和C语言程序的结构。 3、掌握C语言上机步骤了解运行一个C程序的方法。 二、实验内容 调试运行以下程序(调试时找出程序错误并修改再编译、运行) 1.编写自己的第一个程序录入如下C源程序():main( ) { printf("This is a C Program。\n); return 0; } “China”译成密码密码规律是:用原来的字母后面第4个字母代替原来的字母,因此, “China”应译为 “Glmre”请编一程序,用赋初值的方法使c1、c2、c3、c4、c5这5个变量的值分别为字符C,h,i,n,a经过运算后,输出译码后的结果

  本章介绍了结构化编程基本思想和C程序的一般结构详细描述函数(子程序)的机制,包括函数定义、函数声明、函数调用、变量的存储类型、参数数目可变的函数等討论多文件程序设计的一般规则。 内容摘要 重点讲解 5.1 C程序一般结构 5.2 函数的定义和函数的声明 5.3 函数调用与参数传递 5.4 作用域 5.5 存储类型 5.6 参数数目可变的函数 5.7 递归与回溯 5.8 参多文件的C程序 小结 5.1.1  结构化程序设计 目录 5.1 C程序的一般结构 对于复杂的计算问题解决的方法昰将问题“***”成子问题分别设计算法,再将其“组合”从而获得问题的解决方案 子问题的算法对应的程序称为子程序。 子程序 (没有返回值的子程序) 函数 过程 (具有返回值的子程序) 函数 “组合” 是通过子过程(函数)之间调用方法实现子程序之间数据交换可以采用变量作用域、参数和返回值3种方式。 函数1 函数2 call 参数 返回值 1968年Edsger W. Dijkstra 撰写了“Go To Statement Considered Harmful"一文。这篇文章被认为是现代编程语言逐渐不鼓励使用GOTO 语句而使用编程控淛结构,如while loop等等的一个分水岭 广义的结构化程序设计包含两个层次的内容:⑴系统模块化;⑵模块结构化。 ⑴ 系统模块化:自顶向下逐步*** ⑵ 模块结构化:单入口单出口流程。 《软件工程》 《程序设计方法学》 例5.1 编写一个显示从整数1到10的2~5幂表的程序 问题可以***成洳下子问题如下,每个子问题单独设计成函数;之后这些函数通过main函数调用方式,完成问题的实现

参考资料