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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C语言程序设计实验手册.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

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

1、实验手册使用及要求 实验操作是教学过程中理论联系实际的重要环节,而实验报告的撰写又是知识系统化的吸收和升华过程,因此,实验报告应该体现完整性、规范性、正确性、有效性。现将实验报告撰写的有关内容说明如下: 1、 实验前按实验要求手写程序或程序填空,并走查代码,有疑问处标记,上机时在C语言集成开发环境下输入并调试手写程序,分析运行结果。 2、 实验结束后填写通过后的源程序和对实验的总结。 3、 通过后的源程序可以手写也可以打印粘贴。 实验项目一览表 序 号 实验项目 实验性质 学 时 实验一 熟悉C语言编程环境 验证性 2 实验二 用C语言编写简单程序

2、验证性 2 实验三 分支结构程序设计 验证性 2 实验四 循环结构程序设计 验证性 4 实验五 函数程序设计 验证性 4 实验六 数组程序设计 验证性 2 实验七 指针程序设计 验证性 4 实验八 结构体程序设计 验证性 2 实验九 程序设计进阶 综合性 2 实验十 文件程序设计 综合性 4 学号: 姓名: 成绩: 实验一 熟悉C语言编程环境 实验目的: 1.熟悉C语言编程环境(VC++、Cfree、Turboc2.0等) 2.了解C程序的基

3、本框架 3.理解程序调试的思想,能找出并改正C程序中的错误 实验内容: 1.1 建立自己的文件夹:在磁盘上建立一个文件夹,用于存放自己的C程序 1.2 编程示例 在屏幕上显示一个短句“Programming in C is fun!”(教师示例,学生模仿并创新,如输出汉字、特除字符等。学会使用编程环境VC++,启动、编辑、编译、运行、保存、关闭、打开) 1.3 编程 在屏幕上显示如下网格。 +---+---+ | | | | | | +---+---+ 1.4 调试示例 改正下列程序中的错误,在屏幕上显示“

4、Welcome to You !”。(掌握找错、改错的方法) 源程序: # include int mian(void) { printf(Welcome to You! \n") getchar(); return 0; } 注:需要修改的语句直接在程序上标注并修改 实验总结: 学号: 姓名: 成绩: 实验二 用C语言编写简单程序 实验目的: 1.掌握算术表达式和赋值表达式的使用 2.掌握基本输出函数的使用 3.能够自己

5、编程实现简单的数据处理 4. 熟练掌握简单if语句使用 5. 熟练掌握for语句的使用 6. 掌握简单C程序的查错方法、单步调试 实验内容: 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 = %d\n", fa

6、hr, celsius); return 0; } 注:需要修改的语句直接在程序上标注并修改 2.2 编写程序计算定期存款本利之和: 设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital均由键盘输入,输出时保留两位小数。计算公式为: deposit=capital(1+rate)n 2.3 计算身体质量指数 一个称为“身体质量指数”(BMI)的量用来计算

7、与体重有关的健康问题的危险程度。BMI按下面的公式计算: BMI=w/h2 其中w是以千克为单位的体重。h是以米为单位的身高。大约20至25的BMI的值被认为是“正常的”,编写一个应用程序,输入体重和身高,输出BMI,并判断是否正常。 2.4 水仙花数判断 输入一个三位数,判断是否是水仙花数,水仙花数是3位数,数本身的值恰好等于各位数字的立方和 如:153=13+53+33 实验总结: 学号: 姓名:

8、 成绩: 实验三 分支结构程序设计 实验目的: 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,

9、b, &c); d = b * b - 4 * a * c; if(a==0){ if(b = 0){ if(c == 0) printf("参数都为零,方程无意义!\n"); /*调试时设置断点*/ else printf("a和b为0,c不为0,方程不成立\n"); } else printf("x = %0.2f\n", -c/b); } else if(d >= 0) { /*调试时设置断点*/ printf("x1=%0.

10、2f\n", (-b+sqrt(d))/(2*a)); printf("x2=%0.2f\n", (-b-sqrt(d))/(2*a)); } else{ printf("x1=%0.2f+%0.2fi\n", -b/(2*a), sqrt(-d)/(2*a)); printf("x2=%0.2f-%0.2fi\n", -b/(2*a), sqrt(-d)/(2*a)); } return 0; /*调试时设置断点*/ } 注:调试时按注释位置设置三个断点,单击Go按钮

11、输入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)/2 3

12、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

13、< salary <=58500 时,rate =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元/公里收取。编写程序,从键盘

14、输入乘车车型和乘车公里数,输出应付的车费。(采用switch语句实现车型选择) 实验总结: 学号: 姓名: 成绩: 实验四 循环结构程序设计 实验目的: 1.熟练掌握for、while、和do…while语句实现循环程序设计 2. 理解循环条件和循环体,以及三种循环语句的相同和不同之处 3.熟练掌握break、continue语句的使用 4.掌握使用“Debug”菜单调试

15、程序的方法 实验内容: 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("%d", &n); }while(m<0||n

16、<0); j = m; while(j % n != 0) /* 调试时设置断点 */ j = j + m; k = (m * n) / j; /* 调试时设置断点 */ printf("最小公倍数是%d \n最大公约数是%d\n ", j, k); return 0; } 注:调试时按注释位置设置二个断点,单击Go按钮,输入3 7 ,观察变量值的情况。 第一次断点:m,n的值分别是: 第二次断点:j的值是: 若结果不对,停止调试,改正错误后,取消第一个断点,单击Go,到断点处,此

17、时j的值是: 4.2 编写程序 输入一批正整数(以0或负数为结束标志),求其中的偶数和。 4.3编写程序 给一个不多于5位的正整数,要求: a. 求出它是几位数;   b. 分别输出每一位数字; c. 按逆序输出各位数字,例如原数为321,应输出123 4.4 统计素数并求和 输入 2 个正整数m 和n(1<=m,n<=500),统计并输出m 和n 之间的素数的个数以及这些素数的和(素数就是只能被1 和自身整除的正

18、整数,1 不是素数,2 是素数)。 4.5 编写程序 用一张一元票换1分、2分和5分的硬币(至少各一枚),问有哪几种换法?各几枚? 4.6 猜数游戏 先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,结束游戏。 【思考】如果用scanf输入用户猜测的数据时

19、如果用户不小心输入了非法字符,如字符a,那么程序运行就会出错,用什么方法可以避免这样的错误发生呢?请编写程序验证方法的有效性。 实验总结: 学号: 姓名: 成绩: 实验五 函数程序设计 实验目的: 1.熟练掌握函数的定义和调用 2.熟练掌握使用函数编写程序 3.掌握函数的实参、形参和返回值的概念和使用 4. 掌握单步调试进入函数和跳出函数的方法 实验内容: 5.1

20、改错 改正下列程序中的错误,计算1!+2!+3!+4!+…+10!的值,要求定义并调用函数fact(n),计算n!,函数类型是double。 #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!= %f\n", sum); return 0; }

21、 double fact(int n); { int i; double result; for (i = 1 ; i <=n; i++) fact(n)=fact(n)*i; return result; } 注:1. 需要修改的语句直接在程序上标注并修改 2. 设置断点,单步进入函数和从函数返回主调函数 5.2 求a+aa+aaa+aa⋯a 输入 2 个正整数a 和n, 求a+aa+aaa+aa⋯a(n 个a)之和。 要求定义并调用函数 fn(a,n),它的功能是返回aa⋯a(n 个a)。例如,fn(3,2)的返回值是

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

23、 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 数)

24、 实验总结: 学号: 姓名: 成绩: 实验六 数组程序设计 实验目的: 1.熟练掌握一维数组、二维数组编程方法 2. 熟练掌握字符串的存储和操作方法 3.熟练掌握排序算法 实验内容: 6.1改错 改正下列程序中的错误,输入一个正整数n(0 int main( ) { i

25、nt i, j, n, x, a[n]; printf("输入数据的个数n:"); scanf("%d", &n); printf("输入%d个整数:", n); for(i = 0; i < n; i++) scanf("%d", &a[i]); printf("输入要插入的整数:"); scanf("%d", &x); for(i = 0; i < n; i++){ if(x > a[i]) continue; j = n - 1; while(j >= i){

26、 /* 调试时设置断点 */ a[j] = a[j+1]; j++; } /* 调试时设置断点 */ a[i] = x; break; } if(i == n) a[n]=x; for(i = 0; i < n + 1; i++) printf("%d ", a[i]); putchar('\n'); return 0; } 6.2 求

27、平均值 输入一个正整数 n (1

28、6.5 改错 改正下列程序中的错误,输入2个正整数m和n(m>=1,n<=6),然后输入该m行n列二维数组a中的元素,分别求出各行元素之和并输出。 #include int main( ) { int a[6][6], i, j, m, n, sum; printf("input m, n:"); scanf("%d%d",&m,&n); printf("input array:\n"); for(i=0;i

29、

30、O"(设a 最多有1 个鞍点)。 6.7 改错 改正下列程序中的错误,输入一个以回车结束的字符串(少于80个字符),将它的内容逆序输出。如“ABCD”输出为“DCBA”。 #include int main( ) { int i, k, temp; char str[]; printf("input a string: "); i = 0; while((str[i] = getchar( )) != '\n')

31、 i++; str[i] = '\0'; k = i - 1; for(i = 0; i < k; i++){ /* 调试时设置断点 */ temp = str[i]; str[i] = str[k]; str[k] = temp; k++; } /* 调试时设置断点 */ for(i = 0; str[i] != '\0'; i++) putchar(str[i]); return 0; } 6.8 统计大写辅音字母个数 输

32、入一个以回车结束的字符串(少于80个字符),统计并输出其中大写辅音字母的个数(除A、E、I、O、U以外的大写字母)。 实验总结: 学号: 姓名: 成绩: 实验七 指针程序设计 实验目的: 1.理解指针、地址和数组间的关系 2. 掌握通过指针操作数组元素的方法 3.掌握数组名作为函数参数的编程方式 4. 掌握通过指针操作字符串的方法 实验内容: 7.1 改错 改正下面程序

33、中的错误。有n个整数,使前面各数顺序循环移动m个位置(m void mov(int *, int, int); int main() { int m, n, i, a[80], *p; printf("Input n, m:"); scanf("%d%d",&n,&m); for(p=a,i=0;i

34、intf("After move: "); for(i=0;i0;j--) x[j]=x[j-1]; /* 调试时设置断点 */ x[0]=x[n-1]; } } 7.2 查找整数 定义一个函数 search(int list[

35、],int n,int x),在数组list中查找元素x,若找到则返回相应下标,否则返回-1。在main函数中调用search。补充程序完成search功能。 #include int search(int list[],int n,int x); int main() { int i, x, a[10], res; for(i=0; i<10; i++) scanf("%d", &a[i]); scanf("%d", &x); res = search(a, 10, x); printf("%d ", res); return 0; } int

36、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 str[80], max[8

37、0]; printf("Input 5 strings:\n"); scanf("%s",str); max=str; for(i=1; i<5; i++){ scanf("%s",str); if (max

38、s,t,m),将字符串t中从m个字符开始的全部字符复制到字符串s中去。 实验总结: 学号: 姓名: 成绩: 实验八 结构程序设计 实验目的: 1.掌握结构体变量的基本使用方法 2. 掌握结构体数组的基本使用方法 3.掌握结构体指针的概念,以及结构指针作为函数参数的编程方法 实验内容: 8.1 调试 调试下面的程序,查看运行结果是否和题目要求相符。输入一个正整数n(3<=n<=10),再输入n个雇员的信息(如下表所示),输出每人的姓名和实发工资(基

39、本工资+浮动工资-支出)。 工资表 姓名 基本工资 浮动工资 支出 Zhang 1200 500 100 Wang 3500 1000 500 Zhao 2400 800 200 #include int main (void ) { int i, n; struct emp{ char name[10]; float jbg; float fdg; float zc; } s[10]; printf("n="); sca

40、nf("%d", &n); for (i = 0; i < n; i++) scanf("%s%f%f%f", s[i].name, &s[i].jbg, &s[i].fdg, &s[i].zc); for (i = 0; i < n; i++) /* 调试时设置断点 */ printf ("%5s,实发工资:%7.2f\n", s[i].name, s[i].jbg+s[i].fdg-s[i].zc); return 0; } /* 调试时设置断点 */ 和题目要求是否相符? 8.2

41、日期换算 定义一个关于年、月、日的结构,并编写一函数计算某日是该年中的第几天?注意闰年问题。 8.3 成绩处理 输入一个正整数n,再输入n 个学生的学号和数学、英语、计算机成绩,要求 (1) 计算每一个学生的平均成绩。 (2) 计算每门课程的平均成绩。 (3) 输出平均成绩最高的学生的记录。 (4) 按平均成绩从高到低输出学生的成绩单(学号、数学、英语、计算机成绩和平均成绩) 实验总结: 学号: 姓名: 成

42、绩: 实验九 程序设计进阶 实验目的: 1.了解结构化程序设计的基本思想 2. 掌握使用工程组织多个程序文件的方法 3.掌握函数嵌套、函数递归的编程方法 4. 理解指针与函数间的关系 实验内容: 9.1 按要求调试程序 编写一个简单加、减运算的计算器,输入计算式的格式为 整数常量 运算符 整数常量 先分别编写3个源程序文件,然后用建立工程的方法将这些文件组织起来。 源程序1 #include int main(void) { extern int Add(int a, int b

43、); extern int Sub(int a, int b); int x, y, z; char ch; scanf("%d%c%d", &x, &ch, &y); if(ch=='+') z=Add(x,y); else if(ch=='-') z=Sub(x,y); else printf("运算符输入错误!\n"); printf("%d%c%d=%d

44、\n", x, ch, y, z); return 0; } 源程序2 extern int Add(int a, int b) { int c; c=a+b; return c; } 源程序3 extern int Sub(int a, int b) { int c; c=a-b; return c; } 9.2 Fabonacci数列 用递归的方法编写 Fabonacci数列函数,返回值为长整型,并写出响应的主调函数

45、 9.3 学生成绩管理 输入若干个学生的信息(包括学号、姓名和成绩),输入学号为0时输入结束。建立一个单向链表,再输入一个成绩值,将成绩大于等于该值的学生信息输出。 实验总结: 学号: 姓名: 成绩: 实验十 文件程序设计 实验目的: 1. 掌握文件的基本概念 2. 掌握文本文件的打开和关闭操作 3. 掌握文本文件的顺序读、写方法 实验内容: 10.1 调试程序

46、 从键盘输入一行字符,写到文件a.txt中。记录系统给出的出错信息,并指出出错原因并改正。 #include #include int main(void) { char ch; FILE fp; if((fp = fopen("a.txt", "w")) != NULL){ printf("Can't Open File!"); exit(0); } while((ch = getchar()) !='\n' ) /* 调试时设置断点 */ f

47、putc(ch, fp); fclose(fp); return 0; } /* 调试时设置断点 */ 10.2统计文件中单词的个数 统计一个英文文本文件中单词的个数,单词间空格或符号隔开。 10.3 综合应用程序 创建一个随机文件,用来存储银行账号、用户名、密码和余额信息,程序要求能够根据用户的账号和密码进入系统,进而可以查询账户的余额、存款、取款,当客户发生交易额时,能更新余额信息,程序操作流程如下图所示。账户信息包括:账号、用户名、密码和余额。 实验总结:

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服