资源描述
C实 验 报 告一、 实验目的和要求1、理解C语言表示逻辑量。2、熟练掌握关系表达式和逻辑表达式的应用。3、熟练掌握if语句设计选择结构的方法。二、实验环境(实验设备) 硬件: 微型计算机 软件: Microsoft Visual C+6.0三、实验过程训练目标1:(40分钟)1、 if-else-if多分支选择语句编写多分支选择结构程序。2、编写嵌套的选择结构程序。实验题目1:(20分钟) 日常生活中有许多问题可以用分段函数表示,例如邮局邮资付费等。编程求解以下数学分段函数。y=x (x1)2x-5 (1x10)3x-1 (x10)题目1源程序代码如下:#include void main()float x,y;printf(x=); scanf(%f,&x);if (x1&x10)y=3*x-1;printf(y=%f,y); 要求输入各种数据验证程序的正确性,题目1源程序运行界面如下。(1)输入x1的数据:如0.95,验证程序(2)输入1x10的数据:如5,验证程序(3)输入x10的数据:如20,验证程序问题1:你用的选择结构是if-else-if句型,还是其它形式的选择嵌套?Ifif-if问题2:分段函数的无定义点是什么?X=1,10问题3:用第二种选择方法再次编写程序。程序如下:#include void main()float x,y;printf(x=); scanf(%f,&x);if (x1&x10) y=3*x-1;printf(y=%f,y); 运行结果如下:问题4:比较问题2 和问题3所用方法异同。实验题目2:(15分钟)多位数拆分问题。编写程序,从键盘输入一个三位的整数,并判断个位数字和十位数字之和是否等于其百位上的数字,是则返回“yes!”,否则返回“no!”。题目5源程序代码:#include void main()int x,a,b,c;printf(请输入一个三位整数:);scanf(%d,&x); a=x/100;b=x/10%10;c=x%10;if(a=b+c)printf(yes!n); else printf(no!n);运行结果界面(请输入不同的数据验证,例257和725):验证结果1:验证结果2:训练目标2:(40分钟)3、与选择结构相关的一些简单算法:求极值、排序 、分类实验题目3:(20分钟)下面程序的功能是输出三个整数中的最大数。程序中有错误,按照程序思路修改错误,使其能运行并输出正确结果。#include void main()int x,y,z;printf(请输入三个整数数据n);scanf(%d%d%d,&x,&y,&z); /*found*/if(xyz) printf(The max num is: n,z); else if(yzx) printf(The mmax is: n,x); else printf(The middle num is: n,y);题目3修改后的源程序代码:#include void main()int x,y,z;printf(请输入三个整数数据:n);scanf(%d%d%d,&x,&y,&z); if(xy&xz) printf(The max num is: %dn,x); else if(yx&yz) printf(The max num is: %dn,y); else if(zx&zy) printf(The max num is: %dn,z); 题目3运行结果界面:请设计输入不同的数据组合验证,例:(1)输入1,2,3:(2)输入1,3,2(3)输入2,3,1(4)输入2,1,3(5)输入3,1,2(6)输入3,2,1。注意,这些数据的大小顺序。 (1)验计结果1:(2)验计结果2:(3)验计结果3:(4)验计结果4:(5)验计结果5:(6)验计结果6:实验题目4:现有三人,要求按年龄从大到小(也叫降序)排列。程序代码如下,请填写完整并上机调试。(课内完成)#include void main( ) int a,b,c,t; printf(“请输入三个人的年龄:a b c:n”);scanf(%d%d%d,&a,&b,&c); if (ab) t=a;a=b;b=t;if (ac) t=a,a=c,c=t; ;if(bc) t=b,b=c,c=t; ;printf(%d,%d,%d ,a,b,c);程序如下 :#include void main( ) int a,b,c,t; printf(请输入三个人的年龄:a b c:); scanf(%d %d %d,&a,&b,&c); if (ab) t=a;a=b;b=t; if (ac) t=a,a=c,c=t; if(bc) t=b,b=c,c=t; printf(%d,%d,%d ,a,b,c); 运行结果界面:请设计输入不同的数据组合验证,例:30,20,40或者40,20.30或者20,30,40或者20,40,30或者40,30,20或者30,40,20。注意,这些数据的大小顺序。 (1)验计结果1:(2)验计结果2:(3)验计结果3:(4)验计结果4:(5)验计结果5:(6)验计结果6:实验题目5:(15分钟)阅读程序,并在VC+中注释各语句。分析程序功能,记录结果,并上机运行验证结果。题目5源程序:#include void main()char c; /*声明一个字符变量c*/printf(Enter a single character:); /*输入单个字符*/c=getchar( ); /*输入字符对应的ASCII码值赋给c*/if(c=a&c=A&c=0&c=9) /*嵌套条件语句*/printf(Its adigit.n);elseprintf(Its a special character.n);题目5运行界面,用各种数据验证程序结果:(1)输入字母字符:(2)输入数据字符(3)输入其它字符题目5解答:问题1:用一句话概述程序功能。辨别一个字符是字母,还是数字,还是其他字符。问题2:注意程序中的选择结构嵌套语句,if条件中的单引号能否换成双引号?不能,单引号用来引用字符常量,双引号用来引用字符串常量。有趣的项目训练: 让事实说话,你可能需要分析一些数据,例如销售数据分析,实验数据分析,调查数据分析等。分析数据的方法很多:求和,求平均值,统计,数据分布,增量分析,影响数据变化的因素等。1、阅读资料:数据分析是指用适当的统计方法对收集来的大量第一手资料和第二手资料进行分析,以求最大化地开发数据资料的功能,发挥数据的作用。是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。数据也称观测值,是实验、测量、观察、调查等的结果,常以数量的形式给出。数据分析的目的是把隐没在一大批看来杂乱无章的数据中的信息集中、萃取和提炼出来,以找出所研究对象的内在规律。在实用中,数据分析可帮助人们做出判断,以便采取适当行动。数据分析是组织有目的地收集数据、分析数据,使之成为信息的过程。这一过程是质量管理体系的支持过程。在产品的整个寿命周期,包括从市场调研到售后服务和最终处置的各个过程都需要适当运用数据分析过程,以提升有效性。例如J.开普勒通过分析行星角位置的观测数据,找出了行星运动规律。又如,一个企业的领导人要通过市场调查,分析所得数据以判定市场动向,从而制定合适的生产及销售计划。因此数据分析有极广泛的应用范围。典型的数据分析可能包含以下三个步: (1)探索性数据分析。当数据刚取得时,可能杂乱无章,看不出规律,通过作图、造表、用各种形式的方程拟合,计算某些特征量等手段探索规律性的可能形式,即往什么方向和用何种方式去寻找和揭示隐含在数据中的规律性。(2)模型选定分析。在探索性分析的基础上提出一类或几类可能的模型,然后通过进一步的分析从中挑选一定的模型。 (3)推断分析。通常使用数理统计方法对所定模型或估计的可靠程度和精确程度作出推断。数据分析主要包含下面几个功能: (1)简单数学运算(Simple Math) (2) 统计(Statistics) (3) 快速傅里叶变换(FFT) (4) 平滑和滤波(Smoothing and Filtering) (5) 基线和峰值分析(Baseline and Peak Analysis)2、动手做做 你的专业实验中,常做什么数据分析?你可以设计一个简单功能的数据分析程序并得到一个结果。试一试。请编写程序。程序如下:#include void main() float a,b,c,x; printf(请依次输入你的语文,数学,英语成绩:); scanf(%f%f%f,&a,&b,&c); x=(a+b+c)/3; printf(你的三门课的成绩的平均分为:%f,x);运行结果如下:四、实验小结(包括问题和解决方法、心得体会、意见与建议等)(1)验证程序时为什么要用多种可能的数据组合?(2)其它问题批阅人日 期13
展开阅读全文