程序设计语言C实验指导书_第1页
程序设计语言C实验指导书_第2页
程序设计语言C实验指导书_第3页
程序设计语言C实验指导书_第4页
程序设计语言C实验指导书_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序设计语言C实验指导书适用专业:计算机科学与技术 软件工程上海应用技术学院2008-1-20目录实验一 顺序结构程序设计1实验二 分支结构程序设计2实验三 循环结构程序设计一3实验四(1) 循环结构程序设计二4实验四(2) 循环结构程序设计三5实验五 数组6实验六 数组和字符串7实验七 函数8实验八 函数9实验九 指针10实验十 结构体11实验十一 文件12实验十二 综合13实验一 顺序结构程序设计实验目的:1. 掌握C语言程序结构。2. 掌握变量的定义和使用。3. 掌握输入输出函数的使用。4. 掌握赋值语句的使用。内容:1. 从键盘输入两个数,计算两个数的和,然后输出。A123B456SU

2、M=A+B=123+456=579注意:带下划线的内容表示是从键盘输入的,实际上机时并不显示下划线,其余的内容是程序输出的。2. 从键盘输入一个华氏温度,请转换成摄氏温度后输出。请输入一个华氏温度:12.34和华氏温度 12.34 度相对应的摄氏温度为 -10.92 度请输入r1、r2、r3、r4和r5(使用空格分隔):1.1 2.2 3.3 4.4 5.5总电阻 R= 0.89 欧姆3. 电路图如下所示,从键盘输入5个电阻的电阻值,计算并输出总的电阻值。R1R2R3R4R5实验二 分支结构程序设计实验目的:1. 掌握逻辑表达式的使用方法。2. 掌握if和switch语句的使用方法。3. 掌握

3、一些简单的算法。内容:1. 分段函数的计算(习题5.5) x (x1)y= 2x-1 (1=x=10)X40Y109X10Y19X5Y9X1Y1X-3Y-32. 输入一个不超过6位的正整数,输出该数的最高位和最低位,如果该数是一位数,则输出该数。然后再输出该数是几位数。程序需要对输入的数进行合法性检查,对小于0和大于6位的数要有提示。XErrorN6X2ErrorX6X2ErrorX0。N=4sum=1+2+3+3+4+5+4+5+6+7 =402. 每个大于1的数的立方都可以表示成一连续奇数之和,试证实2到10的数都满足这样的规律。2(3)=8 3+5=83(3)=27 7+9+11=274

4、(3)=64 1+3+5+7+9+11+13+15=645(3)=125 21+23+25+27+29=1253. 用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。xn=1.5x=nnn.nnny=f(nnn.nnn)=nnn实验五 数组实验目的:1. 掌握一维数组和二维数组的定义、赋值和输入输出的使用方法。2. 掌握与数组有关的算法。内容:1. 输入n及n个整数(nDate2.3. 依次输入某个班级n个学生的姓名、数学、物理和化学课程的成绩,在输入姓名时直接回车表示输入结束,计算平均成绩后按姓名的字典顺序输出成绩列表,同时还要输出每个学生的平均成绩是否高于班级的平均成绩。(注

5、意:输出时,姓名的首字母大写。)S1 Name=wangScore=60 80 90S2=ZHANGScore=70 78 87S3=LiScore=95 66 89S4=yANGScore=67 89 90S5=No Name MAT PHY CHM AVG Y/N 3Li95 66 89 83 Y1Wang60 80 90 77 4Yang67 89 90 82 Y2Zhang70 78 87 78 实验七 函数实验目的:1. 掌握函数定义的方法。2. 掌握函数调用、实参和形参的传递方法。3. 掌握变量作用域和变量类型的使用方法。内容:1. 从键盘输入数行数据,每行三个正整数n1、n2和n

6、3,三个0表示输入结束。每输入完一行,输出n1和n2之间(包括n1和n2)能被n3整除的数的个数。要求用一个函数实现统计整除数个数的功能,其首部为: int aliquot(int n1, int n2, int n3)1 2 302 10 250 0 02. 习题集3.45 计算 其中计算 C(m,n)的函数首部为: int cmn(int m, int n)计算阶乘的函数首部为: int fac(int n)并用cmn函数打印杨辉三角形。3. 从键盘输入最多50个整数,0表示结束。将该批数据存入一个数组中,然后调用ReverseAndCount函数将数据在数组中的存放次序颠倒并统计出大于平

7、均数的个数,输出结果。ReverseAndCount函数的功能为颠倒数据存放的次序和统计大于平均数的个数,其首部为:int ReverseAndCount(int n, int s)如果为了程序的结构,你还可以添加其他的子程序。如,可以编写计算数组中数据的平均值的函数,还可将ReverseAndCount函数分成两个子程序实现等。1 2 3 4 5 05 numbers inputted.Reverse: 5 4 3 2 1Count: 2实验八 函数实验目的:1. 掌握函数调用、实参和形参的传递方法。2. 掌握变量作用域和变量类型的使用方法。3. 掌握递归子程序的编写和使用方法。内容:1.

8、从键盘输入数行数据,每行最多20个正整数,每行最后用0表示行结束。一个以0开始的行表示输入结束。每输入完一行,输出该行数据的个数、平均值和有几个数据大于该行的平均值。用一个函数实现数据输入的功能,其首部为: int input(int s) input的参数为输入的数据,函数返回值大于0表示该行输入的数据个数,0表示输入结束。用一个函数实现求平均值的功能,首部为: int Average(int n, int s) Average的参数是n个数的数组,函数返回值为平均值。用一个函数实现统计大于平均值的数据个数,首部为: int Count(int avg, int n, int s)1 2 3

9、 4 5 05 3 211 12 13 14 04 12 202. 习题集P91,6.18。使用递归求C(m,n)。3. 习题集P91,6.20。 使用递归实现输入的正整数逆序输出。实验九 指针实验目的:1. 掌握指针的概念、定义指针和使用指针的方法。2. 掌握和理解指针和数组的关系和使用方法。3. 掌握指针和字符串的关系和使用方法。注意:本次实验需要使用指针进行编程。内容:1. 从键盘输入若干数据整数(零表示结束),统计出数据个数,以及最大值、最小值和平均值。用一个函数实现数据输入的功能,其首部为: int input(int s) input的参数为输入的数据,函数返回值大于0表示该行输入

10、的数据个数,0表示输入结束。用一个函数实现求最大值、最小值和平均值的功能,首部为: void statistics(int n, int s, int *max, int *min, float *avg)1 2 3 4 5 0Max=5Min=1Avg=3.0002. 习题集P82,编写函数,将字符串反向。 函数首部为: void ReverseString(char *s) abcABC123321CBAcba3. 编写一个Insert(插入)函数,将一个字符串插入另一个字符串中指定位置。 函数首部为: int Insert(char *dest, char *src, int pos)

11、函数的返回值为插入后的字符串长度。dest:abcdefgsrc:12345pos:3output:abc12345defg:14实验十 结构体实验目的:1. 掌握结构体类型变量的定义和使用。2. 掌握结构体类型数组的概念和使用方法。3. 掌握链表的概念和初步的使用方法。内容:struct POINT float x; float y;1. 现有如下定义一个点和圆的结构体:struct CIRCLE float r; struct POINT center;用一个函数来实现判断某个圆是否包含坐标原点,其首部为: int HavingOrigin(struct CIRCLE c) X:10.2Y

12、:3.3R:5.0Not Having Origin.Avg=3.000X:1.2Y:3.3R:5.0Having Origin.Avg=3.000返回1表示包含,0表示不包含。 主程序输入圆的参数,然后调用函数判断,并输出判断结果。2. 每个学生有学号、姓名、语文、数学、外语和平均成绩。建立一个最多保存五个学生成绩的结构体类型数组。Input函数输入学生的学号、姓名和三门课的成绩,并计算平均成绩,函数首部为: Input(int n, struct Tstudent s)主程序调用Input函数输入学生成绩,然后输出学生的信息。struct Tstudent char No5;char Na

13、me20;int Chinese;int Math;int FL;int Average;N=31 Zhang 60 70 802 Wang 70 80 903 Li 30 50 801 Zhang 60 70 80 702 Wang70 80 90 803 Li30 50 80 533. (本题使用链表)从键盘输入若干个大于0的整数,0表示输入结束。建立一个链表,链表节点的值为输入的数,节点次序和输入次序相同。然后复制该链表,但次序相反,并输出。input:2 4 6 8 1 3 5 7 0output:7 5 3 1 8 6 4 2 实验十一 文件实验目的:1. 掌握文件的定义和使用。2.

14、 掌握文件的打开、关闭和读写等使用方法。内容:1. 先利用Notepad在D:MyDoc目录中建立一个名为MyNew.txt的文本文件,在其中任意输入数行内容,然后编写一个C语言程序,读出MyNew.txt文件的内容并在屏幕上显示。2. 编写C语言程序,在D:MyDoc目录中建立一个名为MyText.txt的文本文件,在其中写入两行内容,你的学号和你的姓名。在程序正确运行后,利用Notepad打开该文件查看结果。3. 编写文件复制程序。并用Notepad查看复制结果。如果文件打开错误等要进行提示。Source File:d:mydocmynew.txtDest File:d:mydocmyagain.txtFile d:mydocmynew.txt = d:mydocmyagain.txt copied. 实验十二 综合实验目的1. 提高综合应用流程控制语句的能力;2. 提高对复杂流程结构的程序的编写能力和调试能力;3. 掌握利用数组的组织存储数据以及一些实用的算法。4. 掌握对文件的操作。实验内容编写和调试一个具有能对用一维数组建立的顺序表进行各种操作的应用程序。实验步骤1.写程序显示如下菜单1. 插入 (插入一个数据)2. 删除 (删除一个数据)3. 排序 (排序)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论