实验讲义

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验八结构体与共用体

一、实验目的要求

1.掌握结构体类型变量的定义和使用;

2.掌握结构体类型数组的概念和应用;

3.掌握链表的概念,初步学会对链表进行操作;

4.掌握共用体的概念与使用;

二、实验内容

编程序,然后上机调试运行。

1.对候选人得票的统计程序。设有3个候选人,每次输入一个得票的候选人

的名字,要求最后输出各人得票结果。

2.编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数

据记录,每个记录包括num、name、score[3],用主函数输入这些记录,用print函数输出这些记录。

3.建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,

如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。(选作)

4.指向结构体变量的指针。

5.指向结构体数组的指针的应用。

三、思考题

耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3……,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒,请找出它原来的序号。

四、实验报告要求

1.程序清单

2.调试结果

3.实验小结

实验七指针(二)

一、实验目的要求

1.学会使用字符串的指针和指向字符串的指针变量;

2.学会使用指向函数的指针变量;

3.了解指向指针的指针的概念及其使用方法。

二、实验内容

编程序并上机调试运行程序(都要求用指针处理)

1.调用函数测字符串的长度。

2.在主函数中输入10个等长的字符串。用另一函数对它们排序。然后在主函数输出这10个已排好的字符串。(要求用指针数组处理)

3.写一个函数实现两个字符串的比较。

4.用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n和各整数在主函数中输出。(选作)

三、思考题

有一个字符串,包括n个字符。写一个函数,将此字符串从第m个字符开始的全部字符复制成另一个字符串。要求在主函数输入字符串及m值并输出复制结果。实验四、实验报告要求

1.程序清单

2.调试结果

3.实验小结

实验六指针(一)

一、实验目的要求

1.掌握指针的概念,会定义和使用指针变量;

2.学会使用数组的指针和指向数组的指针变量。

二、实验内容

编程序并上机调试运行程序(都要求用指针处理)

1.输入a和b两个实数,按先小后大的顺序输出a和b。

2.输入a和b两个实数,要求用函数实现a和b值互换。

3.将数组中n个整数排序。

4.写一函数,将一个3×3矩阵转置。

三、思考题

编写一个程序,输入两个包含5个元素的数组,先将两个数组升序排列,然后将这两个数组合并成一个升序数组。

四、实验报告要求

1.算法

2.程序清单

3.调试结果

4.实验小结

实验五 函数

一、实验目的要求

1.掌握定义函数的方法;

2.掌握函数实参与形参的对应关系,以及“值传递”的方式;

3.掌握函数的嵌套调用和递归调用的方法;

4.掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。

二、实验内容

编程序,然后上机调试运行。

1.求方程ax 2 +bx+c=0的根,用3个函数分别求当b 2 -4ac 大于零,等于零和小于零时的根,并输出结果,从主函数输入a,b,c 的值。

2.编写一个函数,使给定的一个二维数组(3×3)转置。

3.用递归方法求n!,递归公式为 1

)1(1,01{!>-==n n n n n 用一个函数fac 来描述该递归过程,用一个主函数调用fac 函数求n!。

三、思考题

写一个函数,输入一个十六进制数,输出相应的十进制数。

四、实验报告要求

1.算法

2.程序清单

3.调试结果

4.实验小结

实验四数组

一、实验目的要求

1.掌握一维数组和二维数组的定义、赋值和输入输出的方法;

2.掌握字符数组和字符串函数的使用;

3.掌握与数组有关的算法(特别是排序算法)。

二、实验内容

编程序,然后上机调试运行。

1.用筛选法求100之内的素数。

2.用选择法对10个整数排序。

3.打印出以下的杨辉三焦形(要求打印出10行)

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

::::::

4.有一行电文,已按下面规律译成密码:

A→Z a→z

B→Y b→y

C→X c→x

: :

即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编程序将密码译回原文,并打印出密码和原

文。

三、思考题

随机产生20个[10,50]的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和。

四、实验报告要求

1.算法

2.程序清单

3.调试结果

4.实验小结

实验三 循环控制

一、实验目的要求

1.熟悉用while 语句,d o -while 语句和for 语句实现循环的方法。

2.掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。

3.了解使用break,continue 的差别。

二、实验内容

1.分别用语句语句语句

while do while goto if ......{计算∑=50

1n n 。 2.求S n =a+aa+aaa+…+a aa a

n ...个之值,其中a 是一个数字。例如:2+22+222+2222+22222(此时n=5),n 由键盘输入。

010

3.输出指定图象 01110

0111110

011111110

4.求100~200之间不能被7整除的数。

三、思考题

编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。

四、实验报告要求

1.算法

2.程序清单

3.调试结果

4.实验小结

相关文档
最新文档