收藏 分销(赏)

如何使用Visual_C++6.0.doc

上传人:xrp****65 文档编号:7672371 上传时间:2025-01-11 格式:DOC 页数:43 大小:594.50KB 下载积分:10 金币
下载 相关 举报
如何使用Visual_C++6.0.doc_第1页
第1页 / 共43页
如何使用Visual_C++6.0.doc_第2页
第2页 / 共43页


点击查看更多>>
资源描述
C程序设计基础 上机实验指导书 李文杰、李桂芝、鱼涛 编写 杨根兴 审定 北京机械工业学院计算中心 目 次 说明 怎样学习C语言 实验一 C程序集成开发环境熟悉 实验二 数据的输入和输出 实验三 表达式的计算 实验四 选择结构语句 实验五 循环结构语句 实验六 数组应用(一) 实验七 数组应用(二) 实验八 函数及程序结构(一) 实验九 函数及程序结构(二) 实验十 指针的应用 说 明 C程序设计同其他程序设计一样,使实践性很强的课程。除了要听好课,多看课外书外,还需大量的上机实践才能更好地理解和掌握所学到的内容。一般来说,上机和讲课时间之比应不少于1:1。但由于目前各校安排的教学时数限制,课内时间将更多的精力用于讲课上,课内安排的上机时间相对较少,学生不要因此对上机的重要性有所误解。学生应在课外再花一定的时间进行C语言的上机实践,这样才能学好该门课。 上机实验的目的有以下几个方面: ⑴验证所编写的程序的正确性。 ⑵进一步理解教材和课堂授课中介绍的内容 ⑶熟练地掌握C程序开发环境的使用,为今后开发大型软件打好基础。 ⑷学习和掌握一般程序的调试和测试方法。 上机前应充分做好以下准备工作: ⑴复习和掌握与本次实验有关的教学内容。 ⑵根据本次实验的内容,在纸上编写好准备上机调试的程序,并初步检查无误。 ⑶准备好对程序进行测试的数据。 ⑷对每种测试数据,给出预期的程序运行结果。 ⑸预习实验步骤,对实验步骤中提出的一些问题进行思考。 上机实验后,应及时写出实验报告,实验报告应包括以下内容: ⑴实验目的和内容。 ⑵程序说明,包括程序结构、各模块的算法(N-S图表示)。 ⑶打印出的调试正确的源程序。 ⑷打印出的程序运行记录(包括对不同测试数据的运行结果)。 ⑸针对实验步骤中提出的问题,写出解决办法及对运行结果的分析。 怎样学习C语言 很多同学对学习C语言感到很难,尤其是在各高校将C语言放在大学第一学年教学时经常会考试不及格。究竟怎样才能学好C语言?这里将我对C语言的理解给大家介绍一下, 计算机语言挺枯燥的,如何提起兴趣? 首先要明确学习的目标,没有明确的学习目标就没有学习动力。给自己定一个目标,比如这次一定通过课程考试,或者这个月学习完做个东西出来等等。其次,确定了目标之后,要认真去做,多上机操作实践,遇到不懂的要多跟教师和其他同学交流,千万不能放弃。当自己编的一段小程序运行通过,或攻下一道难题,自己就会获得一种成就感,可能还会很兴奋,也就渐渐有了兴趣。最后,要把所学的知识运用到实际问题当中,这样既可以巩固所学的知识,不至于完学了就忘,还可以根据实际需要拓展知识面。这样良性循环,兴趣也会越来越浓。 学习计算机语言最好的方法是什么?答曰:读程序。 没错,读程序是学习C语言入门最快,也是最好的方法。不要总是抱着书本逐行啃,而是学习它们的例程。 学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止。这一过程,就和我们学习任何其他语言比如英语和汉语一样。我们大家都有体会,我们学习一门语言,都是从最基本的语法开始,然后学习一些字和词,再来学习一些词组或句子,然后再用词组和句子组成一段话,表达一个简单的意思,最后才是写一篇文章或者是一本书,表达更复杂的思想。我们知道,在我们完成这一过程时,并不是像说得这么简单。在我们能写出一篇好的文章或者一本好书之前,我们可能需要阅读大量的其他人写的好文章或好书,有时我们还要把它们背下来;同样的,在我们写出一个好的程序或者软件前,我们也需要阅读大量的样本例程或者软件的源代码,甚至要背一些好的程序代码。 写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。?      那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?举个例子:你面前有10个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10个人问:“谁叫张三”。第2种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三种方法:你去挨个问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选第一种方法,没错恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。 实验一 C程序集成开发环境熟悉 一、实验目的 掌握在Visual C++ 6.0集成开发环境下怎样编辑、编译、连接、执行、修改和调试C语言程序。 二、实验内容 1.进入可视化的C++ 6.0集成开发环境 ⑴启动计算机,进入窗口环境操作界面。 ⑵鼠标依次点击“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0” 启动VC6.0集成开发环境。 单击此处来修改文件保存位置 此处输入源程序文件名 ⑶选择“文件”(File)菜单中的“新建”(New)命令, 在新建 图1 对话框中,选择“文件”选项卡,再选择“C++ Source File”类型,按图示操作后单击对话框中的“确定”按钮。(见图1) ⑷ 接着就会出现如图2所示的VC界面。 ⑸ 在编辑窗口中,输入如下内容: #include "stdio.h" //以上行对于本书中的例子没有给出。望同学们对于所有的 //程序都保留这样一行。 main( ) { printf("Hello!这是我的First C程序.\n"); } ⑹选择“编译”菜单中的“ 编译 my_c1.cpp” 命令,并在出现的对话框中选择“是(Y)”结果如图3。 图2 编译信息窗 图3 ⑺选择“编译”菜单中的“构件my_c1.exe”命令,构建可执行程序my_c1.exe,再选择“编译”菜单中的“!执行my_c1.exe” 命令。 在出现的对话框中选择“是(Y)”,结果屏幕如图4所示。 图4 图中的黑色窗口为运行结果窗口。按任意键就可返回编辑界面。 ⑻修改上述程序,将printf行括号中的双引号去掉左边的,重复⑹,可以看到图5。其中的编译信息窗显示: 鼠标点击滚动条,查看错误信息 图5 my_c1.obj - 16 error(s), 1 warning(s) 可以看到由于一个双引号的漏写,导致出现16个语法错误,而实际上的错误只有一个,这是C编译器的特点,当它遇到错误时,会做出一些判断或推测,有时这种推测判断正确,有时也会错误。了解这一特点后,希望同学们在上机时,先去修改第一个错误,一般可以在修改一个错误后立即重新编译,这样可以快速减少错误的数目。下面请同学们用鼠标点击滚动条上的滑块,查当前错误所在的位置指示 看第一条错误信息,并用鼠标双击第一个错误信息。(图6), 错误的解释 错误所在的文件及行号 图6 可以看到,C编译器将Hello理解为了标识符,而前面又没有对Hello的说明,所以认为它是未声明的标识符(undeclared identifier),这个错误在初学者的程序里非常多见,希望同学们记住它。 将双引号加上再重新编译,就可恢复为无错误了。 ⑼修改上述程序,在#include “stdio.h”这一行的最左边加两个“/”,即使得这一行成为注释(显示为绿色),重复⑹,可以看到图7所示的错误。 相信同学们对其中的错误说明不难理解了,C编译器说printf是未声明的标识符。原因是printf不是C语言的基本部分,它是定义在“stdio.h”中,这也就是我们为什么在前面说要在自己的程序前部加#include “stdio.h”的原因。 ⑽请先选择“文件”菜单的“关闭工作区”命令,再按上面的步骤(3)~(5)操作将编辑窗口的程序更换为如下程序文本,依次引入下述错误,每引入一个错误,就对程序进行编译,记录编译器产生的错误信息,写在实验报告里。 /* 变量使用相关的语法问题 */ #include "stdio.h" void main() { int a=1,b=2,c=3; printf("Some output: %d %d %d\n",a,b,c,c); } ①把第6行变量声明语句的第一个逗号改为分号 ②把第7行printf()改为print() ③去掉第7行中的第2个双引号 ④把第7行中a,b,c,c改为a,b,c ⑤去掉printf语句末尾的分号 ⑥去掉用于结束的花括号 注意,在引入每一个错误并编译后,开始引入下一个错误前将上一错误再改正。 2.程序的调试手段 作为程序员编写程序,一个难以避免的工作就是对程序的调试。调试包括语法方面的,这一般通过编译就可基本解决,比如在上述图3中,细心的同学可能注意到在底部的编译信息窗中,编译报告中说:my_c1.obj - 0 error(s), 1 warning(s),意思是编译过程中没发现错误(0 error(s)),但有一个不合规范的使用(1 warning(s))。编程序应最好是达到 0 error和0 warning,但有时无法做到如此完美,只要达到 0 error就可以了。若不能做到0 error,将不能产生机器语言程序,因而也就无法执行程序。所以同学们在调试自己的程序时,必须是做到经编译后0 error。好在编译器对发现的错误都有一个比较正确的修改意见,同学们按意见修改后一般就可消除错误,只是修改意见是英文的,同学们需有一定的专业词汇或者经过一定时间与VC++的接触,就可理解;另一类就是逻辑方面的,这类错误的消除相对麻烦。好在VC提供了非常丰富的调试手段,帮助我们分析错误,前提是程序已经没有语法错误,也就是说编译已经通过(0 error(s))。 下面我们了解一些常用的,为了便于说明,请先选择“文件”菜单的“关闭工作区”命令,再按上面的步骤(3)~(5)操作将编辑窗口的程序更换为如下程序文本: #include "stdio.h" void main() { float i; float sum; sum=1.0; i=2.0; while (i<=100) { sum+=1/i; i =i+2; } printf("sum=%f\n",sum); } ⑴打开调试器 首先定位光标到main函数的函数首部所在行,选“编译” à “开始调试”à “Run to cursor”,出现如下图8所示界面。在该界面中,“debug”菜单取代了“编译”菜单。“debug”菜单的主要子菜单如下图9。 Go(去) ………………连续执行程序 Restart……………不管程序运行到何处,重新从头开始执行程序 Stop Debugging……停止调试器 Step Into…………单步进入语句内执行,如函数调用、复合语句内等 Step Over…………单步越过语句执行,即一步执行完函数调用或复合语句 Step Out……………单步从语句的执行中跳出。如从函数内跳出或从复合语句中跳出。 Run to Cursor……程序一次执行到光标所在位置暂停 ⑵在图10左下角的小窗口中,可以观察程序中用到的变量的取值情况。如果 图7 程序中变量很多,可在右下角的窗口中设定一些特别关心的变量,并可设定几组。例如,当选择了“step into”命令后,屏幕如下图10所示,在重点变量观察窗的Name列输入i,然后单步执行程序,观察i的值Value变化情况。有关这方 面的更多内容,请参阅Microsoft Visual C++ 6.0手册。 三、对上述实验进行总结,将自己在这次实验中所学到的C语言程序上机操作方法及步骤写在实验报告中。 连续执行程序 重新开始程序执行 单步进入结构内执行 单步越过结构执行 单步从结构的执行中跳出 执行到光标处暂停 停止调试器 现有变量观察窗 重点变量观察窗 图8 图9 图10 实验二 顺序结构程序设计 一、实验目的 1.掌握scanf和printf的主要用法。 2.掌握常用转换控制符的用法。 3.掌握赋值语句的用法。 4.掌握算术运算符的运算规律。 二、实验内容 1.编辑如下程序并运行,记录程序的输出结果,体会格式输出的使用。 #include "stdio.h" void main( ) { printf("%d\n",42); printf("%5d\n",42); printf("%f\n",123.45); printf("%12f\n",123.45); printf("%e\n",123.45); printf("%13e\n",123.45); printf("%g\n",123.45); printf("%8g\n",123.45); printf("%.5d\n",42); printf("%.0d\n",42); printf("%8.3f\n",123.45); printf("%8.1f\n",123.55); printf("%8.0f\n",123.55); printf("%g\n",123.56789); } 2.编辑如下的程序,并上机运行3次,在每次运行提供输入数据时分别采用数据之间插入空格、每输入一个数据就按回车键、数据之间用TAB键分割,看结果有什么不同? #include "stdio.h" void main( ) { int x,y,t; printf("Enter x & y:\n"); scanf("%d%d",&x,&y); printf("x=%d y=%d\n",x,y); t=x; x=y; y=t; printf("x=%d y=%d\n",x,y); } 3.改错题。下列程序多处有错,请通过上机改正。使之符合下面的要求。 #include "stdio.h" void main( ) { double a,b,c,s,v; printf(Input a,b,c:\n); scanf("%d%d%d",a,b,c); s=a*b; v=a*b*c; printf("a=%d b=%d c=%d\n",a,b,c); printf("s=%f\n",s, "v=%d\n",v); } 当本程序运行时,要求按如下方式显示和输入: Input a,b,c:2.0 2.0 3.0 (此处的2.0 2.0 3.0为用户输入的) a=2.000000 b=2.000000 c=3.000000 s=4.000000 v=12.000000 4. 编辑如下程序: /* 字符类型定义及使用 */ #include "stdio.h" void main() { char c1, c2; c1 = 'a'; c2 = ‘b’; printf (“%c %c\n”, c1, c2); } (1运行此程序,记录运行结果。 (2在最后增加一个语句:printf(“%d%d\n”,c1,c2);再运行,并记录分析结果。 (3再将第5行char c1,c2;改为:int c1,c2;再使之运行,并观察记录结果。 (4再将第 6、7行改为: c1 = a; /* 不用单引号 */ c2 = b; 再运行,记录分析其运行结果。 (5再将第 6、7行改为: c1 = ”a”; /* 用双引号 */ c2 = ”b”; 再运行,记录分析其运行结果。 (6再将第 6、7行改为: c1 = 300; /* 用大于255的整数 */ c2 = 400; 再运行,记录分析其运行结果。 5. 编辑如下程序: /* 自增自减运算符 */ #include "stdio.h" void main() { int i,j,m,n; i = 8; j = 10; m = ++i; n = j++; printf(“%d,%d,%d,%d”, i, j, m, n); } (1)运行程序,记录i、j、m、n 各变量的值,分别作以下改动并运行。 (2)将第7、8行改为下面所示,再运行。 m = i++; n = ++j; 记录i、j、m、n 各变量的值 (3)在(1)的基础上,将printf 语句改为: printf(“%d,%d”, ++i, ++j); 运行程序,记录i、j、m、n 各变量的值。 (4)再将printf 语句改为: printf(“%d,%d,%d,%d”, i, j, i++, j++); 运行程序,记录i、j、m、n 各变量的值。 (5)再修改程序如下,运行程序记录i、j、m、n 各变量的值。 #include "stdio.h" void main() { int i, j, m=0, n=0; i = 8; j = 10; m+= i++; n-= --j; printf(“i=%d,j=%d,m=%d,n=%d”, i, j, m, n); } 6. 编程题。编写程序,完成对于任意输入的两个整数,求出它们的商和余数并进行输出。 三、对上述实验内容进行总结,写出实验报告。 实验三 表达式的计算 一、实验目的 1. 掌握算术表达式、逗号表达式、赋值表达式的计算。 2. 特别注意运算符%、/(整数的相除)、++和--运算的规律。 二、实验内容 1.已知三角形的三边a,b,c,求三角形面积的公式为: area=sqrt(s(s-a)(s-b)(s-c)) 其中:s=(a+b+c)/2,sqrt(x)表示x的平方根。要求编一程序,对任意输入的a,b,c值,计算并输出三角形的面积范围。 提示:sqrt是C的标准库函数,使用该函数应将库文件“math.h”包含到源文件中。另外注意三角形三边的基本关系。 2.对以下程序进行分析,看程序的输出结果应是什么,然后上机运行该程序看实际结果与你分析的有无不同,找出原因。 #include "stdio.h" void main( ) { int x=1,y=2,t; float m; t=x/y; m=x/y; printf("%d \t%8.3f\n",t,m); t=x/(float)y;m= x/(float)y; printf("%d \t%8.3f\n",t,m); t=(float)x/y;m=(float)x/y; printf("%d \t%8.3f\n",t,m); } 3.编辑以下程序:对程序进行分析,看程序的输出结果在下列各种情况下应是什么,然后上机运行该程序看实际结果(写在实验报告里)与你分析的有无不同,找出原因。 #include "stdio.h" void main( ) { int x,y,t; double a; float b; int c; scanf(“%d%d”,&x,&y); c=b=a=20/3; t=(x%y,x/y); printf("%d %d\n",x--,--y); printf("%d\n",t); printf("%d\n",(x=5*6,x*4,x+5)); printf("%d %f %f\n",c,b,a); } ⑴程序运行时,在键盘上输入20 3 ⑵程序运行时,在键盘上输入15 5 三、对上述实验进行总结,写出实验报告,把你通过本实验掌握的内容整理出来。 实验四 选择结构程序设计(一) 一、实验目的 1. 掌握关系表达式和逻辑表达式的使用。 2. 熟悉选择结构程序设计。 3. 熟练使用if语句进行程序设计。 4. 使用switch语句实现多分支选择结构。 二、实验内容 1.运行以下程序,说明表达式值1和表达式值2的不同。 #include "stdio.h" void main() { int a=3,b=2,c=1,d=0; printf("表达式1=%d\n",d==a>b+c); printf("表达式2=%d\n",d=a>b+c); } 2.以下程序的功能是:从键盘输入一个字符型数据,若输入一个数字字符(‘0’-‘9’),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。 #include "stdio.h" void main( ) { char c; scanf("%c",&c); if('0'<=c<='9') /*条件表达式*/ { c=c-'0'; printf("c=%d\n",c); } else printf("data error!\n"); } 实验步骤: ⑴ 上机调试以上程序; ⑵ 输入‘0’—‘9’之间的任何字符,验证输出结果是否和程序功能相符合; ⑶ 输入‘0’—‘9’之外的任何字符,例如,输入字母’a’,验证输出结果是否和程序功能相符合; ⑷ 将条件表达式if('0'<=c<='9')改为if('0'<=c&&c<='9'),重复2、3步骤。分析、比较以上的输出结果,总结字符变量c的取值在‘0’-‘9’之间在C语言编程中的正确描述。 3.if语句的第一种形式为基本形式 if(表达式) 语句; 其语义是:如果表达式的值非零(为真),则执行其后的语句, 否则不执行该语句。 编程:输入两个整数,输出其中的大数。 提示:输入两个数a,b。把a先赋予变量max,再用if语句判别max和b的大小,如max小于b,则把b赋予max。因此max中总是大数,最后输出max的值。 4.if语句的第二种形式为if-else形式 if(表达式) 语句1; else 语句2; 其语义是:如果表达式的值非零(为真),则执行语句1,否则执行语句2 。程序填空题。下列程序用于完成对输入的整数判断它是奇数还是偶数,并给出相应的提示。试完成它缺少的部分,并上机验证。 #include "stdio.h" void main( ) { int x; scanf("%d",&x); if( ) printf("x=%d is Even\n",x); else printf("x=%d is Odd\n",x); } 编程:输入两个整数,输出其中的大数。 提示:改用if-else语句判别a,b的大小,若a大,则输出a,否则输出b。 5.if语句的第三种形式为if-else-if形式(嵌套的if) 当有多个分支选择时,可采用if-else-if语句,其一般形式为: if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3;…else if(表达式m) 语句m; else 语句n; 其语义是:依次判断表达式的值,当出现某个值为真时, 则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n 。 然后继续执行后续程序。 编程:要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。 在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。 这是一个多分支选择的问题,用if-else-if语句编程,判断输入字符ASCII码所在的范围,分别给出不同的输出。例如输入为“g”,输出显示它为小写字符。在嵌套中要特别注意if和else的配对问题。为了避免二义性,C语言规定,else 总是与它前面最近的if配对。 6. 分析以下程序的运行结果并上机调试。 程序1: #include "stdio.h" void main() { int a=3,b=4,c=5,d=0; if(a>b) d=a; else if(c>b) d=c; else d=b; printf("d=%d\n",d); } 程序2: #include "stdio.h" void main() { int a=3,b=4,c=5,d=0; if(a>b) if(c>b) d=c; else d=b; else d=a; printf("d=%d\n",d); } 程序3: #include "stdio.h" void main() { int a=3,b=4,c=5,d=0; if(a>b) if(c>b) d=c; else d=b; printf("d=%d\n",d); } 程序4: #include "stdio.h" void main() { int a=3,b=4,c=5,d=0; if(a>b) {if(c>b) d=c;} else d=b; printf("d=%d\n",d); } 编程:比较键盘依次输入的两个数a和b的大小关系,并根据大小关系分别输出1(若a>b)、0(若a=b)、-1(若a<b)。 7.条件运算符和条件表达式 由条件运算符组成条件表达式的一般形式为: 表达式1? 表达式2: 表达式3 其求值规则为:如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否则以表达式3的值作为整个条件表达式的值。用条件表达式对4中要求的输出两个数中的大数的程序重新编程。 8.switch语句 C语言还提供了另一种用于多分支选择的switch语句, 其一般形式为: switch(表达式) { case 常量表达式1: 语句1; case 常量表达式2: 语句2; … case 常量表达式n: 语句n; default : 语句n+1; } 在switch语句中,“case 常量表达式”只相当于一个语句标号, 表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句。 这是与前面介绍的if语句完全不同的,应特别注意。 程序分析题。分析以下程序,对分析的结果上机检验。 #include "stdio.h" void main( ) { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++;break; case 1: b++;break; } //abc case 2: a++;b++;break; } printf("a=%d, b=%d\n",a,b); } 在程序中的//abc前面,}后面添加一个break; 再次运行该程序,程序结果有何变化?在实验报告中对结果作出解释。 三、对上述实验进行总结,写出实验报告,把你通过本实验掌握的内容整理出来。 实验五 选择结构程序设计(二) 一、实验目的 进一步掌握选择结构程序设计,熟练运用选择语句编写程序,提高调试和修改程序的能力。 二、实验内容 1.输入三个整数,输出最大数和最小数。 分析:首先比较输入的a,b的大小,并把大数装入max, 小数装入min中,然后再与c比较,若max小于c,则把c赋予max;如果c小于min,则把c赋予min。因此max内总是最大数,而min内总是最小数。最后输出max和min的值即可。 2.有一函数: y= x x<1 2x-1 1=<x<10 3x-11 x>=10 用scanf函数输入x的值(分别为x<1,1—10,>=10三种情况),求y值。 分析:y是一个分段表达式。要根据x的不同区间来计算y的值。所以应使用if语句。 3.编写程序,输入三角形三边 a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。实验步骤与要求: (1) 输入一组数据3,4,8,观察程序运行结果,并与实验二中程序2做比较 (2) 另外再输入几组数据进行测试: 3,4,5 3,3,3 3,3,5 (3)如果程序有误,可采用“单步跟踪执行”的调试方法,确定错误的出处。 4.输入某学生的成绩,经处理后给出学生的等级,等级分类如下: 90分以上(包括90): A 80至90分(包括80):B 70至80分(包括70):C 60至70分(包括60):D 60分以下: E 方法一:(用if语句的嵌套) 分析:由题意知如果某学生成绩在90分以上,等级为A;否则,如果成绩大于80分,等级为B;否则,如果成绩大于70分,等级为C;否则,如果成绩大于60分为D;否则,如果成绩小于60分,等级为E;但当我们输入成绩时也可能输错,出现小于0或大于100,这时也要做处理,输出出错信息。因此,再用if嵌套前,应先判断输入的成绩是否在0~100之间。 方法二:用switch语句 分析:switch 语句是用于处理多分支的语句。注意,case后的表达式必须是一个常量表达式,所以在以用switch语句之前,必须把0~100之间的成绩分别化成相关的常量。所有A(除100以外),B,C,D类的成绩的共同特点是十位数相同,此外都是E类。则由此可得把score除十取整,化为相应的常数。 输入测试数据,调试程序。测试数据要覆盖所有路径,注意临界值,例如此题中得100分,60分,0分以及小于0和大于100的数据。 5.编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式: 操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加(+)、减(-)、乘(*)、除(/) 用if及switch语句实现。 程序运行举例: Please enter the expression:22.12+12.10 键盘输入 屏幕提示 22.12+12.10=34.22 程序输出 6.用scanf函数输入一个年份year,计算这一年2月份的天数days,然后用输出函数printf输出days。 实验步骤与要求: (1)有变量定义为整型。 (2)输入前要加提示语句。 (3)输出结果前要有必要的文字说明。 说明: (1)闰年的条件是:year能被4整除但不能被100整除,或者year能被400整除。 (2)如果year是闰年,则2月份的天数为29天,不是闰年则为28天。 [问题讨论] 对于多分支选择结构何时使用if语句的嵌套,何时使用switch语句? 三、对上述实验进行总结,写出实验报告,把你通过本实验掌握的内容整理出来。 实验六 循环结构程序设计(一) 一、实验目的 1.熟练掌握三种循环语句的应用。 2. 熟练掌握循环结构的嵌套。 3. 掌握break和continue语句的使用。 4. 练习调试与修改程序。 二、实验内容 1.while语句 while语句的一般形式为: while(表达式)语句; while语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体语句。 编程:求1-100的奇数和。 提示:参考教材107页,例6.2,循环变量的步长值为2。 2.do-while语句 do-while语句的一般形式为: do { 语句; }while(表达式); do-while语句的语义是:先执行循环体语句一次, 再判别表达式的值,若为真(非0)则继续循环,否则终止循环。 编程:求1—100的偶数和。 3.for语句 其一般形式为: for(表达式1;表达式2;表达3) 语句; for语句的语义是: ⑴首先计算表达式1的值。 ⑵再计算表达式2的值,若值为真(非0)则执行循环体一次, 否则结束循环。 ⑶执行循环体后再计算表达式3的值,转回第2步重复执行。 下列程序用于输出fibnocci数列的前20项,每行输出5个。请填空。 说明:fibnocci数列的前两项均为1,以后各项等于其前两项之和。 #include "stdio.h" void main( ) { int i,f1,f2,f3,n; f1=1;f2=1; printf("\n%d %d ",f1,f2); n=2; for(i=1; ;i++) { if( ) printf("\n"); ; printf("%d ",f3); n++; f1=f2;f2=f3; } } 编程:⑴ 用for语句计算s= 3+33+333 ⑵ 求5! 4.break/continue语句: while (表达式1) {… if(表达式2) break; … } while (表达式1) {… if (表达式2) conitue; … } 结束本次循环 结束整个循环 #include "stdio.h" void main() { int i,sum=0; for (i=1;i<=10;i++) {if (i<=5) continue; sum=sum+i;} printf("sum=%5d\n",sum); } #include "stdio.h" void main() { int i,sum=0; for (i=1;i<=10;i++) {if (i>5) break; sum=sum+i;} printf("sum=%5d\n",sum); } 说明以下各程序的功能及运行结果并总结Break和continue语句的不同用
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服