欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C语言实习内容文档格式.docx

    • 资源ID:3901785       资源大小:380.49KB        全文页数:49页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言实习内容文档格式.docx

    1、调试程序的经验固然可以借鉴他人的现成经验,但更重要的是通过自己的直接实践来积累,而且有些经验是只能“意会”难以“言传”。调试程序的能力,是学完C语言程序设计之后,每个学生应当掌握的一项基本功。因此,在实习时千万不要在程序通过后就认为完成任务了,而应当在已通过的程序基础上作一些改动(例如修改一些参数、增加程序一些功能、改变输入数据的方法等,甚至于“自设障碍”,即把正确的程序改为有错的,如用scanf函数输入变量时,漏写“&”符号,使数组下标越界,使整数溢出等),观察和分析所出现的情况,并认真、及时总结。这样的学习是灵活主动的学习而不是呆板被动的学习,才会有真正的收获。二、实习内容(一)三种基本结

    2、构应用练习顺序结构、选择结构、循环结构等三种结构是C语言程序设计的三种基本结构,严格来说,所有的C程序都应由这三种基本结构组成。在实习一开始就安排这三种基本结构的应用练习,旨在使学生对于这三种结构有一个更加深刻的理解,能够根据处理问题的需要选择不同的结构进行处理。由于顺序结构在这三种结构中是最基本的,实际上当我们把程序中的选择结构部分和循环结构部分看作一个整体时,那么,整个程序就总是由顺序结构组成的了。在此我们不再布置专门练习顺序结构的题目,主要给学生提供几个有关选择控制语句和循环控制的练习。1根据字母判断是星期几题目如下:平时我们看到M时就想到星期一,看到W时就想到星期三,请用C语言程序编写

    3、当输入星期几的第一个字母就判断出是星期几,如果第一个字母一样,则用第二个字母来判断。要求输入为字母Y时,结束判断。(1)题目分析本题要求使用C语言的switch语句,根据输入的第一个字母、第二个字母,判断是星期几。本题的目的是让学生掌握多分支switch语句的用法。当一个表达式取不同的值时,则会有不同的结果,所以用多分支switch语句来解决输入不同的字母而输出不同值的方法比较好,如果第一个字母一样,如星期二和星期四(Tuesday和Thursday),则用if语句判断第二个字母,这样就可以解决问题了。同时当输入字母“Y”时,则结束程序。当输入的不是星期几的第一个字母时,则可给出出错信息:pr

    4、intf(“DATA ERROR!”);当输入两个星期几相同的字母时,则可给出提示信息:printf(“PLEASE INPUT SECOND LETTERn”),这样就可以判断是星期几了。另外为了实现可以多次进行判断,此题还需用循环进行控制。根据以上分析,可画出本题的N-S图,如图1所示。请学生认真分析此N-S图,据此写出程序代码,并上机调试运行,记录程序的运行结果。当输入字符不为Y时根据输入字符确定是星期几M输出Monday;break;T判断输入的第2个字符=u真(T) 假(F)输出chu Tuesday第2个字符=h假(F)输出Thursday输出DATA ERROR!W输出Wedne

    5、sday;F输出Friday;S判断输入的第2个字符=a输出chu Saturday第2个字符= u输出Sunday 输出DATA ERROR!其它图1(2)关键程序提示输入字母为“Y”时结束判断,可用如下所示的表达式作为条件:(letter=getchar()!=Y) /*变量letter用来存放输入的字符*/当输入S,再输入a时则输出星期六,而再输入为u时,则输出星期天,否则就输出错误,这一过程可用如下程序实现:case S:printf(“please input second lettern”); if (letter=getchar()=a) printf(“Saturdayn”);

    6、else if(letter=getchar()=u) printf(“Sundayn”);else printf(“DATA ERROR!n”);2输出正弦曲线以下程序可以输出sin(x)函数02的图形。(请学生自行上机验证)#define PAI 3.14159 #include math.hmain()double x;int y,i,yy;for(i=1;i80;i+)if(i= =40) printf(“*”);else printf(“-”);printf(“n”);for (x=10.0;xy?40:y;=yy;if(i= =y)printf(“*”);else if(i= =4

    7、0) printf(“|”);else printf(“ ”);根据以上程序,编写程序,打印出如图2所示正弦函数图形。此题主要考查for循环语句的应用。通过循环语句控制在输出屏幕上的不同位置打印空格和非空格字符(如“*”,“#”等),从而可以输出按一定规律排列的图形。此类问题的关键是正确控制空格字符的插入位置及个数,以及不同行所应插入的非空格字符的个数。在解决时还要注意回车的控制。请学生认真分析给出的示例程序,写出所求问题的算法,并编写出正确的程序,调试运行,观察程序运行的结果。(2)灵活运用完成本题后,学生可根据各自情况,选做下面的题目,以达到灵活运用的目的。选做题一:通过循环实现打印出如图

    8、3所示的菱形图案。选做题二:打印如图4所示的数字金字塔(注意观察数字分布的规律)。3完全数编写一个程序,求出500以内的所有完全数。(一个数如果恰好等于它的因子(自身除外)之和,则称该数为完全数。如6=1+2+3,则6是完全数)本题使用了C语言中的循环,输出500以内的所有完全数。目的是让学生掌握完全数的概念及多种循环语句的区别。要求出500以内的所有完全数,利用循环语句求1-500这500个数的因子,然后再把每个数的因子加起来,但不能加上它本身,同时再利用if条件语句,看这个数本身是不是等于所有因子的和(它自身除外)。本例使用dowhile语句,while 语句与dowhile语句及for语

    9、句都能控制循环,注意它们的特点及格式的不同,特别是书写上的不同点。请学生仿照第1题写出本题的N-S图。判断i是否是a的公约数的条件可表示为: (a%i=0 )利用dowhile语句把某个数的公约数加起来,可用下面的程序段来实现:do if (a%i=0) /*判断i是否可整除a*/sum=sum+i; /*若能整除,则累加到变量sum内*/i+;while(i=a/2); (3)说明此题的求解类似于我们曾做过的求“水仙花数”的程序,学生可以参照求“水仙花”数的程序编写出本题的程序。(二)函数我们如果要用C语言进行大程序设计,一般采用模块化的思想。其基本思想是将一个大的程序按照功能进行分割成一些

    10、模块,使每一个模块都成为功能单一、结构清晰、接口简单、容易理解的小程序。C语言是用函数来实现这种模块化功能的。我们用C语言设计程序,任务只有一种,就是编写函数,至少也要编写一个main()函数。根据程序的复杂程度,还可以编写多个子函数。在这一部分我们就通过练习进一步掌握用子函数来进行模块化程序设计的方法,熟悉子函数的调用和执行过程。4求最大公约数与最小公倍数编写求两个非负数u和v的最大公约数和最小公倍数的程序,要求求最大公约数和最小公倍数的过程用子函数来实现。要求分别编写求最大公约数与求最小公倍数子函数,通过主函数调用子函数,在主函数中分别将子函数返回的最大公约数与最小公倍数输出。在定义函数时

    11、,要注意函数的类型,同时在调用时注意其“实参”和“形参”之间的关系。本题主要考查学生编写子函数处理复杂问题的能力,以及求最大公约数和最小公倍数的方法。求最大公约数一般用辗转相除法,其算法可以描述为:当v不为0时,辗转用操作: r=u%v,u=v,v=r;(r代表余数) 消去相同的因子。直到v=0时,u的值即为所求的解。而从数学上我们知道,u和v的最小公倍数可以这样来求:u*v/(u和v的最大公约数)。在求最大公约数时,注意是用大数除以小数的,即如果用u%v,则应保证uv,否则,就要进行u和v的互换。互换时可以这样实现(t为中间变量):if (u0) p=power(x,n-1)*x; /*当n

    12、0时,调用递归函数*/else p=1; /*当n=0时,返回1,并由此递推出xn的值*/(3) 选做题学生完成此题后,要认真思考,一定要弄清楚递归函数的执行过程。可以试着将求最大公约数的函数改用递归方法来实现,其求解过程用递归描述为(gys代表求最大公约数的函数名,a,b是待求最大公约数的两个数,且ab):(三)数组应用数组是一种构造数据类型,指的是一组同类型数据组成的序列,运用数组可以高效地处理很多问题。课下学生应认真复习有关数组的定义、初始化和引用方式等内容。6选择法排序对于n个给定的数,按照选择法由小到大对其进行排序。要求用一维数组来存放这n个数,且要以子函数来实现。在计算机内部,信息

    13、常以数组形式存在,信息的初始化有多种方法,使用输入函数循环控制是常用的方式。对数组中的数据进行排序是数据处理的基本操作。排序的方法较多,如冒泡法、选择法、插入法等。这里要求用选择法对n个数据排序。选择法的思路是,对于给定的一组数据,每次从未经排序的数据当中选择最小的数据与其中的第一个数据交换位置,直至最大的数据结束。对于n个数排序完成共需比较n-1轮,每一轮比较的次数为:第i轮需比较n-i次 。本题主要考查学生对选择排序算法的掌握程度,以及用数组处理问题的方法。要求画出流程图,然后实现之。用给定的数据对数组初始化(首先应确定排序数据个数即n的值) for(i=0;n;i+) sanf(“%d”

    14、,&ai);最小数据的确定循环结束时ak是剩余数中的最小数 for(j=i+1;jj+)if(aj *maxp中的地址放入max(max=p)*p*minp中的地址放入min(min=p)交换(将最大数与第一数交换,最小数与最后一数交换)此题是一道用指针处理一维数组的问题。搞清楚数组地址的表示方式,将相应的地址赋给一个指针变量就可以了。把此题关键部分即进行查找最大和最小数以及交换的N-S图画出,如图8所示学生应仔细分析,写出程序,并给出一组运行结果。(2)程序提示判断并进行交换的子函数可参考下面的程序段实现:change(int array10)int *max,*min,*p,*array_

    15、end; array_end=array+10;max=min=array;for(p=array+1;p*max) max=p; /*max中存放10个数中的最大数*/ else if (*p*min) min=p; /*min中存放10个数中的最小数*/*p=array0;array0=*max;*max=*p; /*最大数放在array0*/*p=array9;array9=*min;*min=*p; /*最小数放在array9*/return; 学生要认真分析各语句含义,在主函数中完成对此函数的调用。10用指针处理矩阵转置问题写一个函数,将一个34的矩阵转置。要求用指针处理数组。所谓矩

    16、阵转置是指一个矩阵的行和列互换,如有 ,则转置以后将变为:此题考查学生用二维数组处理矩阵问题的方法,另外由于题目要求用指针来进行处理,所以首先要搞清楚指向二维数组的指针和其地址间的关系。如:有 int *p,a34;则p=&a00,就代表将指针p指向数组的第一个元素,它与p=a是等价的。分析问题,并写出其算法,然后上机实现此题。在程序的定义部分,定义数组和指针,可用下面语句:int a34,*p;使指针p和数组a之间建立关系,即使p指向数组a: p=&a00;矩阵转置的实现要设计成子函数形式,其关键部分可用下面的双重循环来进行控制:3; for(j=i;4;t=*(p1+3*i+j); /*p

    17、1为形式参数*/*(p1+3*i+j)=*(p1+3*j+i);*(p1+3*j+i)=t; /*循环体用来实现行列交换*/(五)文件操作及C的图形处理文件(file)是程序设计中的一个重要概念。所谓“文件”是指存储在外部介质上的数据的集合。要向外部介质(如磁盘)上存储数据必须先建立一个文件(以文件名标识,才能向它输出数据)。由于学生在参加计算机等级考试时会遇到文件操作的考题,故在此选了一道有关文件操作的题目,希望学生能够认真分析,以便建立文件操作的初步概念。由于本课程课时限制,具体完成此题的工作,需要学生在课下查阅相关资料来完成,如有问题可以在实习过程中,请指导老师帮助解决。11字母大小写转化并在磁盘中保存从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以“!”结束。本题利用C语言中文件操作语句及大小写字母的关系,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。本题是让读者掌握磁盘文件的创建方法及大小写字母的转化方法。本题考查的是如何实现大小写转换,主要使用原理为小写字母与大写字母之间值相差32。把它输出到磁盘文件中,首先要建立文件,然


    注意事项

    本文(C语言实习内容文档格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开