《C语言程序设计基础实验教案.doc》由会员分享,可在线阅读,更多相关《C语言程序设计基础实验教案.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 高级语言程序设计 基础实验 主讲教师:张顺利 2011年10月实验一 简单的C语言程序实验目的1熟悉VC+开发环境,掌握C语言程序的开发过程。2掌握C程序的基本格式与规范,学会编写简单的C程序。3掌握利用getchar( )、putchar( )、printf( )和scanf( )等函数进行输入输出。实验内容1输入三角形的三边长,求三角形的面积。提示:面积公式为,其中。2将China译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母A后面第四个字母是E,用E代替A。编写程序,输入China,对应输出为Glmre。提示:输入输出用getchar( )和putchar(
2、 )。3当n为152时,分别求出n的个位数字、十位数字和百位数字。4求方程的根。、由键盘输入,设。5从键盘输入一个大写字母,要求改用小写字母输出。6求华氏温度100F对应的摄氏温度。计算公式如下,其中:表示摄氏温度,表示华氏温度。7当x=3时,计算的值。提示:pow(double x, double y)。8输入圆柱体的底面圆半径和高,输出圆柱体的表面积和体积,取小数点后2位数字。实验二 表达式和语句实验目的1掌握运算符及表达式的使用。2掌握选择语句的使用。3掌握循环语句的使用。实验内容1计算级数,最后一项的绝对值小于10-8为止。2一个数如果恰好等于它的因子之和,则称该数为“完数”。如:6的
3、因子为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为止。7 输出1200之间不能被3整除的数,要求每行输出10个数。8编程求1!+2!+3!+4!+.+15!。9编程求100到999之间全部的水仙花数。所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。如:153=1*1
4、*1+5*5*5+3*3*3,153就是一个水仙花数。10给一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,8089分为B, 7079为 C, 6069为 D,60分以下为E。11输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。12输入一个不多于5位的正整数,要求:求出它是几位数;分别打印出每一位数字;按逆序打印出各位数字。13若口袋中放有12个球,其中3红,3白和6黑,问从中任取8个共有多少种不同的取法?14编程实现一个简单的运算器(保留两位小数点),如果由键盘输入10+50,计算机可以输出结果60.00;如果输入86,计算机输出48.00;如果输入20
5、/4,计算机输出5.00;如果输入8-6,计算机输出2.00。15打印杨辉三角形11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1 . . . . . . 当n =5时实验三 函数实验目的1掌握函数的定义和函数值返回的方法;2掌握函数的调用方法以及参数的传递方式;3掌握递归函数的定义及使用。实验内容1编写一函数,用来实现ex的计算。2编写函数求s=a+aa+aaa+aaaa+aa.a,其中a是一个数字。 3编程输出斐波那契数列的前n项。如1,1,2,3,5,8,13,21,34 4编写两个函数,输入两个正整数m和n,分别求其最大公约数和最小公倍数,用主函数调用这两个函
6、数,并输出结果。5编写一函数,输入年份,判断是否为闰年,若是返回1,否则返回0。6编写递归调用函数,实现由键盘输入一个正整数(不大于),输出其对应的二进制数(原码表示)。7编写一函数,给出年、月、日,计算该日是该年的第几天。实验四 数 组实验目的1掌握一维数组和二维数组的定义、数组元素的引用、初始化和输入输出方法; 2掌握字符数组和字符串处理函数的使用;3掌握与数组有关的算法(特别是排序算法)。实验内容1从键盘上任意输入n个整数,用冒泡法按从小到大的排序,并在屏幕上显示出来。2某班有5个学生,三门课。分别编写3个函数实现以下要求: (1) 求各门课的平均分; (2) 找出有两门以上不及格的学生
7、,并输出其学号和不及格课程的成绩; (3) 找出三门课平均成绩在85-90分的学生,并输出其学号和姓名。主程序输入5个学生的成绩,然后调用上述函数输出结果。3编程序找出一个 5 4 矩阵的鞍点。鞍点即矩阵中的某个元素符合如下条件:在其所在行最大,同时在其所在列是最小,当然一个矩阵可能也没有鞍点。4输入5个国家的名称,按字母顺序排列输出。5编程实现矩阵(4行4列)的转置。6写一通用函数my_strlen(),用来求字符串的长度。7编程序,将两个字符串连接起来,不要用strcat函数。8由键盘输入两个位数很长的整数(一行一个数,每个数最长不超过80位),试计算并输出这两个数的和。例如:输入8765
8、输出实验五 指 针实验目的1掌握指针的概念、定义和运算; 2掌握用指针访问变量的方法;3掌握用指针访问数组的方法;4掌握用指针访问字符串的方法;5掌握用指针作为函数参数的使用方法。实验内容1编写一个函数swap,用来实现交换两个内存变量a和b的值。要求用指针变量编写程序。2将数组中的数进行排序,要求用指针变量编写程序。3编写一函数sort,完成对n个字符串的降序排序,然后在main函数中调用sort对“beijing”,“shenzhen”,“nanjing”,“dalian”,“shanghai”和“qingdao”这六个字符串排序,要求用指针数组表示这六个字符串。4编写函数实现矩阵(4行4
9、列)的转置。要求函数的实参为数组名,形参为指针形式。5写一通用函数用来实现strcmp()的功能。6编写程序用来实现任意函数的定积分计算。实验六 结构体实验目的1掌握结构体类型的定义、结构体变量的初始化及成员的引用; 2掌握运算符“.”和“-”的应用。3掌握链表的常用操作,包括创建、显示、添加等。 实验内容1有5个学生,每个学生的数据信息包括学号、姓名、3门课的成绩,从键盘输入5个学生的信息,要求输出3门课程的总的平均成绩,以及最高分的学生的信息。2建立一个链表,每个节点包括:学号、姓名、性别、年龄。编写一个insert函数,功能是插入新结点,按学号顺序插入链表。编写一个delete函数,功能
10、是删除一个结点,输入一个学号,删除该学号所对应的学生的信息。3有结构体类型定义,struct student long num; /*学号*/int score; /*成绩*/struct student *next; /*指针*/;编写程序,首先创建一个链表,然后实现链表节点的插入、链表的倒序、链表的合并以及将链表中各结点按学号由小到大进行排序等操作。4建立一个链表,每个结点包括:学号、姓名、性别、年龄,输入一个学号,如果链表中的结点包括该学号,则输出该结点内容后,并将其结点删去。实验七 文 件实验目的 1掌握文件和文件指针的概念以及文件指针的定义方法; 2掌握文件的打开与关闭。3熟悉使用各
11、种文件操作函数对文件进行操作。 实验内容1有5个学生,每个学生有3门课程的成绩,从键盘输入学生数据(包括学号、姓名、3门课程成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。2 在当前目录中存在文件名为data1.in的文本文件,要求使用fopen 函数命令打开该文件,读出里面的所有字符,遇到大写字母的,将其变为小写字母,其它字符不变,最后将所有字符按顺序在屏幕上输出。3从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以“!”结束。4有一磁盘文件“employee”,内存放职工的数据。每个职工的数据包括职工姓名、职工号、姓名、年龄、住址、工资、文化程度。今要求将职工名、工资的信息单独抽出来另建一个简明的职工工资文件。