ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:182.92KB ,
资源ID:26610836      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26610836.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计实验手册.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计实验手册.docx

1、C语言程序设计实验手册C语言程序设计实验手册D1.4 调试示例改正下列程序中的错误,在屏幕上显示“Welcome to You !”。(掌握找错、改错的方法)源程序:# include int mian(void) printf(Welcome to You! n) getchar(); return 0;注:需要修改的语句直接在程序上标注并修改实验总结:学号: 姓名: 成绩: 实验二 用C语言编写简单程序实验目的:1掌握算术表达式和赋值表达式的使用2掌握基本输出函数的使用3能够自己编程实现简单的数据处理4. 熟练掌握简单if语句使用5. 熟练掌握for语句的使用6. 掌握简单C程序的查错方法

2、、单步调试实验内容:2.1 调试以下程序,求华氏温度对应的摄氏温度。计算公式为:C=5*(f-32)/9#include int main(void) int celsius; fahr; scanf(%d ,fahr); celsius = 5 * (fahr - 32) / 9; printf(fahr = d, celsius = %dn, fahr, celsius); return 0; 注:需要修改的语句直接在程序上标注并修改2.2 编写程序计算定期存款本利之和:设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本利之和d

3、eposit。要求定期存款的年利率rate、存款期n和存款本金capital均由键盘输入,输出时保留两位小数。计算公式为:deposit=capital(1+rate)n2.3 计算身体质量指数一个称为“身体质量指数”(BMI)的量用来计算与体重有关的健康问题的危险程度。BMI按下面的公式计算: BMI=w/h2其中w是以千克为单位的体重。h是以米为单位的身高。大约20至25的BMI的值被认为是“正常的”,编写一个应用程序,输入体重和身高,输出BMI,并判断是否正常。2.4水仙花数判断输入一个三位数,判断是否是水仙花数,水仙花数是3位数,数本身的值恰好等于各位数字的立方和 如:153=13+5

4、3+33实验总结: 学号: 姓名: 成绩: 实验三 分支结构程序设计实验目的:1熟悉掌握关系表达式和逻辑表达式的使用2熟练掌握用嵌套的if语句和switch语句实现多分支结构程序设计3掌握使用断点调试程序的方法实验内容:3.1 按要求调试程序输入参数a,b,c,求一元二次方程ax2+bx+c=0的根。include #include int main(void) double a, b, c,d; printf(Enter a, b, c n); scanf(%lf%lf%lf, &a, &b, &c); d = b * b - 4 * a * c; if(a=0) if(b = 0) if(

5、c = 0) printf(参数都为零,方程无意义!n); /*调试时设置断点*/ else printf(a和b为0,c不为0,方程不成立n); else printf(x = %0.2fn, -c/b); else if(d = 0) /*调试时设置断点*/ printf(x1=%0.2fn, (-b+sqrt(d)/(2*a); printf(x2=%0.2fn, (-b-sqrt(d)/(2*a); else printf(x1=%0.2f+%0.2fin, -b/(2*a), sqrt(-d)/(2*a); printf(x2=%0.2f-%0.2fin, -b/(2*a), sqr

6、t(-d)/(2*a); return 0; /*调试时设置断点*/注:调试时按注释位置设置三个断点,单击Go按钮,输入2.1 8.9 3.5 ,观察变量值的情况。第一次断点:a,b,c的值分别是:第二次断点:d的值是:第三次断点:运行窗口显示:3.2 求三角形的面积和周长输入三角形的三条边 a, b, c,如果能构成一个三角形,输出面积area 和周长perimeter(保留2 位小数);否则,输出“These sides do not correspond to a valid triangle”。在一个三角形中,任意两边之和大于第三边。三角形的面积计算公式: 其中:s = (a+b+c)

7、/23.3 计算个人所得税输入一个职工的月薪 salary,输出应交的个人所得税tax(保留2 位小数)。tax = rate * (salary-3500) - deduction当 salary = 3500 时,rate = 0,deduction=0;当 3500 salary = 5000时,rate = 3%,deduction=0;当 8000 salary =12500 时,rate =20%,deduction=555;当 12500 salary = 38500 时,rate =25%,deduction=1005;当 38500 salary =58500 时,rate

8、=30%,deduction=2755;当 58500 salary = 83500 时,rate =35%,deduction=5505;当 83500 salary 时,rate =45%,deduction=13505;3.4 计算出租车费某市不同品牌出租车价格为:捷达5元起价,1公里内收起步价,1公里外按1.4元/公里收取;速腾7元起价,1公里内收起步价,1公里外按1.4元/公里收取;红旗10元起价,1公里内收起步价,1公里外按1.5元/公里收取。编写程序,从键盘输入乘车车型和乘车公里数,输出应付的车费。(采用switch语句实现车型选择)实验总结:学号: 姓名: 成绩: 实验四 循环

9、结构程序设计实验目的:1熟练掌握for、while、和dowhile语句实现循环程序设计2. 理解循环条件和循环体,以及三种循环语句的相同和不同之处3熟练掌握break、continue语句的使用4掌握使用“Debug”菜单调试程序的方法实验内容:4.1 按要求调试程序改正下列程序中的错误,输入2个正整数m和n,输出它们的最小公倍数和最大公约数。#include int main(void) int m, n, j, k; /* j表示最小公倍数,k表示最大公约数 */ do printf(Input m: ); scanf(%d, &m); printf(Input n: ); scanf(

10、%d, &n); while(m0|n0); j = m; while(j % n != 0) /* 调试时设置断点 */ j = j + m; k = (m * n) / j; /* 调试时设置断点 */ printf(最小公倍数是%d n最大公约数是%dn , j, k); return 0;注:调试时按注释位置设置二个断点,单击Go按钮,输入3 7 ,观察变量值的情况。第一次断点:m,n的值分别是:第二次断点:j的值是:若结果不对,停止调试,改正错误后,取消第一个断点,单击Go,到断点处,此时j的值是:4.2 编写程序输入一批正整数(以0或负数为结束标志),求其中的偶数和。4.3编写程序

11、给一个不多于5位的正整数,要求:a. 求出它是几位数;b. 分别输出每一位数字;c. 按逆序输出各位数字,例如原数为321,应输出1234.4 统计素数并求和输入 2 个正整数m 和n(1=m,n=500),统计并输出m 和n 之间的素数的个数以及这些素数的和(素数就是只能被1 和自身整除的正整数,1 不是素数,2 是素数)。4.5 编写程序用一张一元票换1分、2分和5分的硬币(至少各一枚),问有哪几种换法?各几枚?4.6 猜数游戏先由计算机“想”一个1100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人

12、所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,结束游戏。【思考】如果用scanf输入用户猜测的数据时,如果用户不小心输入了非法字符,如字符a,那么程序运行就会出错,用什么方法可以避免这样的错误发生呢?请编写程序验证方法的有效性。实验总结:学号: 姓名: 成绩: 实验五 函数程序设计实验目的:1熟练掌握函数的定义和调用2熟练掌握使用函数编写程序3掌握函数的实参、形参和返回值的概念和使用4. 掌握单步调试进入函数和跳出函数的方法实验内容:5.1 改错改正下列程序中的错误,计算1!+2!+3!+4!+10!的值,要求定义并调用函数fact(n),计算n!,函数类型是doubl

13、e。#include double fact(int n)int main(void ) int i; double sum; for (i = 1 ; i 10; i+) sum = sum + fact(i); /*设置断点*/ printf(1!+2!+10!= %fn, sum); return 0;double fact(int n); int i; double result; for (i = 1 ; i =n; i+) fact(n)=fact(n)*i; return result;注:1. 需要修改的语句直接在程序上标注并修改 2. 设置断点,单步进入函数和从函数返回主调函

14、数5.2 求aaaaaaaaa输入 2 个正整数a 和n, 求a+aa+aaa+aaa(n 个a)之和。要求定义并调用函数 fn(a,n),它的功能是返回aaa(n 个a)。例如,fn(3,2)的返回值是33。5.3 统计一个整数中数字的个数要求定义并调用函数 countdigit(number,digit),它的功能是统计整数number 中数字digit的个数。例如,countdigit(10090,0)的返回值是35.4 判断素数输入一个正整数 n,如果它是素数,输出YES,否则,输出NO(素数就是只能被1 和自身整除的正整数,1 不是素数,2 是素数)。要求定义并调用函数 prime(

15、m)判断m 是否为素数。5.5 输出 Fibonacci 序列输入 2 个正整数m 和n(1=m,n=10000),输出m 和n 之间所有的Fibonacci 数。Fibonacci 序列(第1 项起):1 1 2 3 5 8 13 21 .要求定义并调用函数fib(n),它的功能是返回第n 项Fibonacci 数。例如,fib(7)的返回值是13。例:括号内是说明输入:20 100 (m=20, n=100)输出:21 34 55 89 (20 到100 之间的Fibonacci 数)实验总结:学号: 姓名: 成绩: 实验六 数组程序设计实验目的:1熟练掌握一维数组、二维数组编程方法2.

16、熟练掌握字符串的存储和操作方法3熟练掌握排序算法实验内容:6.1改错改正下列程序中的错误,输入一个正整数n(0n9)和一组(n个)有序的整数,再输入一个整数x,把x插入到这组数据中,使该组数据仍然有序。#include int main( ) int i, j, n, x, an; printf(输入数据的个数n:); scanf(%d, &n); printf(输入%d个整数:, n); for(i = 0; i n; i+) scanf(%d, &ai); printf(输入要插入的整数:); scanf(%d, &x); for(i = 0; i ai) continue; j = n

17、- 1; while(j = i) /* 调试时设置断点 */ aj = aj+1; j+; /* 调试时设置断点 */ ai = x; break; if(i = n) an=x; for(i = 0; i n + 1; i+) printf(%d , ai); putchar(n); return 0;6.2 求平均值输入一个正整数 n (1n=10),再输入n 个整数,输出平均值(保留2 位小数)。6.3 交换最小值和最大值输入一个正整数 n (1n=10),再输入n 个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n 个数。6.4 排序输入一个正整数 n (1n

18、=1,n=6),然后输入该m行n列二维数组a中的元素,分别求出各行元素之和并输出。 #include int main( ) int a66, i, j, m, n, sum; printf(input m, n:); scanf(%d%d,&m,&n); printf(input array:n); for(i=0;im;i+) /* 调试时设置断点 */ for(j=0;in;j+) scanf(%d,&aij); sum=0; for(i=0;im;i+) for(j=0;jn;j+) sum=sum+aij; printf(sum of row %d is %dn,i,sum); /*

19、 调试时设置断点 */ return 0;6.6 编程找鞍点输入 1 个正整数 n(1n6)和n 阶方阵a 中的元素,如果找到a 的鞍点(鞍点的元素值在该行上最大, 在该列上最小), 就输出它的下标, 否则,输出NO(设a 最多有1 个鞍点)。6.7 改错改正下列程序中的错误,输入一个以回车结束的字符串(少于80个字符),将它的内容逆序输出。如“ABCD”输出为“DCBA”。#include int main( ) int i, k, temp; char str; printf(input a string: ); i = 0; while(stri = getchar( ) != n) i

20、+; stri = 0; k = i - 1; for(i = 0; i k; i+) /* 调试时设置断点 */ temp = stri; stri = strk; strk = temp; k+; /* 调试时设置断点 */ for(i = 0; stri != 0; i+) putchar(stri); return 0;6.8 统计大写辅音字母个数输入一个以回车结束的字符串(少于80个字符),统计并输出其中大写辅音字母的个数(除A、E、I、O、U以外的大写字母)。实验总结:学号: 姓名: 成绩: 实验七 指针程序设计实验目的:1理解指针、地址和数组间的关系2. 掌握通过指针操作数组元素

21、的方法3掌握数组名作为函数参数的编程方式4. 掌握通过指针操作字符串的方法实验内容:7.1 改错改正下面程序中的错误。有n个整数,使前面各数顺序循环移动m个位置(mn)。编写一个函数实现以上功能,在主函数中输入n个整数并输出调整后的n个整数。#include void mov(int *, int, int);int main() int m, n, i, a80, *p; printf(Input n, m:); scanf(%d%d,&n,&m); for(p=a,i=0;in;i+) scanf(%d,&p+); mov(a,n,m); printf(After move: ); for

22、(i=0;in;i+) printf(%5d,ai); return 0;void mov(int *x, int n, int m) int i,j; for(i=0;i0;j-) xj=xj-1; /* 调试时设置断点 */ x0=xn-1; 7.2 查找整数定义一个函数 search(int list,int n,int x),在数组list中查找元素x,若找到则返回相应下标,否则返回-1。在main函数中调用search。补充程序完成search功能。#include int search(int list,int n,int x);int main()int i, x, a10, r

23、es;for(i=0; i10; i+)scanf(%d, &ai);scanf(%d, &x);res = search(a, 10, x);printf(%d , res);return 0;int search(int list,int n,int x)7.3 排序定义函数void sort(int a,int n),用选择法对数组a中的元素排序。自己定义main函数,并在其中调用sort函数。7.4 改错改正下面程序中的错误。输入5个字符串,输出其中最大的字符串。#include #include int main( ) int i; char str80, max80; printf

24、(Input 5 strings:n); scanf(%s,str); max=str; for(i=1; i5; i+) scanf(%s,str); if (maxstr) /* 调试时设置断点 */ max=str; printf(Max is: %s n, max); return 0; 7.5 字符串复制分别用字符数组和字符指针定义函数strmcpy(s,t,m),将字符串t中从m个字符开始的全部字符复制到字符串s中去。实验总结:学号: 姓名: 成绩: 实验八 结构程序设计实验目的:1掌握结构体变量的基本使用方法2. 掌握结构体数组的基本使用方法3掌握结构体指针的概念,以及结构指针作

25、为函数参数的编程方法实验内容:8.1 调试调试下面的程序,查看运行结果是否和题目要求相符。输入一个正整数n(3=n=10),再输入n个雇员的信息(如下表所示),输出每人的姓名和实发工资(基本工资+浮动工资-支出)。工资表姓名基本工资浮动工资支出Zhang1200500100Wang35001000500Zhao2400800200#include int main (void ) int i, n; struct emp char name10; float jbg; float fdg; float zc; s10; printf(n=); scanf(%d, &n); for (i = 0

26、; i n; i+) scanf(%s%f%f%f, si.name, &si.jbg, &si.fdg, &si.zc); for (i = 0; i n; i+) /* 调试时设置断点 */ printf (%5s,实发工资:%7.2fn, si.name, si.jbg+si.fdg-si.zc); return 0; /* 调试时设置断点 */和题目要求是否相符?8.2 日期换算定义一个关于年、月、日的结构,并编写一函数计算某日是该年中的第几天?注意闰年问题。8.3 成绩处理输入一个正整数n,再输入n 个学生的学号和数学、英语、计算机成绩,要求(1) 计算每一个学生的平均成绩。(2)

27、计算每门课程的平均成绩。(3) 输出平均成绩最高的学生的记录。(4) 按平均成绩从高到低输出学生的成绩单(学号、数学、英语、计算机成绩和平均成绩)实验总结:学号: 姓名: 成绩: 实验九 程序设计进阶实验目的:1了解结构化程序设计的基本思想2. 掌握使用工程组织多个程序文件的方法3掌握函数嵌套、函数递归的编程方法4. 理解指针与函数间的关系实验内容:9.1 按要求调试程序编写一个简单加、减运算的计算器,输入计算式的格式为整数常量 运算符 整数常量先分别编写3个源程序文件,然后用建立工程的方法将这些文件组织起来。源程序1#include int main(void) extern int Add(int a, int b); extern int Sub(int a, int b); int x, y, z; char ch; scanf(%d%c%d, &x, &

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1