




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、姓 名:学 号:专 业:日 期:目录序:指导原则及VS2005环境中编译C程序一、熟悉 C 语言集成开发环境二、掌握基本数据类型在程序中的正确应用三、运算符与表达式的使用四、掌握顺序结构程序设计五、掌握顺序结构与输入输出函数六、分支结构程序(一)七、分支结构程序(二)八、循环结构程序设计(一)九、循环结构程序设计(二) 十、嵌套循环 十一、数组(一) 十二、数组(二) 十三、数组(三) 十四、函数(一) 十五、函数(二) 十六、函数(三)和预处理 十七、指针(一) 十八、指针(二)指导原则促进学生针对实际问题,用所学 C 语言知识编写符合规范的源程序代码,在某一集成开发环境下尽一 切调试技能调
2、试程序,并对运行结果进行分析处理,得出正确结论,解决好实际问题。更快更好地掌握所 学知识,技能和软件的一向开发方法目的:1, 通过上机实验,加深对教材内容的理解,特别是一些语法规定,熟练掌握各种语法规则。2, 通过上机实验, 熟悉某个 C 语言集成开发环境。 掌握集成开发环境下程序的编辑、 编译与连接、 运行的完整过程3, 通过上机实验, 要学会调试程序。 能根据系统给出的 “出错信息” ,判断错误所在, 并修改错误, 使程序正确运行。要求:1, 复习与本次实验相关的教学内容2, 了解集成开发环境的操作步骤3, 准备好实验内容。对于编程题,一定要自己动手,书写工整,并人工检查无误后才能上机实验
3、, 以提高上机效率。4, 要准备好调试和运行程序时所需的数据。5, 对运行中可能出现的问题事先作出估计,并对程序中有疑问的地方作上标记,以便在运行时给予 注意。并在程序调试时,把系统给出的出错原因,解决方法等记载在源程序之后;程序运行结束 后,把运行结果也记录下来。6,每个实验应独立完成,对实际问题所编写的源程序需写出完整实验的报告。VS2005编译环境中编写运行 C程序Turbo C 2.0发布于1989年,对历史并不太长而发展却神速的IT业来说,确实是古董级的软件了。但它几乎是最后一个专门为C语言设计的开发环境,具备学习C语言的一切条件,没有任何非C语言的东西干扰初学者,所以一直被各大高校
4、的C语言课堂采用。C+的发展使C+的开发环境大行其道。因为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
5、。下面将介绍在VS2005下如何开发C语言程序。1. 编辑、编译与运行下面以创建一个判断是否是闰年的程序来演示如何使用VS2005开发C程序。1.启动VS2005 ,新建一个项目, 新建方法有以下几种:A :在VS2005默认的“起始页”有创建项目一项,单击“ 项目(P)”即可,如图1所示-Vhijul陀钻T初 玄件OviSuSijTuuiOiftli币亍wn(j |.- , J;TT ACE).2CXJ5斗dlIWN酊审盍薊乐TO inrrrir顼S i阳ISBCR.wiSUil匚十十爭时姑口|枱+- a w J lirJ.Vh哥 f f E目正在生!廨UK+1-程:序 ucLcdpYc4r
6、cpp 起始页一3解决方案TaapYearXl个顶目) 卜需 Lea pYeai*LJ头袁件-/渡文件资厳3虫|(全局范围)补充一点:如果不小心没有写 “.C”后缀,可以这样处理:在建好的cpp文件右键单击,文件,也可以选择“从项目中排除(J)”这一项把该文件去掉,然后新建一个。如图7所示。从项目中排除夏制沁重命名(叫5.在出现的LeapYear.C空白处编写C代码即可。如下图所示:F7) 也可6 写好代码后单击“编译”,左边那个是只编译当前文件,右边那个编译全部文件(快捷键以在菜单栏“生成” “生成解决方案”或者别的可选择项目。卿决力 S LeapYear (1 1 b jj LepYear
7、头文件E- 2源文件 Leap Year, c MYLOG.hTextF4le3,.c编译丈件迥繃鼠D视虱町项目通生咸调试 IM(T)测试箭口凶社区帮Wb(W相章事岸11口具鼻寿偲鼎 :圏崔1矗齣解决方宪费源营理器-懈决-X |MYLOG.h TextFta.c TextFil8iC LeapYear.c(全局范围)1 Wind?3 Sindiid* tdio.hSmclude stdlib. hy-p Debug厂函数臣明ini IzLepY ear (const int);7在编译完成之后,我们就可以按“运行(ctrl+F5) ”或者“调试运行(F5) ”来运行我们的程序了。程序会提示:“
8、此项目已过期,要生成它吗?”的对话框,单击“是”。在以后的使用中,我们可以直接按“运行”或“调试运行”而不需要单独进行编译,因为当你按“运 行”或“调试运行”的时候它会自动的检测程序是否需要重新编译,如果需要,则会弹出一个对话框询问 你是否同意重新编译,你只需在此时点击“Yes”,它就会自动重新编译、连接程序后再运行,非常方便。另外要注意:信息输出窗:系统用来输出一些信息。比如上面在执行编译时,系统就会输出编译的结 果,一般是编译器在程序中发现的错误或者一些警告。如果编译器没有发现错误(error)及警告(warning),那么你会在最后一行看见“0 error(s), 0 warni ng(
9、s)”的字样。注意:在写程序时应当认真而小心的对待每一个 warning,最好把它们都当作 error对待。直I显示匾下锚匕(加:主嵌-jm白閒生j;顶目 Leicfuar, 5?詈 Drlur ifinOE 正塞举捲Titf lL4. bj : tt就 JJCiDOS: jn-airn KS-ft L*opfaN.出中走鬼C,EUQntn eric citiiiE1Icnncita.VL ;aal 5订2。翦11*轩怙14理丫上4心叩“峠矗1-. ; :4ial orrsr UiTllIgQ:施:生成 m 吉呆件让右1丿匸*=uraail= *nd 矢:口斗沪乩用 larjpig-n M n
10、nal Slurji EQQElFLajuulnLeafYutTlDuliHOiiiLdLof;. hlri15 Umtear - 2、卷诉,帀二f娶告= 4fcH)- ii 已战史 I 巴址败 U -fttf U 巴眺tt =梓足走工習口 !:喘盟殉出半世刽eRs2. 调试技术用VS2005进行程序的调试是非常方便的,我们可以在任一行设置一个断点,当程序执行到断点所在的 行时就会暂时停住,此时,你可以单步执行程序(即一次只执行一条语句),并查看此时各种变量的值, 下面我们就来看看如何使用VS2005的调试功能。设置断点以刚才程序为例,设置一个断点,如下图所示:方法有下面图示几种, 可以参考,
11、建议使用快捷键“ F9” 启动调试使用“ F5”。K鬲甦r昇曙r匚).J - V手 5滋盅IbmtinC)应)L潮 LeapVeflrc在左边举处单击鼠标左犍、即可谊莹斷点2. 光.标谨行、按吓93. 工具栏-调试-单击切换斷点“小+和信揃倚徒皆聲取命序点:聶次单击.AWF9丿/迢里说有刃満入 斓 煜疔含亡性檢登Hbi%ta e uf&買 e ar ) iIsLbcpTcur (cnst. ini yacr J5 f ( ytarM 二二 0 th. ysrl-IOD I DJ | | 射由hIMOQi D) IMlUTL lhliftreturn. 0;调试运行现在我们点击菜单栏上的“调试运
12、行按钮(F5)”,这时程序将自动编译、连接、运行,然后停在我们所设定的断点的行上。设置断点后,我们可以看见当前行的最左端有一个暗红色的大圆点,具体图略, 同学们可以单击“菜单栏”调试。一一对照下面的介绍查看,也可以在菜单栏下面的“调试栏”查看。继续运行:表示继续执行程序,直到碰见下一个断点时为止重新运行:表示重新从头开始运行程序停止调试:表示中止现在的调试界面,返回到代码编写界面逐语句:单步执行命令。如果下一条即将执行的语句是一条函数调用语句,那么就进入到函数体内逐过程:单步执行命令。如果下一条即将执行的语句是一条函数调用语句,它不会进入函数体内,而是直接执行整个函数,并停到函数返回后的第一条
13、语句上快速监视:它可以允许程序员自定义想要监视的变量,并在“指定变量显示区”显示调试程序后,程序提示输入值:这里输入2000,回车,现在程序已经在设置的断点处停住了,最左端的黄色箭头指示着即将运行的下一条语句。这个时候可以看见左下方“自动窗口”中有year变量值为“2000”,如下图所示。点击工具栏“逐语句或者 F11”,由于这条语句会调用函数lsLeapYear() ”,因此它会进行到“IsLeapYear()”函数体内去执行,黄色光标指示到函数内。可以反复执行“单步执行命令”(即工具栏上的“逐语句(F11) ”、“逐过程(F10) ”按钮)来观察程序的流程,调试中途发现问题不想再调试,可以
14、“终止调试”,也可以在“断点管理”处“删除断点”,“删除所有断点”,“禁用所有断点”。请同学们实践。快速监视通过“调试”菜单上的“快速查看”我们可以设定我们想要监视的变量,并在“监视显示区”中显示。映连M視我们可以在最上面的输入框中输入我们想查看的变量的变量名或者表达式,然后我们可以点击“重新 计算”按钮获到这个变量或表达式现在的值,这个值将在下面的显示区中显示,然后我们可以点击“添加 监视”按钮把这个变量或表达式加入到“监视显示区”中,如下图所示:界面风格最后简单说一下VS2005的一些界面风格。5个提示位置可以a)鼠标单击“解决方案资源管理器”上方边,不松手,便可以随意拖动位置,共有 停靠
15、,如下图所示。 Tj r- 1 _ 一 -审 J ” wMlf-OC.h TflutFiiefi if (I 怦*说=-01 ft&. t*1MOO r*tora I:Lr& tumn :,其中“文b)如下图所示:建议初学者可以配置的工具栏上可以是:“标准”,“调试”,“文本编辑器”本编辑器”可以方便的给多行程序添加注视,缩进,系统提示输入信息等些功能。另外,单击源文件下每 个文件或者在图中标记的“单击切换文件”均可以查看不同源文件。当然还有很多细节,希望大家慢慢发现。 k/Mcrcriuft Cffte&celMcroccft Offc* lWor:罄宛用酣(帕3门1牛项目) |山 lecT
16、ta亠I央空陣2 口谊立叶 艺L出尸罰. .M HAOd.h TurfTM . Cj T*ttFW f 3奩洞虫件羊缶切產壹件b&Hjclud|e LW-l != ji v*w) hlST典i;il攸年T泉辛.;.: jtar3.祁;懦T.I*町龙二具i H= 0 A4 严防 - 0)ratffn D:II为便于代码的管理和查看,可以将整个的函数部分折叠起来,即只剩下函数名,c)在 VS2005 中,果代码比较多,这样便于隐藏目前不用的代码,不用占用较大的空间。单击函数前面的“-”号即可隐藏,再单击“+”又可以复原。如下图所示:3.小结VS2005是非常强大的集成开发环境,希望同学们以此为良机
17、,在编程的大道上更进一步实验目的:1. 熟悉 C 语言集成开发环境2. 掌握集成开发环境下文件的编写与调用,源程序的编译与调试,程序运行结果的观察与分析。3. 掌握 C 语言程序的基本结构 实验要求:1. 程序编写完后,要对输入的每一个符号和词进行检查核对,不能有错。2. 编写源程序时,不要在中文输入法下进行,也不要有首字符大写,否则调试时,会有错误。 实验内容:1. 在D盘新建文件夹:D :XXX(自己学号或姓名如01),作为以后所做程序的存放位置。注:关机前,拷贝入自己的U盘,每次换机器须重复此操作。2. 编辑,编译,运行下面程序并存盘,文件名为 ex1_1.c/*输出信息的C源程序,文件
18、名为 ex1_1.c */#include ”stdio.h ”void main()printf( “Hello, Everyone n Study hard!n ”);输出结果为 3. 调入文件 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
19、/* 计算圆面积的程序,文件名为 ex1_3.c */#include”stdio.h”void main() float r,area;printf( “r=?”); scanf(“%f ”, &r); area=3.1415926*r*r; printf( “area=%fn ”,area);第一次运行时输入 1 ,运行结果为 再次运行时输入 10,运行结果为 把语句 printf( area=%fn”area);修改为:printf( area (% 0.1f) =%fn ”,r,area);后,运行时输入 10, 这时程序的运行结果为 实验目的:1. 熟悉C语言集成开发环境及程序编写、
20、编译、运行,观察运行结果2. 掌握基本的调试技巧(缺少标点符号,函数名错误或不一致)3. 熟悉 C语言基本数据类型(int, long, unsigned int,float, double, char)的输入,输出格式(%d,%ld,%f,%lf,%c,%o,%x,%u)实验内容:1. 输入半径,求圆的面积(要求圆周率用符号常量表示)(查错改错1:圆周率的定义名与使用名不一致; 查错改错2:面积的输出格式用 %d )。作业1程序如下。调试改正两处错误,运行后将文件保存为ex2_1.c#define pi 3.1415927#in cludestdio.hmain () float area,
21、banj ing;prin tf(please en ter a datan);sca nf(%f,&banji ng);area=2*p*banjing*banjing;/*圆周率的定义名 pi与使用名 p不一致*/printf(n the area of yuan is %dn,area); /* 面积的输出格式 %d 改为 %f */A)调试,语法错误如下:出错信息为:D:vcfileex1ex.cpp(7) : error C2065: p : undeclared identifier中文意思为:符号 p没有定义错误原因及更正:圆周率的定义名pi与使用名p不一致,改为pi运行B)观察
22、及分析运行结果,逻辑错误分析: 半径为 3 时:圆的面积应为: pi X 3X 3= 28.2743343,不能为负数杳错:先杳面积变量 area的输出格式,再往上逆推杳其运算方法,最后杳其定义 错误原因及更正:面积的输出格式d (整数)改为 f (实数或单精度浮点数)2. 调入ex2_1.c另存为ex2_2.c,并做如下修改后,保存调试运行程序,观察系统出错信息(英文) 并翻译成中文。注:每改一次,就调试一次。1)将语句: float area, banjing; 改为:floatarea, banjing ;出错信息为:中文意思为:错误原因及更正:2)将语句: printf (”n”) ;
23、 改为: printf ( ”n”)出错信息为: 中文意思为: 错误原因及更正: 3)将语句:scanf( “ f”,&banjing);为:sean( “ f”,&banjing);出错信息为: 中文意思为: 错误原因及更正: 4)将语句: float area,banjing ;中英文标点符号“; ”或“,”,)为中文输入法后,再输入同样 标点出错信息为: 中文意思为: 错误原因及更正: 实验目的:1.2.3.熟悉 C 语言集成开发环境和熟悉 C 语言程序结构 掌握一定的调试技巧。 熟悉运算符与表达式的正确使用。实验内容:1. 程序填空,以下程序输入3个整数值 给a,b,c,程序把b中的值
24、给a,把c中的值给b,把a中的值给c,交换后输出a,b,c的值,例如输入123,输出a=2,b=3,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, 在程序输出语句后插入语句:getchar(); 根据运行结果,说明其作用 1, 调试以下程序(有两处语法错误:请改正) ,写出运行结果并简要回答为什么(即了解程序的运行 过程)#include ”stdio . h ”ma
25、in()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);运行结果: 实验目的:1. 熟悉 C 语言集成开发环境和熟悉 C 语言程序结构2. 掌握一定的调试技巧。3. 熟悉运算符与表达式的正确使用。4. 掌握语句的正确书写,学会编写顺序结构的程序。 实验内容:1. 编写程序求解:已知半径 r=3 厘米( cm) .求球的体积 v;源程序代码 上机调试后,源程序中需修改的对应部分程序运行结果:2. 以下叁个程序,
26、请设计编写源代码,并上机调试得到正确结果。1) 输入两个整数,求其和,差,积,商和余数2) 输入一个三位数,依次输出其个位数字,十位数字,百位数字。 要求:1, 确定所需的输入变量,输出变量,中间变量的个数及命名,并为其选取正确的数据类型。2, 根据正确的逻辑顺序书写程序。 (变量先说明再赋值后使用;先输入再处理后输出; )3, 每次输出必须有提示信息。如: printf( “n x+y=%f ”,x+y); 其中: x+y= 是提示信息。 题号: 源程序代码:输入数据与运行结果:第五次上机掌握顺序结构与输入输出函数实验目的:1. 掌握顺序程序设计的一般方法:2. 根据算法(有的是计算公式)确
27、定所需的输入变量,输出变量,中间变量的个数及命名,并为其选取正确的数据类型(有计算公式的由计算公式右边表达式值的类型确定)。3. 根据正确的逻辑顺序书写(审查)程序。(变量先说明再赋值后使用;函数先定义,后说明,再使用)4. 每次输入、输出应有提示信息。如:printf( n x+y=%f ”x+y);其中:x+y=是提示信息。5. 注意表达式的正确书写格式。6. 掌握程序的一般调试方法:实验内容:1. 在调试的过程中改正如下程序的错误(注意:每编译一次只改正一个错误;同时思考错误提示信息中单引号中的内容与错误的关系)程序:用公式求三角形面积:.(s a)(s b)(s c)s,s=;(a b
28、 c)程序代码源程序中需修改的对应部分main () int a,b,c;float s;a=3,b=4,c=5;printf( enter three datas”n”scanf( “ 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);12. 编程求三角形面积:sabsinC , (C的单位为度数,库函数中自变量单位为弧度数)(已知:2a=5, b=3, C=30o)注意:1.表达式的正确书写格式;2.程序的设计方法;3.检查、核实程序的顺序的
29、 正确性代码:运行结果:第六次上机 分支结构程序(一)实验目的: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=%
30、d,e=%d ”,c,d,e);e=+d|c+;pirntf( “nc=%d,d=%d,e%d ”,c,d,e);2. 程序填空,输入 x 值,计算下面的函数值 ,并输出结果x x 1y 2x 1 1 x 103x 11 x 10源程序如下:#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 dat
31、a a,b,c cant form a trianglen ”);2. 编程求一元二次方程 ax2 +bx+c=0 的根根据不同的系数 a,b,c 有以下的几种情况:21) a 0,b 2 -4ac0 时,方程有两不等实根x1,x222) a 0,b -4ac=0时,方程有两相等实根x1 = x223) a 0,b2-4ac0 时,方程有两共轭虚根x1,x24) a=0,b0 时,方程为 bx c=0, 根为 x=-c/b;5) a=0,b=0,c0 时,方程无解6) a=0,b=0,c0时,方程有无穷解( x 可为任意值)源程序代码:动态测试:数据准备,第一组数据:根据前面分析,应准备 6
32、组数据第二组数据:运行结果:运行结果:第三组数据:第四组数据:运行结果:运行结果:第五组数据:第六组数据:运行结果:运行结果:实验目的:1. 掌握程序的基本设计方法(能分析具体问题的算法,输入输出,流程)2. 掌握while循环的语义、语法和它的使用。(能根据流程写程序,根据程序写流程)3. 能正确阅读程序,根据问题说明把程序补充完整 实验内容:1. 填空,使程序完整问题说明:输出所有水仙花数。(水仙花数是 三位自然数,其各位数字的 立方和等于该数,例:153=135333 )源程序:main () ;1=100;While)x=l/100;y=;z=I%10;if()printf( %dn
33、”,I);I+; 运行结果:2. 编程求解问题:一个皮球从50米高处落下,每次反弹的高度为原高度的2/3 ,求至少经过多少次反弹后,反弹的高度才小于1米?提示:先弄清皮球的运动路线。可设变量:下落高度 h1,反弹高度h2,反弹次数n。每次的反弹高度等于下次的下落高度。源程序代码:反弹高度为原来的1/4时,运行结果 第九次上机 循环结构程序设计(二)实验目的:1. 掌握程序的基本设计方法(能分析具体问题的算法,输入输出,流程)2. 掌握 for 循环的语义、语法和它的使用。 (能根据流程写程序,根据程序写流程)3. 能正确阅读程序,了解程序的运行过程。根据问题说明把程序补充完整, 实验内容:1.
34、 已知以下程序是求某一分数序列的前 20 项的和:1)填空使程序完整2)写出该分数序列的前 6 项。(6 个分数)源程序:main() int a,b,c,I; sum,s;a=3,b=2,s=(float)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. 编程20 求: n n1102n 8!要求:用 for 循环;从键盘上输入 n 的值)n1源程序代码第十次上机 嵌套循环实验目的:1. 掌握嵌套循环程序的基本设计方法(难度分解,化为单层循环)2. 掌握 for 循环, wh
35、ile 循环的语义、语法和它的使用。 (能根据流程写程序,根据程序写流程)3. 能正确阅读程序,了解程序的运行过程。根据问题说明把程序补充完整 实验内容:1. 程序填空,问题说明:求 100到 1000之间的所有素数之和源程序:main() int I,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 1001000 is %dn ”);2. 编程求Sn=a+aa+aaa+aaa(该项有n个a)之值,其中a为一个数字。例如:2+ 22+ 222+ 222
36、2 + 22222 (此时 n=5 ), a 和 n 由键盘输入。源程序代码 :3. 编程,输出 101 115之间不能被 3整除的数。(要求:输入时每行输入 5个数,输出时每行输出 5 个。使用 continue 语句)输入排列:101102103104105106107108109110111112113114115输出排列:101103104106107109110112113115源程序代码第十一次上机 数组(一)实验目的:1. 掌握一维数组的定义,赋值,使用。2. 能用一维数组这个新的数据结构简化原有程序。3. 根据问题说明,能正确阅读程序。实验内容:1. 程序填空求数列的前 20项
37、之和: 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+= al/bl;printf( “sum=%f ”,s);运行结果: N 的值改为 3 时,运行结果: 2. 编程 按下列数据的原来顺序和它的相反顺序输出下列各数:1,2,3,4,5,6,7,8(要求: 使用数组;8 个数从键盘输入)注意:数组的定义;数组元素的个数;数组的两种赋值方式;数据类型的转换。源程序代码 :第十二次上机 数组(二)实验目的:1. 熟练
38、掌握一维数组,二维数组的正确使用。2. 熟悉字符串数组的用法。3. 能正确阅读程序,理解程序的含义。4. 能根据问题说明,观察其隐含的规律,把程序补充完整。 实验内容:1. 程序填空:按下列格式输出 6 行杨辉三角形11 11211331146411510105 1(要求:先根据已有条件猜测空的内容,再运行程序,根据运行结果修改空的内容,直至符合要求) 源程序: 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=;for
39、(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提示好用选择法排序;增加一个数组放学号,排序交换位置时,同时交换学号数组 与成绩数
40、组的对应元素。注:在上题的右边作适当修改第十三次上机 数组(三)实验目的:1. 熟练掌握一维数组,二维数组的正确使用。2. 熟悉字符串数组的用法。3. 能正确阅读程序,理解程序的含义。4. 能根据问题说明,观察其隐含的规律,把程序补充完整。5. 能根据多次不同的输入与对应的输出结果,推算程序功能。 实验内容:1. 程序填空: 求给定字符串的字符个数。 (要求: 不修改程序已写部分, 在空缺部分把程序补充完整) 源程序: include ”stdio.h ”main() char s40;int m=0;printf( “Enter a string : n ”);scanf(“%s”,s);w
41、hile(sm!=) 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,字符串的初值: prin
42、tf 改为 find a factor 时,程序输出结果 2, 函数 squeeze。的主要功能是 。第十四次上机 函数(一)实验目的:1. 熟悉自定义函数定义的基本格式,说明格式,调用过程。2. 能把一般的程序或程序的部分功能改写为自定义函数 实验内容:1. 用自定义函数形式改写以下源程序。功能是求两个数(numl,num2 )的最大公约数(a)注意:该自定义函数应有二个形式参数自定义函数(函数名f):功能是求两个数(numl,num2 )的最大公约数(a) int f() if(n um1 nu m2) temp=nu ml; nu m仁 num2;nu m2=temp; a=nu m1;
43、b=nu m2;while(b) temp=a%b;a=b; b=temp;( a);源程序:#include ” stdio.h ”mai n() int a,b, nu ml, nu m2,temp;printf(“ enter twpostive numbers n” );scanf( “ d%d,&num1,&num2);if(nu m1=3)第十五次上机 函数(二)实验目的:1. 能正确理解和阅读带自定义函数的程序。2. 进一步熟练掌握自定义函数的定义、说明和调用。3. 能熟练使用定义函数编程 实验内容:1. 程序填空:求一个数组中各元素的最大元素并输出。 源程序:#include
44、s”tdio.h ” #define N 6 main() 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 不能构成三角形的三边或它们有一个负数)运行结果:实验目的:1. 能熟练使用定义函数编程,理解函数的参数传递过程。2. 能正确阅读带宏定义的程序,掌握宏定义的正确替换。3. 掌握宏定义和带参数宏定义的简单使用。 实验内容:1. 阅
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 益生菌保健饮品行业深度调研及发展战略咨询报告
- 高效文件传输器行业深度调研及发展战略咨询报告
- 康复理疗仪家庭版行业深度调研及发展战略咨询报告
- 智能健康管理机器人行业跨境出海战略研究报告
- 塔里木大学专职辅导员招聘真题2024
- 人教版六年级下册音乐考试复习计划
- 高风险岗位的职业防护措施
- 部编版二年级上册语文课堂管理策略计划
- 小学一年级阅读与写作结合活动计划
- 拍卖关系声明协议
- 肥胖症外科治疗
- 动画绘制员(高级)理论
- 路径规划与导航
- 《汽车故障诊断与排除》复习题及答案
- 幼儿园孩子受伤赔偿协议书范文
- 20222023银行招聘考试题库1000题第4372期含答案解析
- 传染病报告卡
- 单片机原理及应用期末考试题试卷大全(含答案)
- 镇村信访矛盾纠纷实施方案及计划信访矛盾大排查大化解实施方案
- 2024年燃气报警器市场分析:燃气报警器年均增长率保持在约6.5%
- 国画基础知识题库单选题100道及答案解析
评论
0/150
提交评论