1、程序设计语言实验指导书程序设计语言C实验指导书适用专业:计算机科学与技术 软件工程上海应用技术学院2009-2-20目录实验一 顺序结构程序设计 1实验二 分支结构程序设计 2实验三 循环结构程序设计一 3实验四(1) 循环结构程序设计二 4实验四(2) 循环结构程序设计三 5实验五 数组 6实验六 数组和字符串 7实验七 函数 8实验八 函数 9实验九 指针 10实验十 结构体 11实验十一 文件 12实验十二 综合 13实验一 顺序结构程序设计实验目的:1. 掌握C语言程序结构。2. 掌握变量的定义和使用。3. 掌握输入输出函数的使用。4. 掌握赋值语句的使用。内容:1. 从键盘输入两个数
2、,计算两个数的和,然后输出。A123B456SUM=A+B=123+456=579注意:带下划线的内容表示是从键盘输入的,实际上机时并不显示下划线,其余的内容是程序输出的。2. 从键盘输入一个华氏温度,请转换成摄氏温度后输出。请输入一个华氏温度:12.34和华氏温度 12.34 度相对应的摄氏温度为 -10.92 度3. 电路图如下所示,从键盘输入5个电阻的电阻值,计算并输出总的电阻值。请输入r1、r2、r3、r4和r5(使用空格分隔):1.1 2.2 3.3 4.4 5.5总电阻 R= 0.89 欧姆实验二 分支结构程序设计实验目的:1. 掌握逻辑表达式的使用方法。2. 掌握if和switc
3、h语句的使用方法。3. 掌握一些简单的算法。内容:1. 有下列函数,写一段程序,输入x的值,输出y的值 x (x1)y= 2x-1 (1=x=10)X40Y109X10Y19X5Y9X1Y1X-3Y-32. 输入一个不超过6位的正整数,输出该数的最高位和最低位,如果该数是一位数,则输出该数。然后再输出该数是几位数。程序需要对输入的数进行合法性检查,对小于0和大于6位的数要有提示。X1234567ErrorN6X2ErrorX6X2ErrorX0。N=4sum=1+2+3+3+4+5+4+5+6+7 =402. 每个大于1的数的立方都可以表示成一连续奇数之和,试证实2到10的数都满足这样的规律。
4、2(3)=8 3+5=83(3)=27 7+9+11=274(3)=64 1+3+5+7+9+11+13+15=645(3)=125 21+23+25+27+29=1253. 用牛顿迭代法求下面方程在1.5附近的根:2x3-4x2+3x-6=0xn=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. 掌握变量作用域和变量类型的使用方
6、法。内容:1. 从键盘输入数行数据,每行三个正整数n1、n2和n3,三个0表示输入结束。每输入完一行,输出n1和n2之间(包括n1和n2)能被n3整除的数的个数。要求用一个函数实现统计整除数个数的功能,其首部为: int aliquot(int n1, int n2, int n3)1 2 302 10 250 0 02. 求组合数。 计算 其中计算 C(m,n)的函数首部为: int cmn(int m, int n)计算阶乘的函数首部为: int fac(int n)并用cmn函数打印杨辉三角形。3. 从键盘输入最多50个整数,0表示结束。将该批数据存入一个数组中,然后调用ReverseA
7、ndCount函数将数据在数组中的存放次序颠倒并统计出大于平均数的个数,输出结果。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. 掌握变量作用域和变量类型的
8、使用方法。3. 掌握递归子程序的编写和使用方法。内容:1. 从键盘输入数行数据,每行最多20个正整数,每行最后用0表示行结束。一个以0开始的行表示输入结束。每输入完一行,输出该行数据的个数、平均值和有几个数据大于该行的平均值。用一个函数实现数据输入的功能,其首部为: int input(int s) input的参数为输入的数据,函数返回值大于0表示该行输入的数据个数,0表示输入结束。用一个函数实现求平均值的功能,首部为: int Average(int n, int s) Average的参数是n个数的数组,函数返回值为平均值。用一个函数实现统计大于平均值的数据个数,首部为: int Cou
9、nt(int avg, int n, int s)1 2 3 4 5 05 3 211 12 13 14 04 12 202. 组合问题,由组合的基本性质可知: (1)C(m,n)=C(n-m,n) (2)C(m,n+1)=C(m,n)+C(m-1,n)公式(2)是一个递归公式,一直到满足C(1,n)=n为止。当n d:mydocmyagain.txt copied. 实验十二 综合实验目的1. 提高综合应用流程控制语句的能力;2. 提高对复杂流程结构的程序的编写能力和调试能力;3. 掌握利用数组的组织存储数据以及一些实用的算法。4. 掌握对文件的操作。实验内容编写和调试一个具有能对用一维数组建立的顺序表进行各种操作的应用程序。实验步骤1.写程序显示如下菜单1. 插入 (插入一个数据)2. 删除 (删除一个数据)3. 排序 (排序)4. 输出 (输出表中所数据)0. 退出 (退出程序)2. 用输入函数输入菜单选择的数字(0-4)对其他输入要提示错误信息流程控制结构如图1所示。3顺序表的数据类型自选,可以先使用基本类型,在此基础上修改使用结构体类型。4每个功能模块要求用函数实现。5在菜单中增加“写入文件”和“读取文件”选项,能将顺序表中的数据写入文件和从文件读取数据。6(选做)使用链表来实现。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1