高级语言程序设计基础实验教案

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

高级语言程序设计
基础实验
主讲教师:张顺利
2013年10月
实验一 简单的C 语言程序
实验目的
1.熟悉VC++开发环境,掌握C 语言程序的开发过程。

2.掌握C 程序的基本格式与规范,学会编写简单的C 程序。

3.掌握利用getchar( )、putchar( )、printf( )和scanf( )等函数进行输入输出。

实验内容
1.输入三角形的三边长,求三角形的面积。

()/2s a b c =++。

2.将China 译成密码,密码规律是:用原来的字母后面第4个字母代替原来的
字母。

例如,字母A 后面第四个字母是E ,用E 代替A 。

编写程序,输入China ,对应输出为Glmre 。

提示:输入输出用getchar( )和putchar( )。

3.当n 为152时,分别求出n 的个位数字、十位数字和百位数字。

4.求方程20ax bx c ++=的根。

a 、b 、c 由键盘输入,设240b ac ->。

5.从键盘输入一个大写字母,要求改用小写字母输出。

6.求华氏温度100°F 对应的摄氏温度。

计算公式如下,其中:c 表示摄氏温度,f 表示华氏温度。

9(32)5
f c ⨯-=
7.当x=3pow(double x, double y)。

8.输入圆柱体的底面圆半径和高,输出圆柱体的表面积和体积,取小数点后2位数字。

实验二 表达式和语句
实验目的
1.掌握运算符及表达式的使用。

2.掌握选择语句的使用。

3.掌握循环语句的使用。

实验内容
1.计算级数23
n n 1x x x 1x (1)2!3!n!
++-+-+- ,最后一项的绝对值小于10-8为止。

2.一个数如果恰好等于它的因子之和,则称该数为“完数”。

如:6的因子为1、
2、3,而6=1+2+3,则6是个“完数”。

编程求出1000之内的所有完数。

3.有数列:2/1,3/2,5/3,8/5, 13/8, 21/13,…., 求出数列的前20项和。

4.给定一个在整数m ,判断其是否为素数。

5.从键盘上输入10个整数,若是正整数则求和,若是负整数则不进行计算,继续输入数据,若输入0则终止程序。

6.用公式求π的近似值,直到最后一项的绝对值小于10-8为止。

11114357
π≈-+-+ 。

7. 输出1~200之间不能被3整除的数,要求每行输出10个数。

8.编程求1!+2!+3!+4!+….+15!。

9.编程求100到999之间全部的水仙花数。

所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。

如:153=1*1*1+5*5*5+3*3*3,153就是一个水仙花数。

10.给一个百分制成绩,要求输出成绩等级’A ’、’B ’、’C ’、’D ’、’E ’。

90分以上为’A ’,80~89分为’B ’, 70~79为’ C ’, 60~69为’ D ’,60分以下为’E ’。

11.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

12.输入一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字。

13.若口袋中放有12个球,其中3红,3白和6黑,问从中任取8个共有多少种不同的取法?
14.编程实现一个简单的运算器(保留两位小数点),如果由键盘输入10+50,计算机可以输出结果60.00;如果输入8*6,计算机输出48.00;如果输入20/4,计算机输出5.00;如果输入8-6,计算机输出2.00。

15.打印杨辉三角形
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
….. ….. ….. ….. ….. …..当n =5时
实验目的
1.掌握函数的定义和函数值返回的方法;2.掌握函数的调用方法以及参数的传递方式;3.掌握递归函数的定义及使用。

实验内容
1.编写一函数,用来实现e x的计算。

234
1
2!3!4!!
n
x
x x x x
e x
n =+++++ 。

2.编写函数求s=a+aa+aaa+aaaa+aa….a,其中a是一个数字。

3.编程输出斐波那契数列的前n项。

如1,1,2,3,5,8,13,21,34………4.编写两个函数,输入两个正整数m和n,分别求其最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。

5.编写一函数,输入年份,判断是否为闰年,若是返回1,否则返回0。

6.编写递归调用函数,实现由键盘输入一个正整数(不大于100000000),输出其对应的二进制数(原码表示)。

7.编写一函数,给出年、月、日,计算该日是该年的第几天。

实验目的
1.掌握一维数组和二维数组的定义、数组元素的引用、初始化和输入输出方法;2.掌握字符数组和字符串处理函数的使用;
3.掌握与数组有关的算法(特别是排序算法)。

实验内容
1.从键盘上任意输入n个整数,用冒泡法按从小到大的排序,并在屏幕上显示出来。

2.某班有5个学生,三门课。

分别编写3个函数实现以下要求:
(1)求各门课的平均分;
(2)找出有两门以上不及格的学生,并输出其学号和不及格课程的成绩;(3)找出三门课平均成绩在85-90分的学生,并输出其学号和姓名。

主程序输入5个学生的成绩,然后调用上述函数输出结果。

3.编程序找出一个5 × 4 矩阵的鞍点。

鞍点即矩阵中的某个元素符合如下条件:在其所在行最大,同时在其所在列是最小,当然一个矩阵可能也没有鞍点。

4.输入5个国家的名称,按字母顺序排列输出。

5.编程实现矩阵(4行4列)的转置。

6.写一通用函数my_strlen(),用来求字符串的长度。

7.编程序,将两个字符串连接起来,不要用strcat函数。

8.由键盘输入两个位数很长的整数(一行一个数,每个数最长不超过80位),试计算并输出这两个数的和。

例如:输入
1234567890123456789↙
987654321098765↙
输出
1235555544444555554
实验目的
1.掌握指针的概念、定义和运算;
2.掌握用指针访问变量的方法;
3.掌握用指针访问数组的方法;
4.掌握用指针访问字符串的方法;
5.掌握用指针作为函数参数的使用方法。

实验内容
1.编写一个函数swap,用来实现交换两个内存变量a和b的值。

要求用指针变量编写程序。

2.将数组中的数进行排序,要求用指针变量编写程序。

3.编写一函数sort,完成对n个字符串的降序排序,然后在main函数中调用sort 对“beijing”,“shenzhen”,“nanjing”,“dalian”,“shanghai”和“qingdao”这六个字符串排序,要求用指针数组表示这六个字符串。

4.编写函数实现矩阵(4行4列)的转置。

要求函数的实参为数组名,形参为指针形式。

5.写一通用函数用来实现strcmp()的功能。

6.编写程序用来实现任意函数的定积分计算。

实验六结构体
实验目的
1.掌握结构体类型的定义、结构体变量的初始化及成员的引用;
2.掌握运算符“.”和“->”的应用。

3.掌握链表的常用操作,包括创建、显示、添加等。

实验内容
1.有5个学生,每个学生的数据信息包括学号、姓名、3门课的成绩,从键盘输入5个学生的信息,要求输出3门课程的总的平均成绩,以及最高分的学生的信息。

2.建立一个链表,每个节点包括:学号、姓名、性别、年龄。

编写一个insert 函数,功能是插入新结点,按学号顺序插入链表。

编写一个delete函数,功能是删除一个结点,输入一个学号,删除该学号所对应的学生的信息。

3.有结构体类型定义,
struct student
{ long num; /*学号*/
int score; /*成绩*/
struct student *next; /*指针*/
};
编写程序,首先创建一个链表,然后实现链表节点的插入、链表的倒序、链表的合并以及将链表中各结点按学号由小到大进行排序等操作。

4.建立一个链表,每个结点包括:学号、姓名、性别、年龄,输入一个学号,如果链表中的结点包括该学号,则输出该结点内容后,并将其结点删去。

实验七文件
实验目的
1.掌握文件和文件指针的概念以及文件指针的定义方法;
2.掌握文件的打开与关闭。

3.熟悉使用各种文件操作函数对文件进行操作。

实验内容
1.有5个学生,每个学生有3门课程的成绩,从键盘输入学生数据(包括学号、姓名、3门课程成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。

2.在当前目录中存在文件名为"data1.in"的文本文件,要求使用fopen 函数命令打开该文件,读出里面的所有字符,遇到大写字母的,将其变为小写字母,其它字符不变,最后将所有字符按顺序在屏幕上输出。

3.从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。

输入的字符串以“!”结束。

4.有一磁盘文件“employee”,内存放职工的数据。

每个职工的数据包括职工姓名、职工号、姓名、年龄、住址、工资、文化程度。

今要求将职工名、工资的信息单独抽出来另建一个简明的职工工资文件。

相关文档
最新文档