ImageVerifierCode 换一换
格式:DOC , 页数:18 ,大小:75.04KB ,
资源ID:2987929      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

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

注意事项

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

C语言程序设计试验参考指导书.doc

1、C语言程序设计试验指导书课程编号: 课程名称:C语言程序设计 试验课时: 44 一、本试验课性质、任务和目标本试验课目标是使学生掌握C语言编程常见方法,熟悉该语言中语法、词法规则,为以后进行软件开发和学习后继专业课程打下基础。经过学习能够利用C语言中各个知识点编写能完成一定功效程序。训练学生进行复杂程序设计技能和培养良好程序设计习惯,其关键程度决不亚于知识传授。把高级语言学习和程序设计、上机实践紧密地结合起来,以提升学生能灵活利用新知识分析问题和处理问题能力。二、本试验课所依据课程基础理论本试验课基于C语言语法和词法规则、数据表示及算法处理,而语法及算法正是高级语言程序设计关键研究对象。C语言

2、程序设计关键任务是:C 语言是一个应用广泛结构化程序设计语言,本课程介绍C语言基础概念、基础语法和编程方法,关键描述C语言结构化特征,并经过本课程学习,使学生掌握一定结构化程序设计知识,和用C语言编写程序能力。三、试验类型和要求在做每个试验之前,让学生对此次试验相关内容进行预习、算法设计、步骤图设计、编写程序,做好试验准备工作;写出预习汇报,画出步骤图,要求独立完成。说明:1、试验类型:设计性; 2、试验要求:必做。四、每组人数和试验课时数每组1人,试验课时数44课时。五、考评方法和评分措施 试验总成绩=出勤情况*10%+试验汇报*20%+平时*30%+试验表现*40%六、本试验课配套教材或试

3、验指导书谭浩强. C程序设计. 北京:清华大学出版社 ,3月第3版谭浩强. C程序设计题解和上机指导. 北京:清华大学出版社 ,3月第3版谭浩强. C程序设计试题汇编. 北京:清华大学出版社 ,3月第2版夏宽理. C语言程序设计. 北京:中国铁道出版社,2月第1版夏宽理. C语言程序设计上机指导和习题解答. 北京:中国铁道出版社,2月第1版王士元. C高级实用程序设计. 北京:清华大学出版社,1996年1月第1版七、试验汇报要求在机器上交作业,每次试验成绩分为优、良、及格、不及格,未参与为0分。要求认真书写试验汇报。试验汇报编写要求:1试验题目2试验要求3程序步骤图4调试过程(试验过程出现问题

4、、处理方法)5程序代码及运行结果。八、试验内容试验一:C语言运行环境认识和简单C程序【目标和要求】 1、了解TC环境下C语言运行环境,熟悉编译系统操作环境。2、了解在该系统上怎样编辑、编译、连接和运行一个C程序。3、经过运行简单C程序,初步了解C源程序特点。4、掌握和了解C程序中最基础C语句。【试验内容】1、题目:由键盘输入两个整数,计算并输出两个数之和。2、程序以下: #include “stdio.h” void main() int a,b,sum;printf(“Please input two integer numbers:n”);scanf(“%d%d”,&a,&b);sum=a

5、+b;printf(“%d+%d=%d”,a,b,sum); 3、具体操作: (1)输入程序,然后进行编译连接。若在编译中有词法或语法错误,则依据提醒进行修改,再进行调试,直到没有语法错误。 (2)运行程序,依下列不一样方法输入数据,查看程序实施结果。 12_ 34 12 34 1234 【试验分析和讨论】 1、总结C程序基础结构和书写规则。2、分析调试过程中常见错误提醒和处理策略。试验二:C语言程序单步调试试验三:选择结构程序设计【目标和要求】 1、了解三种基础数据类型定义。2、掌握多种不一样运算符及其对应表示式使用。3、熟练掌握if语句和switch语句使用【试验内容】一、判定方程ax2+

6、bx+c=0有多个解,若有,则输出其解。 1、算法分析:对于方程ax2+bx+c=0解,存在以下情况:a=0,不是一元二次方程;b2-4ac=0,有两个相等实根;b2-4ac0,有两个不等实根;b2-4ac0) x1=(-b+sqrt(d)/(2*a) x2=(-b-sqrt(d)/(2*a) else x1=(-b+sqrt(-d)i)/(2*a) x2=(-b-sqrt(-d)i)/(2*a)2、程序代码:#include “stdio.h” #include “math.h”void main() float a,b,c,x1,x2,d; printf(“请输入ax2+bx+c=0方程三

7、系数值:”); scanf(“%f%f%f”,&a,&b,&c); if (abs(a)=1e-6) /a=0 printf(“该方程非一元二次方程.n”); else d=sqr(b)-4*a*c;if (abs(d)1e-6) x1=(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);printf(“该方程两个不等实根为:x1=%4.2f,x2=%4.2f”,x1,x2);else / sqr(b)-4*a*c0 printf(“该方程两个复数根为:x1=%4.2f+%4.2fi,x2=%4.2f-%4.2fi” ,-b/(2*a),sqrt(-d)/(2*a),

8、 -b/(2*a),sqrt(-d)/(2*a); 二、简单菜单程序设计。假设要求设计一菜单以下: 主 菜 单 1-汉字 2-拼音 3-英文1、算法分析:(1) 依据要求使用输出语句将上述菜单输出,提醒按要求选择。(2) 利用if语句或switch语句,编写分支结构。2、程序代码:#include “stdio.h”void main() int i; printf(“nnn=主 菜 单=n”); printf(“ (中 国)”) printf(“ 1-汉字n”); printf(“ 2-拼音n”); printf(“ 3-英文n”); printf(“请选择:”); scanf(“%d”,&

9、i); switch(i) case 1:printf(“ 中 国n”);break;case 2:printf(“ Chinan”);break;case 3:printf(“ Zhong guon”);break; 【课后练习】1、判定十二个月份是不是闰年。2、从键盘上输入1-7之间数字,输出表示一个星期中对应某一天英文单词。【试验分析和讨论】 1、总结分支选择结构设计方法和技巧。2、掌握简单菜单设计。试验四:循环结构程序设计【目标和要求】 1、掌握三种循环语句在编程中使用。2、了解break语句和continue语句在循环结构中不一样作用。3、了解循环嵌套,学会穷举算法和迭代算法。【试验

10、内容】一、输入两个正整数,求出它们最大条约数和最小公倍数。1、算法分析: 辗转相除法对于两个数m和n,将大数放在m中,小数放在n中,用n去除m,若余数为0,则n为最大条约数,不然将n作为m,余数作为n,再用n去除m,直到余数为0,则n为最大条约数。2、程序代码: #include “stdio.h” #include “math.h” void main() int m,n,t,max,min;printf(“请输入两个正整数:”);scanf(“%d%d”,&m,&n); min=m*n;if (mn) t=n;n=m;m=t;while(n!=0)t=m%n;m=n;n=t;printf(

11、“最大条约数为:%dn”,m);printf(“最小公倍数为:%dn”,min/m);二、将一张100元钱,换成10元,20元,50元零钱,问有多少种不一样换法(假设三种零钱每种全部可不出现)。1、算法分析 利用穷举算法实现:考虑到三种零钱多种能够不出现,则各自张数范围以下: 10元-0张 到 10张 20元-0张 到 5张 50元-0张 到 2张 而且要考虑到共数只有一张100元票子。2、程序代码: #include stdio.h void main() int Tencount,Twecount,Fifcount,i=0; for(Tencount=0;Tencount=10;Tenco

12、unt+) for(Twecount=0;Twecount=5;Twecount+) for(Fifcount=0;Fifcount=2;Fifcount+) if (Tencount*10+Twecount*20+Fifcount*50=100) printf(第%d种换法为:10元 %d张 20元 %d张 50元 %d张n,+i,Tencount,Twecount,Fifcount); 【课后练习】 *1、求1100之间,能被5整除数之和。 * * *2、判定任一个数是否是质数。 * * * * *3、输出一有规则图形,如右图。 * * * *【试验分析和讨论】 1、分析总结for语句,w

13、hile语句,do-while语句使用方法。2、巧用break语句和continue语句。试验五: 数组及其应用【目标和要求】 1、掌握一维数组和二维数组使用。2、掌握字符数组和字符串区分和使用。3、熟练掌握和数组相关算法(选择排序和冒泡排序、查找和插入)。【试验内容】一、输入一个整数,将其插入一含有9个数有序序列中,确保插入后其仍然有序,。 1、算法分析:将待插入数和序列中每个数进行比较,找到其插入具体位置i; 将从第i个数组元素开始,一直到原数组中最终一个元素,整体往后移,空出一空间来存放待插入整数。 2、程序代码: #include stdio.h void main() int a10

14、=2,5,7,11,14,19,21,33,67,i,k,m; printf(“原数组为:”); for(i=0;i9;i+) printf(“%4d”,ai); printf(“n请输入待插入整数:”); scanf(“%d”,&m); for(i=0;i9;i+) if (m=i;k-) ak=ak-1; /移位,准备插入新整数ai=m; printf(“新数组为:”); for(i=0;i10;i+) printf(“%4d”,ai);二、编程实现:将字符串str2连接到字符串str1 后,组成新字符串str1。 1、算法分析: 本程序即实现字符串处理函数strcat()功效。两字符串s

15、tr1和str2进行连接,要注意是字符串结束标志。 2、程序代码: #include stdio.h #include string.h void main() char str140,str220,i,j,len1,len2; printf(请输入字符串str1:); gets(str1); len1=strlen(str1); printf(请输入字符串str2:); gets(str2); len2=strlen(str2); for(i=len1,j=0;jlen2;i+,j+) str1i=str2j;str1i=0; printf(新字符串str1为:); puts(str1);

16、【课后练习】1、 判定一方阵是不是对称矩阵。2、 实现两个字符串拷贝功效。3、 运行折半查找法,在一个有序序列中查找某一特定数。【试验分析和讨论】1、 分析两种基础排序算法关键和二者不一样之处。2、 在实现字符串处理函数时部分注意事宜及其实现方法。3、 讨论二维数组处理矩阵和行列式。试验六: 函数及其应用【目标和要求】 1、掌握C中函数定义、调用及设计。2、掌握函数嵌套调用、递归调用设计。3、掌握变量、函数作用域及存放类。【试验内容】一、设计一个子函数对n个整数进行排序,由主函数从键盘接收若干个数,调用子函数进行排序,并在主函数中进行输出显示。1、算法分析: 子函数设计 以两个参数来实现,一个

17、是接收主函数传来数组首地址,另一个是持排序整数个数,如fun(int a,int n); 主函数实现 定义一整型数组,从键盘上接收若干个整数,调用子函数fun,再将最终结果输出。2、程序代码:#include stdio.hvoid fun(int a,int n) / 选择排序算法 int i,j,t; for(i=0;in-1;i+) for(j=i+1;jaj) t=ai;ai=aj;aj=t;void main() int a10,i; for(i=0;i10;i+) scanf(%d,&ai); printf(输入数值序列为:); for(i=0;i10;i+) printf(%4d

18、,ai); printf(n); fun(a,10); printf(输入数值序列为:); for(i=0;i10;i+) printf(%4d,ai); 二、输入任意两数m,n值,输出下列表示式值。 S= 1、算法分析 编写一函数fac(n), 返回n!值。 编写主函数,从键盘输入m,n值,调用上述fac()函数,计算表示式值,并将其输出。 2、程序代码 #include “stdio.h” long fac(int n)if (n=1) return 1; else return n*fac(n-1);void main()int m,n,t; float s;printf(“please

19、 input 2 integer numbers:”);scanf(“%d%d”,&m,&n);if(mn) t=m;m=n;n=t;printf(“s=%f”,fac(m)/(fac(m-n)fac(n);【课后练习】1、 若正整数A恰好出现在其平方数右侧,则称A为一个同构数。如:5,6,76。求100以内全部同构数。要求:(1)编写一子函数int fun(int n),判定给定正整数n是不是同构数,若是,返回1,不然,返回0。(2)编写主函数,调用函数fun(),寻求并输出100以内全部同构数。(3)在输出同构数同时,要输出其平方值。2、 利用递归,求任一个字符串长度。【试验分析和讨论】1

20、、 被调函数实现及调用过程。2、 简单递归问题实现。试验七:指针及其应用 【目标和要求】 1、了解指针定义和应用。2、掌握使用指针变量程序设计。3、 了解使用函数指针程序设计。4、 了解使用指针数组程序设计。【实现内容】一、设计一程序,将两个变量值进行交换。1、 算法分析:(1)编写一个函数swap(int *p,int *q),交换两个参数指针所指数据。(2)编写主函数,调用函数swap,将两个变量值进行交换。2、 程序代码:#include “stdio.h”void swap(int *p,int *q);void main()int a,b;printf(“请输入两个整数:”);sca

21、nf(“%d%d”,&a,&b);printf(“两个数交换前次序为:a=%d,b=%d”,a,b);swap(&a,&b);printf(“两个数交换后次序为:a=%d,b=%d”,a,b);void swap(int *p,int *q)int t;t=*p;*p=*q;*q=t;二、编程实现:利用指针将字符串str2连接到字符串str1 后,组成新字符串str1。 1、算法分析: 本程序即实现字符串处理函数strcat()功效。两字符串str1和str2进行连接,要注意是字符串结束标志,并利用指向字符串指针来实现。 2、程序代码: #include stdio.h #include st

22、ring.h void main() char str120 ,str210,*p=str1,*q=str2 ,j,len1,len2; printf(请输入字符串str1:); gets(str1); len1=strlen(str1); p=p+len1-1; printf(请输入字符串str2:); gets(str2); len2=strlen(str2); for( j=0;jlen2; j+) *(+p)=*(q+);str1len1+len2=0; printf(新字符串str1为:); puts(str1); 【课后练习】1、利用指向数组指针,求一数组中全部元素之和。2、【试验

23、分析和讨论】试验八:结构体及其应用 【目标和要求】 1、了解结构体类型定义。2、掌握结构体类型变量使用。【试验内容】有10个学生,每个学生包含学号、姓名、三门课成绩,从键盘输入10个学生数据,要求输出三门课中每一门课平均成绩,和最高分学生数据。1、算法分析: 定义一个结构体类型,其中含有学号、姓名、三门课成绩、总分数据;前后依据要求处理上述问题。2、程序代码:#include stdio.htypedef struct stuint number;char name4;float len1,len2,len3;float score;student; void main() student s

24、tu10;int i,flag;float ave3,sum3=0,0,0,max=0;printf(请输入10位同学全部信息:);for(i=0;i=max) max=stui.score; flag=i; sum0+=stui.len1; sum1+=stui.len2; sum2+=stui.len3; for(i=0;i3;i+) avei=sumi/3;printf(三门课平均成绩分别为); for(i=0;i3;i+) printf(%6.2f,avei); printf(n最高分是:%d %s %6.2f %6.2f %6.2f,stuflag.number,stuflag.na

25、me,stuflag.len1, stuflag.len2, stuflag.len3);【试验分析和讨论】 13个人围成一圈,从第1个人开始次序报号1、2、3。凡报到“3”者退出圈子,找出最终留在圈子中人原来序号。试验九: 链表处理【目标和要求】 1、了解键表相关概念。2、掌握单向键表创建、编历、插入、删除等简单处理。【内容】创建一个链表。#include stdio.h#include stdlib.htypedef struct list int data;struct list *next;list;void main()list *head,*ptr;int num,i;ptr=(l

26、ist *)malloc(sizeof(list); head=ptr;printf(Please input 5 numbers:);for(i=0;idata=num;ptr-next=(list *)malloc(sizeof(list);if(i=4) ptr-next=NULL; else ptr=ptr-next;ptr=head;printf(The value is:);while(ptr!=NULL)printf(-%d,ptr-data);ptr=ptr-next;getchar();【试验分析和讨论】试验十:文件及其应用【目标和要求】 1、了解利用于文件操作库函数。2、掌

27、握对文件进行简单处理。【试验内容】有5个学生,每个学生包含学号、姓名、三门课成绩,从键盘输入5个学生数据,计算每个人平均成绩,并将原有数据及平均成绩存放于磁盘文件“stud.txt”中。1、算法分析: 先将5个学生相关信息从键盘上输入,并求出各自平均成绩;再次以写方法打开一个文件“stud.txt”,将5个学生信息全存入文件中。 2、程序代码: #include stdio.htypedef struct stuint number;char name4;float len3,ave;student; void main() student stu5; FILE *fp;int i ;prin

28、tf(请输入5位同学全部信息:);for(i=0;i5;i+) scanf(%d%s,&stui.number, stui.name); stui.ave=0; for(int j=0;j3;j+) scanf(%f,&stui.lenj); stui.ave+=stui.lenj;stui.ave/=3;fp=fopen(stud.txt,w+);for(i=0;i5;i+)fprintf(fp,%d %s %5.2f %5.2f %5.2f %5.2f, stui.number, stui.name, stui.len0,stui.len1,stui.len2,stui.ave);fclose(fp);【试验分析和讨论】 将上述问题中“stud.txt”文件中学生数据,按平均分进行排序处理,将已排序学生数据存入一新文件“stu.txt”中。

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

关于我们      便捷服务       自信AI       AI导航        获赠5币

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

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

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

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服