c语言-选择结构程序设计实验报告4

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

程序设计基础实验报告――选择结构程序设计作者:花开2011年11月2日实验报告实验题目:选择结构程序设计实验目的:(1)了解C语言表示逻辑量的方法(以0代表“假”以非0代表“真”)。(2)学会正确使用逻辑运算算符和逻辑表达式。(3)熟练掌握if语句的使用(包括if语句的嵌套)。(4)熟练掌握多分支选择语句——switch语句。(5)结合程序掌握一些简单的算法。(6)进一步学习调试程序的方法。实验内容:本实验要求事先编好解决下面问题的程序,然后上级输入程序并调试运行程序。(1)有一函数:程序设计基础实验报告――选择结构程序设计作者:花开2011年11月2日10113)101(12)1(xxxxxxy输入x的值,输出y相应的值。用scanf函数输入x的值,求y值(第四章第六题)运行程序,输入x的值(分别为x1、101x、10x这三种情况),检查输出y值是否正确。答:1)调试通过的程序清单如下:#includestdio.hvoidmain(){intx,y;printf(请输入X:);scanf(%d,&x);if(x1)y=x;elseif(x10)y=2*x-1;程序设计基础实验报告――选择结构程序设计作者:花开2011年11月2日elsey=3*x-11;printf(y=%d\n,y);}3)调试过程出现的问题说明及处理方法:编译提示信息如下:Compiling...c4_4.cF:\20113009711_选择结构程序设计\第四次实验\c4_4.c(10):errorC2059:syntaxerror:'badsuffixonnumber'F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(10):errorC2146:syntaxerror:missing';'beforeidentifier'x'F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(10):warningC4552:'-':operatorhasnoeffect;expectedoperatorwithside-effectF:\20113009711_选择结构程序设计\第四次实验\c4_4.c(11):errorC2181:illegalelsewithoutmatchingifF:\20113009711_选择结构程序设计\第四次实验\c4_4.c(11):程序设计基础实验报告――选择结构程序设计作者:花开2011年11月2日errorC2059:syntaxerror:'badsuffixonnumber'F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(11):errorC2146:syntaxerror:missing';'beforeidentifier'x'F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(11):warningC4552:'-':operatorhasnoeffect;expectedoperatorwithside-effect执行cl.exe时出错.c4_4.obj-1error(s),0warning(s)原因分析:由于习惯在数学上习惯于用2x表示2*x,导致在这里忽略了“*”,以致程序出现严重错误。(2)从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其进行检查是否小于1000的正数。若不是,则要求重新输入。1)调试通过的程序清单如下:#includestdio.h程序设计基础实验报告――选择结构程序设计作者:花开2011年11月2日#includemath.h#defineM1000intmain(){inti,k;printf(请输入一个小于%d的整数i:,M);scanf(%d,&i);if(i1000){printf(输入的数据有误,请重新输入:,M);scanf(%d,&i);}k=sqrt(i);printf(%d的平方根的整数部分是%d\n,i,k);return0;}2)调试通过的运行结果:程序设计基础实验报告――选择结构程序设计作者:花开2011年11月2日3)调试过程出现的问题说明及处理方法:Compiling...c4_4.cF:\20113009711_选择结构程序设计\第四次实验\c4_4.c(10):errorC2018:unknowncharacter'0xa3'F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(10):errorC2018:unknowncharacter'0xbb'F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(11):errorC2146:syntaxerror:missing';'beforeidentifier'scanf'F:\20113009711_选择结构程序设计\第四次实验\c4_4.c(13):warningC4244:'=':conversionfrom'double'to'int',possiblelossofdata执行cl.exe时出错.c4_4.exe-1error(s),0warning(s)答:因为把第十行的“;”在中文模式输入,变成程序设计基础实验报告――选择结构程序设计作者:花开2011年11月2日了“;”导致编译错误。(3)给出一个百分制成绩,要求输出成绩等级A,B,C,D,E.90分以上为A,81~89分为B,70~79分为C,60分~69分为D,60分以下为E。①事先编好程序,要求分别用if语句和switch语句来实现。运行程序,并检查结果是否正确。1)调试通过的程序清单如下:#includestdio.hvoidmain(){intg,s;charch;printf(\n输入学生的分数:);scanf(%d,&g);s=g/10;if(s0||s10)printf(\n输入数据错误!\n\n);else{程序设计基础实验报告――选择结构程序设计作者:花开2011年11月2日switch(s){case10:case9:ch='A';break;case8:ch='B';break;case7:ch='C';break;case6:ch='D';break;default:ch='E';}printf(\n学生的成绩等级是:%c\n\n,ch);}}2)调试通过的运行结果:3)调试过程出现的问题说明及处理方法:(1)编译提示信息如下:Compiling...程序设计基础实验报告――选择结构程序设计作者:花开2011年11月2日c4_4.cc4_4.obj-0error(s),0warning(s)(2)连接提示信息如下:Linking...c4_4.exe-0error(s),0warning(s)原因分析:由于忽略了在程序中加入换行符,导致输出成绩等级和“Pressanyeytocontine”连在一起。②再运行一次程序,输入分数为负值,这显然是输入时出错,不应给出等级,修改程序,使之能正确处理任何数据,当输入数程序设计基础实验报告――选择结构程序设计作者:花开2011年11月2日据大于100和小于0时,通知用户“输入数据错误”。程序结束。答:在编写程序的时候已经考虑到了该情况,第一次编写时已经进行了优化,能够自动处理该情况的出现。以下是运行结果:(4)输入4个整数,要求按由小到大顺序输出,在得到正确结果后,修改程序使之按由大到小的顺序输出。1)调试通过的程序清单如下:#includestdio.hintmain(){inta,b,c,d,t;printf(请依次输入四个整数以空格隔开。\n);scanf(%d%d%d%d,&a,&b,&c,&d);if(ab){t=a;a=b;程序设计基础实验报告――选择结构程序设计作者:花开2011年11月2日b=t;}if(ac){t=a;a=c;c=t;}if(ad){t=a;a=d;d=t;}if(bc){t=b;b=c;c=t;}if(bd){程序设计基础实验报告――选择结构程序设计作者:花开2011年11月2日t=b;b=d;d=t;}if(cd){t=c;c=d;d=t;}printf(四个整数经从小到大的顺序排列后的结果如下\n);printf(%d,%d,%d,%d\n,a,b,c,d);return0;}2)程序运行的结果:程序设计基础实验报告――选择结构程序设计作者:花开2011年11月2日从大到小排列的程序是:1)通过排列的程序清单如下:#includestdio.hintmain(){inta,b,c,d,t;printf(请依次输入四个整数以空格隔开。\n);scanf(%d%d%d%d,&a,&b,&c,&d);if(ab){t=a;a=b;b=t;}if(ac){t=a;a=c;c=t;}if(ad){程序设计基础实验报告――选择结构程序设计作者:花开2011年11月2日t=a;a=d;d=t;}if(bc){t=b;b=c;c=t;}if(bd){t=b;b=d;d=t;}if(cd){t=c;c=d;d=t;}程序设计基础实验报告――选择结构程序设计作者:花开2011年11月2日printf(四个整数经从大到小的顺序排列后的结果如下\n);printf(%d,%d,%d,%d\n,a,b,c,d);return0;}3)运行的结果:实验心得:通过此次实验本人更加熟练的掌握了程序C语言逻辑运算符和逻辑表达式的应用,也深深了解到了,C语言的强大,同时是我对这门语言的兴趣更加深厚。做完本次实验,我纠正了以往的一个观点,学习一门语言不要以为看书看明白了就以为对这方面的知识掌握了,学习语言更为重要的是要会使用,不能仅仅是以为明白就可以了事,合上书本,能够应用这方面的知识写出一个程序来,才能算对它的初步掌握。

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功