C语言程序设计II实验指导书.docx

上传人:1513****116 文档编号:94997354 上传时间:2023-08-13 格式:DOCX 页数:18 大小:270.89KB
返回 下载 相关 举报
C语言程序设计II实验指导书.docx_第1页
第1页 / 共18页
C语言程序设计II实验指导书.docx_第2页
第2页 / 共18页
点击查看更多>>
资源描述

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

1、课程试验指导书其次局部 试验内容试验一:数组定义、初始化和引用运算一、试验目的1、把握一维数组的定义和引用2、把握一维数组的初始化方法3、了解与一维数组有关的应用编程方法二、试验意义在解决实际问题或实现某些算法时,数组是常常使用的构造数据类型,把握数组的定义,元素引用特征和数组的编程特色,可加强学生解决实际问题的力气, 同时可接触到更多的经典算法,这些算法很多都是通过数组类型存储数据并实现的,有了这些根底后,学生可以在今后的编程中应用这些学问。数组的试验能让学生进一步的提高程序设计编程和调试的力气,对于数组元素引用及循环把握的特点,也可以在试验中得以加深理解和稳固学问。三、试验重点1 一维数组

2、的定义、元素的引用。2 一维数组编程的循环把握特色。3 排序等相关算法的实现。四、试验难点一维数组编程的循环把握特色,程序调试时的数组越界问题排序算法的理解和记忆五、试验方式提前编写程序,写好试验报告,上机试验时一边调试程序一边将试验报告上关于程序调试和运行结果的信息填写到试验报告上,试验完成时上交试验报告。六、试验内容1. 运行下面的程序。依据运行结果,可以说明什么?main( )int i,x5=1,2,3,4,5;for (i=0;i=5;i+)printf(“%4d“,xi);2、编程:输入一个长度为 10 的一维数组,然后将其向右循环移动一位后输出。如:输入的一维数组啊10为:0 1

3、 2 3 4 5 6 7 8 9 10则向右循环移动一位后,数组 a10变为:10 0 1 2 3 4 5 6 7 8 9 3、从键盘输入 10 个整数,找出最大的数并输出该数及其下标。4、用scanf 函数给二维数组 a34输入 12 个数据,并求出每一行的正数之和,每一行的最小值以及下标值。5、编一程序,将两个字符串连接起来,分别有strcat 函数和不要用 strcat 函数两种方法实现。提示:字符串输入输出可用 scanf、printf 函数或者 gets、puts 函数七、试验总结和试验报告的撰写1、以为数组的定义和一维数组初始化的方法。2、一维数组相关算法设计。试验二:字符串处理和

4、数组常用算法试验一、试验目的1 把握二维数组的定义、元素引用、编程方法。2 把握字符数组的定义、元素引用、编程方法。3 把握字符串常用程序设计方法。二、试验意义在解决实际问题或实现某些算法时,数组是常常使用的构造数据类型,把握数组的定义,元素引用特征和数组的编程特色,可加强学生解决实际问题的力气。在数组的使用中,字符数组及相关字符串操作是常常使用的操作。增加字符数组的编程练习,提高相关程序设计阅历对于提高学生的程序设计和调试的力气具有很重要的作用。三、试验重点1 二维数组的定义、元素引用、使用方法。2 字符数组的定义、元素引用、使用方法。3 二维数组编程时的程序设计方法4 字符串的操作及常用程

5、序设计方法。四、试验难点二维数组的相关算法字符串操作的循环把握方法。五、试验方式提前编写程序,写好试验报告,上机试验时一边调试程序一边将试验报告上关于程序调试和运行结果的信息填写到试验报告上,试验完成时上交试验报告。六、试验内容1、编程:随机输入一个长度为20 的一维数组 a20,对数组a 的前 10 个元素用选择法从小到大排序,后 10 个元素用冒泡法从大到小排序,最终用数组 a 的前 10 个元素分别减去后 10 个元素,得到的结果存放在长度为10 的一位数组 b10中;程序要求把排序前和排序后的数组 a 和数组 b 输出。2、把第一题的数组 b 的最大和最小删除,然后插入最大值和最小的平

6、均值, 要求插入后不转变数组的排序。3、找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。至少预备两组测试数据:二维数组有鞍点9802054090-60961210-310189二维数组没有鞍点9802054090-60961210-31018945541567用 scanf 函数从键盘输入数组的各元素的值,检查结果是否正确,题目未指定二维数组的行数和列数,程序应能处理任意行数和列数的数组。程序提示: 输入矩阵flag2=0;/矩阵中无鞍点for(i=0;in;i+)/找第 i 行的鞍点max=ai0;maxj=0;用 for 循环语句找第 i 行的最大值

7、存放在 max 中,其下标 j 保存到 maxj中for(k=0,flag1=1;kakmaxj) flag1=0;/max 不是该列的最小元素if(flag1)printf(“n 第%d 行第%d 列的%d 是鞍点n“,i+,maxj+,max); flag2=1;/endforiif(!flag2) printf(“n 矩阵中无鞍点n“);4、 输入一行字符,统计其中的单词个数,单词之间用空格分隔开。5、从键盘输入一个字符串,分别输出其完全大写和完全小写的形式。6、输入 6 个字符串,输出最大的字符串。七、试验总结和试验报告的撰写试验三:函数的申明、定义和简洁函数的应用一、试验目的1、把握

8、模块化编程方法中自定义函数和主调函数的模块关系。2、函数的申明格式和申明的位置3 函数的定义格式4 函数的调用二、试验意义承受模块化程序设计的方法,是解决简洁问题的根底。将一个简洁的较大的问题,分解为一个个独立的简洁模块。模块在 C 语言中是用函数来实现的,因此把握好函数的定义、调用,及了解函数模块之间的连接关系对于开发大型工程具有格外重要的意义,函数的试验对于稳固和理解函数的学问是格外必要的。三、试验重点把握函数的申明和定义的格式,自定义函数和主函数与系统函数的区分,自定义函数的的调用的格式,以及各函数执行的挨次。四、试验难点函数的申明和定义以及函数的调用五、试验方式提前编写程序,写好试验报

9、告,上机试验时一边调试程序一边将试验报告上关于程序调试和运行结果的信息填写到试验报告上,试验完成时上交试验报告。六、试验内容1、编写一个函数,输出语句:“I Love China!”。2、调试下面的程序,记录系统给出的出错信息,并指出错误缘由。main( )int x,y; printf(“%dn“,sum(x+y);int sum(a,b);int a,b; return(a+b);3、编写两个函数分别实现:sum 实现 1 到 m 的累加,mul 实现 1 到 n 累乘; 在主函数 main 里调用 sum 和 mul 函数求 1 到 30 累加和 1 到 15 累乘,最终把累加和累乘结果

10、输出。4、编写一个函数prime 实现:推断任何一个数是否为素数;并在main 函数里调用 prime 函数推断一个数是否为素数。5、编写函数,推断指定的字符是否是数字字符,假设是返回 1,不是则返回 0。在主函数中输入该字符,调用函数推断该字符并输出是否是数字字符。6、编写一个函数,计算一个整数m 的 n 次幂,在主函数中输入m 和 n,并在主函数中输出计算结果。7、编写一个函数,输出如以以下图形* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

11、 *七、试验总结和试验报告的撰写试验四:有参、无参函数应用试验一、 试验目的1、把握定义无参函数和有参函数的定义及调用方法。2、把握函数调用时如何处理函数的返回值。二、试验意义在模块化程序设计中通常有值的传递,也就是在调用函数的时候,主调用函数在调用被调用函数的时,通过参数向被调用的函数传递数据,一般状况下,执行被调用函数时会得到一个函数值,共主调用函数使用,这叫有参函数;而在有时在调用函数时,主调用函数不想被调用函数传递传递数据,也就是无参函数, 无参函数一般用来执行指定的一组操作,无参函数可以带回或者不带回函数值, 但一般以不带回函数值的居多。三、试验重点1 无参函数的定义和调用2 有参无

12、返回值函数的定义和调用3 对于有返回值函数调用时的处理方法四、试验难点有参函数调用时,实参和形参的概念理解和对应关系。有返回值函数调用时返回值的处理五、试验方式提前编写程序,写好试验报告,上机试验时一边调试程序一边将试验报告上关于程序调试和运行结果的信息填写到试验报告上,试验完成时上交试验报告。六、试验内容1、理解下面的程序,填空完善程序。mainint a, b, c;scanf(“%d %d”,); c=(a, b);printf(“a=%d b=%d max=%dn”, a, b, c);int max(x, y);int z;if(xy) z=x; else z=y;2、编写一个函数:

13、其功能是求 n 个学生的平均分,并且把把学生的成绩从小到大排序。学生的成绩在主函数里用 scanf 函数输入存放在一维数组里。3、编写一个函数 trans:其功能是实现一个三行四列二维数组转置,并求转置后第一行和最终一列之和;把转置后的数组和第一行、最终一列元素之和输出。三行四列的数组在 main 函数里用 scanf 函数输入。4、求 1!+2!+n!,要求:编写两个函数,分别实现求 n!功能,和 1!+2!+n! 功能,在主函数输入 n 值,并在主函数中输出计算结果。三、试验要求试验之前把握挨次把握程序设计的相关算法。四、课堂作业提交把所编写的程序复制到一个以学号命名 Word 文件里,并

14、且把运行结果截图粘贴在每程序的后面;下课前提交 Word 文件。五、试验总结和试验报告的撰写试验五:函数的常用算法和综合应用一、 试验目的1、把握函数的相关的算法的实现2、把握函数的嵌套调用和递归调用3、内部函数和外部函数的定义和区分4、把握全局变量和局部变量,动态变量、静态变量的概念和使用方法。5、学会对多文件程序的编译和运行。二、试验意义一个 C 程序由一个或多个程序模块组成每一个程序模块作为一个源程序文件,对较大的程序,一般不期望把全部内容全放在一个文件中,而是将它们分别放在假设干个源文件中,由假设干个源文件组成一个 C 程序。这样便于分别编写和编译,提高效率;每个文件又有假设干和函数,

15、每个函数都实现某个特定的功能,也有相应算法。三、试验重点1、函数的的嵌套调用和递归调用2、函数的相关算法的实现四、试验难点1、函数的的嵌套调用和递归调用2、函数的相关算法的实现五、试验方式提前编写程序,写好试验报告,上机试验时一边调试程序一边将试验报告上关于程序调试和运行结果的信息填写到试验报告上,试验完成时上交试验报告。六、试验内容1、函数 fun 的功能是:使一个字符串按逆序存放,请填空。void fun(char str )char m; int i, j;for(i=0, j=strlen(str); i; i+, j-)m=stri;stri=;strj-1=m;printf(“%s

16、n”, str);2、指出以下各变量的存储属性,分析程序的应得结果,并上机验证。#include int n=1;void func( )static int a=2; int b=5;a+=2; b+=5; n+=12;printf(“a=%d,b=%d,n=%dn“,a,b,n);void main( )int a=0,b= -10; printf(“a=%d,b=%d,n=%dn“,a,b,n); func( ); printf(“a=%d,b=%d,n=%dn“,a,b,n); func( );3、写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用者两个函数,并输出结果。

17、两个整数有键盘输入。4、有一个班,有 4 个学生,5 门课。求各门课的平均分;找出有两门以上课程不及格的学生,输出它们的学号和全部课程成绩及平均成绩。找出平均成绩在 90 分以上或全部课程成绩在 85 分以上的学生,输出它们的学号和全部课程成绩。分别编三个函数实现以上三个要求。五、试验总结和试验报告的撰写试验六:指针变量定义、赋值与指针和数组的应用一、 试验目的1、把握 C 语言中指针的概念,定义和使用指针变量;2、把握指针数组和数组指针的使用方法;3、把握字符串指针和指向字符串的指针变量的使用方法;4、把握指向函数的指针变量的使用方法;5、把握指向指针的指针概念的使用方法;二、试验意义指针是

18、 C 语言的一个重要概念,也是 C 语言的一个重要特色,正确而灵敏地运用它,可以使程序简洁,紧凑,高效。每一个学习C 语言的人,都应当深入地学习和把握指针,可以说,不把握指针就是没有把握 C 语言的精华。三、试验重点1、指针变量的定义和指针的含义2、把握指针数组和数组指针的使用方法;3、把握字符串指针和指向字符串的指针变量的使用方法;4、把握指向函数的指针变量的使用方法;5、把握指向指针的指针概念的使用方法;四、试验难点1、把握指针数组和数组指针的使用方法;2、把握字符串指针和指向字符串的指针变量的使用方法;3、把握指向函数的指针变量的使用方法;4、把握指向指针的指针概念的使用方法;五、试验方

19、式提前编写程序,写好试验报告,上机试验时一边调试程序一边将试验报告上关于程序调试和运行结果的信息填写到试验报告上,试验完成时上交试验报告。六、试验内容1、1、调试下面的程序,指出错误的缘由。main( )int x=10,y=5,*px,*py; px=py;px=&x;py=&y; printf(“*px=%d,*py=%dn“,*px,*py);2、定义一个数组,用指针去访问每个元素,进展输入与输出。3、 有一段文字,共有 5 行,分别统计出其中英文大写字母、小写字母、数字、空格以及其它字符的个数。4、 编写一个程序,将字符数组 str2 中的全部字符拷贝到字符数组 str1 中。不要使用

20、 strcpy 函数。七、试验总结和试验报告的撰写试验七:指针和函数的应用试验一、试验目的1 理解指针的含义2 把握指针作为函数参数的意义,及实参的表达形式。3 了解返回指针值的函数。二、试验意义指针是 C 语言特别的数据类型,通过指针可以实现对变量的内存地址空间进展访问,因此能够实现其它开发语言不具备的特别功能。函数间进展数据传递时, 由于函数本身只能返回一个值给调用函数,当需要返回多个处理结果时,就必需要使用指针参数。正确的理解指针的含义,使用指针参数在主调函数与被调函数传递数据,能够极大的拓展程序的功能,进一步的提高程序设计的力气。三、试验重点1 指针变量的含义及定义、使用。2 指针作为

21、函数参数的使用。3 指针参数的函数调用时实参形式要求。4 返回指针值的函数调用。四、试验难点指针参数的定义及调用时实参的形式。正确理解指针传递数据的过程。五、试验方式提前编写程序,写好试验报告,上机试验时一边调试程序一边将试验报告上关于程序调试和运行结果的信息填写到试验报告上,试验完成时上交试验报告。六、试验内容1、下面的程序通过函数 average 计算数组中各元素的平均值,请填空。float average(int *pa,int n)int i;float avg=0.0; for(i=0;in;i+) avg=avg+;avg=;return avg;mainint i,a5=2,4,

22、6,8,10;float mean; mean=average(a,5); printf(“mean=%fn”,mean);2、编写函数,以指针为参数,从 N 行 N 列的矩阵找出各行的最大数,再求着 N个最大值中最小的的那个数作为函数值返回。3、写一个函数,求一个字符串的长度。在main 函数中输入字符串,并输出其长度。五、试验总结和试验报告的撰写试验八:构造体和共用体的定义赋值和应用一、试验目的1 把握构造体类型的定义、变量定义、使用方法。2 把握构造体编程的特色。3 把握构造体数组的使用。4 把握构造体指针的使用5 把握构造体作为函数参数的编程二、试验意义在解决实际问题时,常需要构造具有

23、现实意义的简洁数据类型构造体类型。构造体类型学问与前面所学的循环、数组、函数等学问结合使用,使编程者具备了比较全面的编程素养,因而能够开发一些具有实际意义的工程。学好本章学问,可将程序设计从算法实现上拓展到现实应用中,同时本章学问也是综合编程力气的一个表现。三、试验重点1 构造体类型的定义、构造体变量定义、构造体变量的使用。2 构造体数组的使用。3 构造体指针4 构造体类型作为函数参数四、试验难点构造体数组使用构造体指针访问构造体数组 构造体作为函数参数的函数编程。五、试验方式提前编写程序,写好试验报告,上机试验时一边调试程序一边将试验报告上关于程序调试和运行结果的信息填写到试验报告上,试验完

24、成时上交试验报告。六、试验内容1. 编写和调试以下题目的程序:定义构造体变量,任意给定一天,求该日是本年中的第几天;2. 编写和调试以下题目的程序:定义构造体的学生成绩数组,其中包括学号、姓名、分数等,输入和输出学生的各门成绩。3、编写一个函数 print,打印一个学生的成绩数组,该数组中有 5 个学生的数据记录,每个记录包括num,name,score3,用主函数输入这些记录,用 print 函数输出这些记录。4、在第三题的根底上,编写一个函数 input,用来输入 5 个学生的数据记录。5. 编写和调试以下题目的程序:建立一个链表,每个结点包括学号、姓名、性别、年龄。输入一个年龄,删除链表中该年龄的结点。七、试验总结和试验报告的撰写

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

当前位置:首页 > 教育专区 > 高考资料

本站为文档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