《C语言》实验指导书.doc

上传人:飞****2 文档编号:60905701 上传时间:2022-11-19 格式:DOC 页数:16 大小:90.50KB
返回 下载 相关 举报
《C语言》实验指导书.doc_第1页
第1页 / 共16页
《C语言》实验指导书.doc_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《《C语言》实验指导书.doc》由会员分享,可在线阅读,更多相关《《C语言》实验指导书.doc(16页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、实验一 TC集成环境的使用一、实验目的1熟悉C语言的集成调试环境TC2.0的使用,学习编辑、运行C语言程序的基本方法。2进一步认识程序的两种类型的错误对程序运行的影响,加深对程序调试及测试重要性的认识。3认识C语言程序的结构特点,学习程序的基本编写方法二、实验内容1TC 2.0集成环境的使用。编辑运行实现乘法运算的程序,源程序如下:#include stdio.hmain( ) int a,b; a=251; /* 使a具有值251 */ b=8; /* 使b具有值8 */ printf(%dn,a*b); /* 计算并输出表达式a*b */运行结果为20082程序错误:修改上面的程序,观察运

2、行结果。(1) 将程序中第1个语句的分号删除,编译或运行程序,看有何结果。运行错误(2) 将程序中的表达式“a*b”的“a”改为“A”,然后运行程序。运行错误(3) 将程序中的表达式“a*b”修改为“a-b”,然后运行程序。运行结果为2433编辑并运行能够对任意两个整数进行乘法运算的程序。#include stdio.hmain() int a,b; printf(Input a,b:); /* 在屏幕显示提示信息Input a,b: */ scanf(%d,%d,&a,&b); /* 该语句的作用是实现数据的键盘输入 */ printf(a*b=%dn,a*b); /* 输出乘法运算的结果

3、*/4编辑并运行如下程序,分别输入三组数据,记录输出结果,并分析该程序的功能。main( ) int x, y, large; scanf(“%d, %d”,&x, &y); large=max(x, y); printf(“The Max number is %dn”, large);int max(int x, int y) int z; if(xy) z=x; elsez=y; return z; 5单步或跟踪运行上题中的程序,体会两种运行方式的特点。三、实验指导1Turbo C 2.0集成环境的使用。 启动TC 2.0。 使用“FileNew”命令或使用“Edit”命令,进入编辑状态,

4、录入编辑源程序并保存。 使用“CompleCompile to OBJ”对源程序进行编译,如果源程序存在语法错误,这时编译系统会把程序中的错误指示出来。发现错误后,需要立即修改源程序,然后重新编译。 编译无误后,使用“CompleLink EXE file”连接目标代码,生成可执行文件,这个文件可由运行命令“Run”运行。上面的、两个步骤,也可以使用“CompleBuild all”或“F9”功能键一步完成。 连接完成后,使用“Run”命令,或者使用“Ctrl+F9”组合键运行程序。程序运行过程瞬间结束,要察看程序运行结果,需要切换到运行屏幕,用组合健“Alt+F5”实现。按Alt+F5后,将

5、看到屏幕显示如下结果:2008按任意键,屏幕返回程序状态。说明:对一个未经编译和连接的源程序,TC2.0也可以直接运行它,方法是编辑好一个源程序后,直接使用Run命令或“Ctrl+F9”组合键运行它。此时系统自动启动编译命令和连接命令,只有当编译、连接正常进行后,程序才会被运行。因此,上面的过程可以简化为两个操作步骤: 启动TC2.0,录入编辑源程序,并保存。 按“Ctrl+F9”组合键运行程序。特别提示: 保存源程序:在编辑源程序的过程中或源程序编辑完成后,及时保存源程序是十分必要的,但初学者往往忽视这一环节。操作步骤如下: 按“F2”功能键,出现输入文件名的提示框。白色背景窗口显示了系统为

6、当前程序设定的默认存储位置(C:TC,该存储位置因系统而异,可以改变)和默认文件名NONAME.C。 输入新的文件名。为了操作方便,可以使用默认存储位置,指定文件名为mult.c。操作时只需将NONAME.C改写为mult.c后回车确认即可。 使用Windows的记事本程序提高源程序编辑效率。 启动Windows的记事本程序,录入编辑乘法源程序。 保存程序,选择合适的存储位置,如上面使用的TC2.0的默认程序目录C:TC;输入指定的文件名,如mult.c;选择保存类型为“所有文件”。 启动或激活TC2.0,按“F3”功能键,出现提示框。在“Load File Name”框中键入步骤使用的文件名

7、mult.c,回车确认后将源程序调入TC系统,然后按组合键“Ctrl+F9”运行程序。2程序错误。第一项内容用于说明语句结束的分号的重要性及语法错误。第二项内容用于验证C语言中标识符的特性,当用“A”取代“a”后,程序将不能运行,说明作为标识符“A”和“a”是不等价的。请读者自己进行类似的替换,然后察看程序的运行结果。如,将程序中的“printf”改为“PRINTF”,然后运行程序看结果。第三项实验内容说明了程序的逻辑错误情况。若把“a*b”误写为“a-b”,程序会顺利编译运行,但显然不是乘法运算的结果。3编辑并运行能够对任意两个整数进行乘法运算的程序。编辑该程序前,首先使用“FileNew”

8、命令使TC2.0进入新程序编辑状态,然后编辑运行该程序。程序运行后,屏幕将显示下面的提示信息:Input a,b:此时,应从键盘输入两个整数数据,然后回车确认。下面是一个输入实例:20,35 下面是程序的输出结果:a*b=700特别提示:程序的输入数据往往有格式规定,只有按照正确的格式输入数据,才会得到正确的结果。运行上面的程序时,输入的两个数据必须以“,”分隔,否则将得不到正确的结果。请读者再次运行程序,对输入的两个数据以空格分隔,察看执行结果。例如:Input a,b:20 35 再次运行程序,然后输入两个很大的整数,察看运行结果。例如:Input a,b:20000,35000 显然,上

9、面两次运行的结果都是不正确的。这说明,既没有语法错误,也没有逻辑错误的程序,运行后也会得不到正确的结果。第一种情况出错,是因为输入数据时数据之间的分隔形式不符合程序的要求。第二种情况,输入数据的格式没有问题,但输入的数据超出了程序能够允许的整数范围。这项实验内容提醒读者,在上机实现一个C语言程序时,各种错误的情况都可能出现。即便是一个看上去很好的程序,仍然会有许多需要改进之处。从算法的角度理解,就是任何算法,都可能存在进一步完善的空间。4编辑并运行如下程序,分析该程序的功能。(1)程序开始运行后,将首先进入用户屏幕状态(即黑屏),并有光标闪烁,此时用户需输入数据。(2)输入数据的格式:两个整数

10、,中间用逗号分开,最后按回车键结束。四、实验要求1实验前充分预习,熟悉操作方法。2实验过程中,记录程序运行结果、现象及出错信息,并分析原因。3实验中随时注意保存源程序,要指定适当的文件名,以备检查。 4实验总结,对实验内容中的有关问题进行说明。五、思考题1编辑并运行将自然数1-100累加的程序。2进一步熟悉TC2.0集成环境的功能,写出下列操作所使用的菜单命令及快捷键。(1)新建程序文件(2)保存程序文件(3)打开程序文件(4)程序文件换名保存(5)程序编译(6)程序编译并连接(7)程序编译、连接并运行(8)查看程序运行结果(9)单步运行程序(10)添加监示变量3程序中的语法错误和逻辑错误对程

11、序运行及结果有何影响?实验二 数据类型、运算符及表达式一、实验目的1了解C语言数据类型的概念,熟悉各种类型常量的表示及用法2掌握整型、字符型和实型三种基本类型变量的定义、赋值和使用方法。3掌握算法、关系、逻辑表达式的特点及用法。4熟悉自增、自减运算的特点,掌握自增、自减运算符的用法。5进一步认识C语言程序的结构特点,学习简单程序的编写方法。二、实验内容1整型变量及算术运算:要求:编辑运行下列程序,分析运行结果。#include “stdio.h”main( ) int m,a,b,c,d,e; printf(“m=”); scanf(“%d”,&m); a=m+1; b=m-2; c=m*3;

12、d=m/4; e=m%5;printf(“a=%d,b=%d,c=%d,d=%d,e=%dn”,a,b,c,d,e);2实型变量及运算:#include “stdio.h”main( ) float m,n,s; printf(“m=”); scanf(“%f”,&m); printf(“n=”); scanf(“%f”,&n); s=m*n;printf(“s=%fn”,s); 运行结果为2563字符型变量及运算:(1)输出字符程序:#include “stdio.h”void main( ) char c1,c2; c1=a; c2=b; printf(“%c %cn”,c1,c2); 运

13、行结果为a,b(2)字符程序分析:#include main( ) char c1=A,c2=B,c3=C,c4=101,c5=x4D; printf(“%dt%ct%dn”,c1,c2,c3); printf(“%ct%cn”,c4,c5); 4关系运算和逻辑运算:(1)用程序计算关系表达式的值: 表达式:x+6=yx*3 (x=5,y=8)(2)用程序计算逻辑表达式的值:从键盘任意输入整数x、y的值,计算下面逻辑表达式的值。表达式:x=y|Yx*3&!(x=25)5自增和自减运算:(1) #include main( ) int i,j,m,n; i=8; j=10; m=+i; n=j+

14、; printf(“%d,%d,%d,%dn”,i,j,m,n); (2)分别将上述程序作如下改动并运行。将第4、5行改为:m=i+;n=+j;程序改为:main() int i,j;i=8;j=10;printf(“%d, %dn”,i+,j+);在的基础上,将printf语句改为: printf(“%d, %dn”,+i,+j);再将printf语句改为: printf(“%d, %d,%d,%dn”,i,j,i+,j+);程序改为:main() int i,j,m=0,n=0;i=8;j=10;m=i-;n=-i;printf(“i=%d, j=%d,m=%d,n=%dn”,i,j,m,

15、n);printf(“i=%d, j=%d,m=%d,n=%dn”,-i,j-,m,n);(3) main( ) int x=6,y,z; x*=9+1; printf(“%dn”,x-); x+=y=z=10; printf(“%dn”,x); x=y=z; printf(“%dn”,-x+); 三、实验要求:1、充分预习实验内容,写出实验所需程序,分析给出源程序的运行结果。2、实验中,记录各程序运行结果、出错信息及现象,并分析说明出错原因。3、实验中随时注意保存源程序,要指定适当的文件名,以备检查。4、对比各程序的分析结果与实际运行结果的差异,并分析原因。四、思考题1、x=+i;与x=i+

16、;两语句在执行时有何区别?2、字符常量与字符串常量有什么区别?3、字符型常量或变量能否参与算术、关系及逻辑运算?若能,应如何运行运算?4、常用的调试方法有哪两种?实验三 顺序结构程序设计一、实验目的 1掌握printf()、scanf()、putchar()、getchar()等基本输出、输入函数的格式及其主要用法。2熟练掌握顺序结构的程序设计。二、实验内容 1基本输出函数的用法。编辑运行下面的程序,并根据执行结果分析程序中各个语句的作用。#include “stdio.h”main() int a, b; float d, e; char c1, c2; double f, g; long

17、m, n; unsigned int p, q; a=61; b=62; c1=a; c2=b; d=5.67; e=-6.78; f=1234.56789; g=0.; m=50000; n=-60000; p=32768; q=40000; printf(a=%d,b=%dnc1=%c,c2=%cn,a,b,c1,c2); printf(d=%6.2f,e=%6.2fn,d,e); printf(f=%15.6f,g=%15.10fn,f,g); printf(m=%ld,n=%ldnp=%u,q=%un,m,n,p,q); 2基本输入输出函数的用法。编辑运行下面的程序,并分析各个语句的作

18、用。#include “stdio.h”main( )int a,b;float c,d;long e,f;unsigned int u,v;char c1,c2;scanf(“%d,%d”,a,b);scanf(“%f,%f”,c,d);scanf(“%ld,%ld”,e,f);scanf(“%o,%o”,u,v);scanf(“%c,%c”,c1,c2);printf(“n”);printf(“a=%7d,b=%7dn”,&a,&b);printf(“c=%10.2f,d=%10.2fn”,&c,&d);printf(“e=17ld,f=%17ldn”,&e,&f);printf(“u=%

19、o,d=%on”,&u,&v);printf(“c1=%c,d=%cn”,&c1,&c2);这个程序有语法错误吗?为什么?3顺序结构程序设计。(1)输入一个小写字母,输出其大写字母及对应的ASCII码值。(2)输入一个整数,输出其最低位数字及最高位数字。(3)已知圆柱体横截面圆半径 r,圆柱高h。编写程序,计算圆周长l、圆面积s和圆柱体体积v,并输出计算结果。(4)输入两个复数,输出其和与差。三、实验指导1基本输出函数的用法。 运行所给出的源程序,对照结果分析各语句的作用。 将程序中的第二、第三个printf语句修改为如下形式,然后运行程序,察看结果。 printf(d=%-6.2f,e=%-

20、6.2fn,d,e); printf(f=%-15.6f,g=%-15.10fn,f,g); 将上述两个printf语句进一步修改为如下形式,然后运行程序, 察看结果。 printf(d=%-6.2fte=%-6.2fn,d,e); printf(f=%-15.6ftg=%-15.10fn,f,g); 将程序的第10-15行修改为如下语句:a=61;b=62;c1=a;c2=b;f=1234.56789;g=0.;d=f;e=g;p=a=m=50000;q=b=n=-60000;运行程序,并分析结果。 修改中的程序,不使用赋值语句,而用下面的scanf语句为a、b、c1、c2、d、e输入数据:

21、scanf(%d%d%c%c%f%f,&a,&b,&c1,&c2,&d,&e); 请按照程序中原来的数据,选用正确的数据输入格式,为上述变量提供数据。 使用如下数据输入格式,为什么得不到正确的结果? 输入数据:61 62 a b 5.67 -6.78 进一步修改中使用的程序,使f和g的值用scanf()函数输入。 进一步修改上面的程序,使其他所有变量的值都改用scanf()函数输入。 参考程序 数据输入格式Input(a,b,c1,c2,d):61 62ab5.67 -6.78 Input(f,g):1234. 0. Input(m,n,p,q):50000 -60000 32678 4000

22、0 修改中的程序,使c1、c2的数据用getchar()函数输入,用putchar()函数输出。 可按照如下方法修改程序:将程序中的“scanf(%d%d%c%c%f%f,&a,&b,&c1,&c2,&d,&e);”语 句用以下四个语句替换:scanf(%d%d% ,&a,&b);c1=getchar();c2=getchar();scanf(%f%f,&d,&e); 使用与相同的数据输入格式输入数据。 请分析:使用如下格式为a、b、c1、c2输入数据时会出现什么结果?运行程序验证所分析的结论。输入数据格式:61 62 a b 2基本输入输出函数的使用:(1)调试上述程序无语法错误后,用下面的

23、测试数据,对程序进行测试:a=123,b=456,c=17.6,d=71837.65,e=70000,f=,u=62000,v=58765,c1=a,c2=b分析运行结果。特别注意输入c1,c2的值是什么?为什么?(2)将输入e和f的语句改为:scanf(“%d,%d”,&e,&f);再用上述测试数据测试并分析结果。(3)将输入u、v的语句改为:scanf(“%d,%d”,&u,&v);再用上述测试数据测试并分析结果。(4)将输出e、f的语句改为:printf(“e=%17d,f=%17dn”,e,f);再用上述测试数据测试并分析结果。(5)将输出u、v的语句改为:printf(“u=%u,v

24、=%un”,u,v);或printf(“u=%d,v=%dn”,u,v);再用上述测试数据测试并分析结果。(6)scanf(“%c,%c”,&c1,&c2);语句之前加一个语句:getchar( );(7)请读者自己修改程序和改变数据输入的形式,分析各种情况下的输入与输出。四、实验要求:1、充分预习实验内容,写出实验所需程序,分析给出源程序的运行结果。2、实验中,记录各程序运行结果、出错信息及现象,并分析说明出错原因。3、实验中随时注意保存源程序,要指定适当的文件名,以备检查。4、对比各程序的分析结果与实际运行结果的差异,并分析原因。五、思考题:1在“基本输出函数的用法”内容中,e和g都是用“

25、t”进行格式控制,但为什么没有显示在同一列的位置上?2说明输入、输出字符型、整数、长整型、浮点型及双精度浮点型数据时分别应使用的格式字符?3简述格式化输出函数printf的格式化字符串中可使用的转义字符及其功能实验四 选择结构程序设计一、实验目的:1学会使用逻辑表达式描述问题中的条件。2掌握if语句三种形式及其用法。3掌握switch语句的格式及使用。4学会设计有实用价值的选择结构程序。二、实验内容:1、判断任意一年是否为闰年,输入年份,执行程序后输出是否为闰年。2、输入四个实数,输出其最大值与最小值。3、输入三个实数,按从小到大的顺序输出。4、输入x值(实数),输出对应的函数值。 -x2+x

26、-1 (x-10)y= 10 (-10x0)x+1(0x5)(5x) 5、由键盘输入一个字符,判断它是字母、数字还是空白(空格、换行、Tab键),并输出相应的提示信息。6、输入某学生的成绩,输出相应的信息:成绩在90100之间输出“Very good!”;在7089之间输出“Good!”;在6069之间输出“Pass!”;60分以下输出“No pass!”。要求:(1)用if语句编写程序;(2)用switch语句编写程序。7、编写一个能够进行加减法运算的程序,要求:从键盘任意输入两个实数,然后输入一个运算符,当运算符为“+”时对两个数进行加法运算,为“-”时对两个数进行减法运算,其他符号时,只

27、显示输入的符号不进行运算。8、已知某公司员工的保底薪水为500元,某月所接工程的利润profit(整数)与利润提成的关系如下(单位:元):profit1000没有提成1000profit2000提成10%2000profit5000提成15%5000profit10000提成20%10000profit提成25%从if语句、switch语句中任选一种编程:根据输入的profit值计算并输出员工的薪水(=保底薪水+提成)。9、编辑如下程序,并调试正确。程序功能:求分段函数的值并输出。 include “stdio.h”main( ) float x; scanf(“%d”,&x); if(x10

28、); if(x1) y= else y=sqrt(x-1) printf(“y=%fn,y); else printf(“undefined value!n”);三、实验要求:1、课前充分预习实验内容,准备好实验所需的程序。2、实验中随时注意保存源程序,要指定适当的文件名,以备检查。3、记录主要的调试过程、错误信息及运行结果。四、实验总结:1、if语句能否完全代替switch语句进行程序设计?2、在if 语句的嵌套结构中,如何确定else与if的匹配关系?实验五 循环结构程序设计一、实验目的:1熟练掌握while、do-while和for三种循环控制语句的特点及其编程应用。2掌握break、c

29、ontinue语句的功能及应用。3掌握二重循环结构程序的设计方法。4掌握循环结构程序的调试方法。二、实验内容:1、输入10个实数,输出其和、平均值及最大值。(分别用while、for语句编程实现)2、数据统计问题:从键盘输入一批任意数量的正整数,统计其中不大于100的数值个数。3、编写并调试程序,使用for循环控制语句实现上面的数据统计问题。4、输入一个正整数,判断并输出其是否为素数。5、输入一行字符,剔除如下字符后,再按原来的输入顺序输出。要剔除的字符为:K、a、h、5、#。6、从键盘输入一串字符(按回车结束),统计其中字母、数字及其它字符的个数并输出。7、输入一个正整数,输出其各位数字之和

30、。8、输出如下图案:#9、输入一个正整数n,求1!+2!+n!并输出。10、输入以下程序,并调试正确:程序功能:输入一串字符,将其中的大写字母转换成对应的小写字母并输出。如输入:ABCD987EF#$,则输出:abcdef#include “stdio.h”main( ) char ch; getchar( ); while(ch”n”); if(“A”ch”Z”) ch1=ch-32; printf(“%c” ch1); scanf(“%d”,&ch); 三、实验要求:1、课前充分预习实验内容,准备好实验所需的程序。2、实验中随时注意保存源程序,要指定适当的文件名,以备检查。3、记录主要的调

31、试过程、错误信息及运行结果。四、实验总结:1、C程序可以用几种方法实现循环结构?2、while (1) 代表什么意思?3、用for语句可以代替do while语句吗?实验六 数组(一)一、实验目的1了解数组的特点,掌握一维数组的定义、初始化及其使用方法。2掌握二维数组的定义、初始化及其使用方法。3掌握用数组解决实际问题的思路及方法。4掌握程序的调试方法。二、实验内容1最大值问题。为一维数组输入10个整数,输出其最大值及其在数组中的位置。2数据分类问题。向一维数组输入10个整数,并把所有的负数存储在数组的前部,其他数据存储在负数的后面,然后输出。3为一维数组输入一组整数,将其逆序存放并输出。4、

32、输入10个整数,将其按降序排列并输出(选择法、冒泡法择其一)。5、以下程序是将十进制数转换为二进制数,二进制数的最低位上的数字放在下标为0的元素中,其他依次类推。请填空,并输出当x=17时的结果。main( )int x,k=0,r; printf(“input x(10jinzhi):”); scanf(“%d”,&x); do r=x% ;bk+=r;x/= ;while(x);printf(“output b(2jinzhi):”);for(i=k-1;i=0;i-)printf(“%d”, );6、数组中数据查找。有15个数存放在一个数组中,输入一个数,要求找出该数是数组中第几个元素的

33、值。如果该数不在数组中,则输出“无此数”。这 15个数用赋初值的方法在程序中给出。要找的数用scanf函数输入。7、为一个4行5列的二维数组输入数据,求各行的最小值并输出。8、为一个4行4列的二维数组输入整数,分别输出值为奇数、偶数的元素之和。*9、利用二维数组求矩阵的和与积。三、实验要求:1、课前充分预习实验内容,准备好实验所需的程序。2、实验中随时注意保存源程序,要指定适当的文件名,以备检查。3、记录主要的调试过程、错误信息及运行结果。四、实验总结:1、数组中各元素的数据类型是否可以不同?2、数组元素引用时,其下标从多少开始使用?3、处理数组中的数据,适合使用哪种结构编程?4、通过本次实验

34、,你对一维、二维数组的使用有哪些新的认识和收获?还有哪些疑问?实验七 数组(二)一、实验目的1掌握一维、二维数组的特点及编程应用。2掌握字符数组的定义、赋值和输入输出的方法及常用的字符串操作函数。3掌握字符数组和字符串函数的使用。4掌握程序的动态调试方法。二、实验内容1奇偶数问题。设有一维整型数组共有20个元素,且偶数与奇数各占一半,将该数组变换为210的二维数组且偶数和奇数各成一行。2编辑运行以下程序,记录输出结果。并说明该程序实现的功能是什么?main()int i,j,row,col,m; int arr33=100,200,300,28,72,-30,-850,2,6; m=arr00

35、; for(i=0;i3;i+) for(j=0;j3;j+)if(arrijm) m=arrij; row=i; col=j; printf(“%d,%d,%dn”,m,row,col);3使用二维数组设计一个打印“杨辉三角形”的程序。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 14字符分类统计问题。输入一个长度小于80的字符串(包含空格),存放到一维数组中,并分别统计其中字母字符、数字字符、其它字符的个数。5以下程序的功能是:使一个字符串按逆序存放,请填空,并运行且记录其结果。main()char m,str30; int i,j; gets(st

36、r); /* 或scanf(“%s”,str);*/ for(i=0,j=strlen(str)-1;i ;i+,j-) m=stri; stri= ; strj=m; puts(str); /* 或printf(“%s”,str);*/6从键盘上输入两个字符串,不用库函数strcat()连接两个字符串,连接后的字符串放到另一个字符数组中,然后输出连接后的字符串。7输入一个字符串存放到一维字符数组中,再将其中各字符逆序存放并输出。8删除字符串中指定的字符后输出。如输入字符串:abcdefad,删除a字母后输出为:bcdefd。三、实验要求:1、课前充分预习实验内容,准备好实验所需的程序。2、实

37、验中随时注意保存源程序,要指定适当的文件名,以备检查。3、记录主要的调试过程、错误信息及运行结果。四、实验总结:1、二维数组与一维数组有什么关系?2、二维数组定义时什么情况下可以缺省第1维的长度(即行数可省)?3、C语言一般用什么符号作为字符串的结束标记?4、在C语言中字符串通过什么进行处理?5、通过本次实验,你对字符数组及字符串的使用有哪些新的认识和收获?还有哪些疑问?实验八 函数(一)一、实验目的1掌握自定义函数的一般结构及函数定义、函数声明、函数调用的一般方法。2掌握形参、实参、函数原型等重要概念,理解参数传递的过程。3掌握数组作为函数参数、函数的嵌套和递归在编程中的应用。4掌握程序的动

38、态调试方法。二、实验内容1求三角形面积函数。编写一个求任意三角形面积的函数,并在主函数中调用它,计算任意三角形的面积。2输入整数n值,求1!+2!+3!+n!。(1)阶乘求值用函数实现。(2)阶乘求值用递归函数实现。* * *3编写一个在一行中连续输出指定个数字符的函数,并在主函数中调用它输出如下图案:4分别编写求两个整数的最大公约数和最小公倍数的函数,并在主函数中调用它们(要求结果在主函数中输出)。5求素数函数。(1)编写一个判断素数的函数,当一个数为素数时,函数返回值为1,否则为0。(2)在主函数中从键盘任意输入10个整数,求所有的素数之和。对素数的判断要求调用上面的素数函数实现。6、写一

39、个判定素数的函数,在主函数输入一个整数,输出是否素数的信息。本程序应当准备以下测试数据:17、34、2、1、0。分别输入数据,运行程序并检查结果是否正确7、从键盘接受m和n的值,然后计算Cnm.。Cnm=m!/(n!*(m-n)!)。要求设计一函数能求阶乘X!,在主函数中多次调用该函数以达到求Cnm。8、上机调试下面的程序,记录系统给出的出错信息,指出出错原因,并调试正确。main() int,y; printf(“%dn”,sum(x+y); int sum(a,b) int a,b;return(a+b);三、实验要求:1、课前充分预习实验内容,准备好实验所需的程序。2、实验中随时注意保存

40、源程序,要指定适当的文件名,以备检查。3、记录主要的调试过程、错误信息及运行结果。四、实验总结:1、为什么要在编程时使用函数?有什么好处?2、函数的定义应注意什么?什么是嵌套定义、嵌套调用?是否可以嵌套定义?是否可以嵌套调用?3、函数是否可以没有返回值?4、何为嵌套定义?何为嵌套调用? 5、通过本次实验,你对函数的定义、声明和调用有哪些新的认识和收获?还有哪些疑问?实验九 函数(二)一、实验目的1掌握自定义函数的一般结构及定义、声明和调用函数方法。2理解掌握数组作函数参数的使用方法。3理解掌握变量的作用域和存储类型。 二、实验内容1计算|a3|。要求编写函数计算a3,再编写函数调用上述函数计算

41、绝对值,在主函数中输入a值,并输出结果。2编写函数fun1求n!,另一个fun2函数调用fun1并求1!+2!+m!。在主函数中输入一个整数,调用fun2求阶乘之和,并输出结果。3分别编写对一维数组中所有元素求平均值、最大值的函数,在主函数中调用它们(用数组名作参数)并输出结果。4设计一个通用的排序函数(能接受不同的排序数据、个数),要求在主函数中输入要排序的数据,输入数据以-999表示结束,然后调用排序函数执行排序功能,再在主函数中显示排序结果5编写一个函数,将字符串中的大写字母转换成对应的小字字母。在主函数中输入一个字符串,并调用上述函数进行处理,结果在主函数中输出。6编写函数求指定字符串

42、的长度,主函数中输入一个字符串,并调用前述函数,输出结果。7编写函数将主函数中的字符串逆序存放,结果在主函数中输出。8输入10个学生5门课的成绩,用二维数组作参数,分别用函数求:1)每个学生的平均分2)每门课程的平均分9输入以下程序,并进行调试,分析程序中各变量的作用域和存储类别:#include “stdio.h”int A=2;int B=2;main() int fact(); int n=2; int i; printf(“a(1)=%-5dt”,A); printf(“b(1)=%-5dt”,B); printf(“n(1)=%dn”,n); int n=100; int A=100; B=100; printf(“a(2)=%-5dt”,A); printf(“b(2)=%-5dt”,B); printf(“n(2)=%dn”,n);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com