C语言程序设计课程设计(论文)贪吃蛇.doc

上传人:laozhun 文档编号:2384713 上传时间:2023-02-17 格式:DOC 页数:23 大小:373.50KB
返回 下载 相关 举报
C语言程序设计课程设计(论文)贪吃蛇.doc_第1页
第1页 / 共23页
C语言程序设计课程设计(论文)贪吃蛇.doc_第2页
第2页 / 共23页
C语言程序设计课程设计(论文)贪吃蛇.doc_第3页
第3页 / 共23页
C语言程序设计课程设计(论文)贪吃蛇.doc_第4页
第4页 / 共23页
C语言程序设计课程设计(论文)贪吃蛇.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《C语言程序设计课程设计(论文)贪吃蛇.doc》由会员分享,可在线阅读,更多相关《C语言程序设计课程设计(论文)贪吃蛇.doc(23页珍藏版)》请在三一办公上搜索。

1、- 大 学 C语言程序设计 课程设计(论文)题目: 贪吃蛇 院(系): 专业班级: 学 号: 学生姓名: 指导教师: 教师职称: 起止时间: 课程设计(报告)任务及评语院(系): 教研室:学 号学生姓名专业班级程序设计(报告)题目贪吃蛇程序设计(报告)任务程序设计的任务与要求:(1)掌握C语言编程的基础知识。(2)较熟练地编写C语言应用程序。(3)了解C语言的常用标准函数、编程技巧、异常处理。(5)联系已学过的内容,巩固所学的理论,增强独立工作能力。(6)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。(7)通过本次设计,进一步培养学生热爱专业的思想,同时对

2、本专业综合素质的提高起一个积极的推动作用。课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计报告。指导教师评语及成绩成绩: 指导教师签字: 2011年 1 月 4 日目 录第1章 C语言课程设计的实训目的与要求11.1 C语言课程设计目的11.2 C语言课程设计的实验环境11.3 C语言课程设计的预备知识11.4 C语言课程设计要求1第2章 C语言课程设计内容22.1程序功能介绍22.2程序整体设计说明22.2.1设计思路22.2.2数据结构设计及用法说明32.2.4各模块的功能及程序说明72.2.5程序结果82.3程序

3、源代码及注释10第3章 C语言课程设计总结17参考资料.20第1章 C语言课程设计的目的与要求1.1 C语言课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完程序设计语言(C)课程后进行的一次全面的综合练习。本课程设计的目的和任务: 1. 巩固和加深学生对C语言课程的基本知识的理解和掌握 2. 掌握C语言编程和程序调试的基本技能 3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力1.2 C语言课程设计的实验环境硬件要求能运行Windows 2000/XP操作系统的微机系统。C语言程序设计及相应的开发环境。1

4、.3 C语言课程设计的预备知识熟悉C语言及C语言开发工具。1.4 C语言课程设计要求1. 分析课程设计题目的要求2. 写出详细设计说明3. 编写程序代码,调试程序使其能正确运行4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告第2章 C语言课程设计内容2.1程序功能介绍贪吃蛇游戏是一个经典小游戏,深受众多玩家喜爱,其规则是:一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。此游戏不仅能锻炼人的思

5、维敏捷性,而且还可以提高玩家的逻辑判断能力。2.2程序整体设计说明任何一种游戏都必须具备开始部分,运行部分,结束部分。但其核心是运行部分,它是整个游戏程序的中间力量,故其对程序设计的严密性要求极其严格。2.2.1设计思路贪吃蛇游戏设计的虽然总体分为开始、运行、结束三个过程,但其内部程序非常之复杂具体包括开始时的状态,游戏进行中如果得分其分数的累加程序的设计,当玩家游戏结束时所出现的音频及图片效果等设计的程序主要包括主函数,printf()函数,scanf()函数等各种输入输出函数。同时还运用了各种数据类型和运算符以及各种选择结构循环结构的重复使用。特别是运用了数组结构(1.2.3维)和函数之间

6、的调用是程序更为完整清楚简便,易于读懂。这个程序的关键是表示蛇的图形以及蛇的移动。用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示。移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头。如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇,这时由于没有庆平的原因,原来蛇的位置和新蛇的位置差一个单位,所以看起来就像多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现和消失也是由画矩形块和覆盖

7、矩形块所覆盖。这样一个贪吃蛇游戏程序在所学的C语言知识下便设计成功。2.2.2数据结构设计及用法说明 开始部分:由于贪吃蛇游戏是运行在图形模式下的,所以第一步一定是初始化图形模式,接着要有开始的界面,就像书有封面一样,由此我设置了一个游戏的标题画面,除了游戏标题画面我还设置了一个欢迎画面,这样玩游戏时比较有真实感,图像感。标题画面以后,还要为游戏的运行部分作初始化,包括绘制游戏运行时的背景以及游戏运行时的音频效果,同时还要对游戏某些重要变量的初始化。运行部分:该部分作为游戏的核心部分,这里包括的函数比较多,也就是模块比较多,首先让我以故事的方式模拟一下贪吃蛇的游戏基本模式:假如某个世界上突然出

8、现一条蛇,它很短,它的运动神经异常,它没法停止自己的多动症在它的世界里就只有食物,它很饿,也很贪吃;同样在不明原因的情况下,食物从天而降,可惜的是没有落到嘴边;饥饿的主人公,不管它有没有毒,也不问食物的来历,径直向食物爬去;它吃到食物啦,它超出想象的同化能力让食物很快的成为自己身体的一部分,它的身子变长啦。当它吃到第一颗食物时,上帝有给它第二颗,于是它吃了第二颗,于是又变长了,于是又有第三颗它的身子是一直的加长,它不管自己过长身体的麻烦转身不便,继续吃下去,现在它是直接把嘴巴张大,好让食物有个绿色通道。但有时随着贪吃蛇的不断增长食物的停留时间也随之缩短,如果不及时吃掉的话食物就会消失。此时你的

9、分数停滞不前。如果在某天,它不小心咬到了自己,它才想起自己是一条毒蛇,于是晕死过去(不是毒死);又或者它往食物冲锋的时候,它失去控制,撞到了墙,导致了昏死。第一轮循环:第一步,出现食物;第二步,蛇不停运动;第三步,检查蛇是咬到自己或撞到墙壁;由第四步起游戏有两条支线(A、B):A :第四步,当蛇没有碰到自己或墙壁,蛇继续前进,绘制蛇的动作;第五步,判断蛇是否吃到食物,如果蛇吃到食物,身子变长,原来的食物消失;如果蛇没有在规定的时间内吃到食物,食物将自动消失。第六步,让玩家输入控制指令,让蛇在下一轮循环的第二步改变运动方向;第七步,第二轮循环的第一步,重复第一轮的步骤;B:第四步,蛇碰到自己或墙

10、壁,终止游戏。结束部分:游戏结束时,显示“GAME OVER”背景图象,并配有比较忧伤的音乐,已经是约定俗成的规律了,我所设计的贪吃蛇游戏也不例外。除了游戏结束画面外,我还设置了一个游戏退出画面,并提示玩家是否退出游戏或者是继续此前游戏。有了上述的大致划分,我把整个程序划分成(13+2)个基本模块(其实就是函数的基本应用以及根据函数的用途所划分的小模块)2.2.3程序结构(流程图) 总流程图 开始游戏的标题画面为运行部分初始化运行部分撞墙或咬自己NOYES游戏结束继续游戏 分流程图 (模块) STARTInitgra()Welcome()Title()Initgame()Drawfood()

11、Drawbg() Drawsnake() Snakemove() Eatfood() Close()Checkover()=0 Control()=0Gameover() End 1No keyboard hityesnobreaknoyesyesno图2.1流程图在设计贪吃蛇游戏时依据所需要处理的任务要求,规划输入数据和输出结果,决定存放数据的数据结构。语言中数据结构集中体现在数据类型上,因此在进行语言程序设计时,应统筹规划程序中所使用的变量,数组,函数,指针等,以及它们的类型等。这点是很重要的,如果在此期间选择不合适的变量或者数组,将来修改就十分困难,所以在设计时要秉着简单易懂的理念来设计

12、程序,并且要尽量失所编写的程序优化从而可以高速度运行程序。现在分析一下贪吃蛇游戏中的元素,继而得出与它们对应的在程序中的描述:蛇:基本描述:长度,颜色,位置。对应数据与数据类型:长度虽然可以用坐标表示,但是这样的话,运算量将很大,所以换算成较大的单位节数,以固定长度的每节描述;坐标-整型;颜色-整型; 位置-,坐标。增加的描述:蛇运动的方向,蛇的生命。对应数据与数据类型:这些描述是为了与程序的按键的输入部分与判断游戏结束部分相联系而设的。方向只有四个方向:上下左右。可以设置与之对应的四个整型数:3、4、2、1。贪吃蛇的生命就只有两种情况:死或生,对应的逻辑运算符为0或1及真假。食物: 基本描述

13、:颜色,位置。对应数据与数据类型:由于颜色设成固定的,所以不再讨论。位置X、Y坐标。增加的描述:食物的存在。对应数据与数据类型:这是为了避免重复出现食物而设置的,与绘制食物的函数有联系。只有两个值:0或1(没有食物,有食物或食物消失)其他的元素:墙,由于它在显示上是作为背景而存在的,所以并没有什么说明实际的墙壁就是四条直线组成的边框,由坐标描述。还需要的变量:键盘键入的键值(作为全局变量,整型);经常要使用的循环变量;自定义的填充图案;说明文字的字符数组;游戏的记分;游戏的速度(蛇的速度)。i=蛇的节数-1i-第i节的y坐标=第i-1节的y坐标第i节的x坐标=第i-1节的x坐标i0snake.

14、direction蛇的方向第0节的x坐标加10第0节的x坐标减10第0节的y坐标减10第0节的y坐标加10yesno1向右 2向左3向上4向下图2.2蛇的不停运动的关键算法的流程图2.2.4各模块的功能及程序说明主要模块的实现思路和算法的流程图说明:总程序是整个贪吃蛇程序的一个概括其具体包括程序的开始,运行及结束和中间的具体细微的判断是否停止或继续进行此游戏。下面是整个程序中极其重要的部分亦是核心部分。关键所在蛇不停移动的Snakemove():蛇的不停移动,就是蛇的下一节取代前一节的位置,在计算机中就是蛇下一节的位置坐标变成前一节的位置坐标。在上文中,已定义蛇的位置坐标为数组类型,一组坐标对

15、应一节的位置,假设有i+1节,由0到i节,第i节的坐标取第i-1节的坐标,第i-1节的坐标取第i-2节的坐标直到第1节取第0节的坐标。而第0节的坐标,即蛇头的坐标要往某个方向变化,变化量为蛇每节的长度。蛇的这种坐标轮换需要循环语句使其继续下去。还有在游戏开始或结束时所出现的背景图或者是音频效果在此过程中运用了函数的输入输出如printf(),scanf()函数等。在游戏运行中所用到的数字(成绩)累加如函数的调用循环使用。 2.2.5程序结果运行程序得到如下初始界面图:图2.3程序结果图用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示:图2.4程序结果图蛇没有碰到自己或

16、墙壁,蛇继续前进:图2.5程序结果图游戏结束时,显示“GAME OVER”图2.6程序结果图2.3程序源代码及注释#define N 200#include #include #include #define LEFT 0x4b00#define RIGHT 0x4d00#define DOWN 0x5000#define UP 0x4800#define ESC 0x011bint i,key;int score=0;/*得分*/int gamespeed=50000;/*游戏速度自己调整*/struct Food int x;/*食物的横坐标*/ int y;/*食物的纵坐标*/ int

17、yes;/*判断是否要出现食物的变量*/food;/*食物的结构体*/struct Snake int xN; int yN; int node;/*蛇的节数*/ int direction;/*蛇移动方向*/ int life;/* 蛇的生命,0活着,1死亡*/snake;void Init(void);/*图形驱动*/void Close(void);/*图形结束*/void DrawK(void);/*开始画面*/void GameOver(void);/*结束游戏*/void GamePlay(void);/*玩游戏具体过程*/void PrScore(void);/*输出成绩*/*主

18、函数*/void main(void) Init();/*图形驱动*/ DrawK();/*开始画面*/ GamePlay();/*玩游戏具体过程*/ Close();/*图形结束*/*图形驱动*/void Init(void) int gd=DETECT,gm; registerbgidriver(EGAVGA_driver); initgraph(&gd,&gm,c:program fileswinyestc20hbgi); cleardevice();/*开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙*/void DrawK(void)/*setbkcolor

19、(LIGHTGREEN);*/ setcolor(11); setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/ for(i=50;i=600;i+=10)/*画围墙*/ rectangle(i,40,i+10,49); /*上边*/ rectangle(i,451,i+10,460);/*下边*/ for(i=40;i0;i-)/*蛇的每个环节往前移动,也就是贪吃蛇的关键算法*/ snake.xi=snake.xi-1; snake.yi=snake.yi-1; /*1,2,3,4表示右,左,上,下四个方向,通过这个判断来移动蛇头*/ switch(

20、snake.direction) case 1:snake.x0+=10;break; case 2: snake.x0-=10;break; case 3: snake.y0-=10;break; case 4: snake.y0+=10;break; for(i=3;isnake.node;i+)/*从蛇的第四节开始判断是否撞到自己了,因为蛇头为两节,第三节不可能拐过来*/ if(snake.xi=snake.x0&snake.yi=snake.y0) GameOver();/*显示失败*/ snake.life=1; break; if(snake.x0595|snake.y0455)/

21、*蛇是否撞到墙壁*/ GameOver();/*本次游戏结束*/ snake.life=1; /*蛇死*/ if(snake.life=1)/*以上两种判断以后,如果蛇死就跳出内循环,重新开始*/ break; if(snake.x0=food.x&snake.y0=food.y)/*吃到食物以后*/ setcolor(0);/*把画面上的食物东西去掉*/ rectangle(food.x,food.y,food.x+10,food.y-10); snake.xsnake.node=-20;snake.ysnake.node=-20; /*新的一节先放在看不见的位置,下次循环就取前一节的位置*

22、/ snake.node+;/*蛇的身体长一节*/ food.yes=1;/*画面上需要出现新的食物*/ score+=10; PrScore();/*输出新得分*/ setcolor(4);/*画出蛇*/ for(i=0;isnake.node;i+) rectangle(snake.xi,snake.yi,snake.xi+10, snake.yi-10); delay(gamespeed); setcolor(0);/*用黑色去除蛇的的最后一节*/ rectangle(snake.xsnake.node-1,snake.ysnake.node-1, snake.xsnake.node-1

23、+10,snake.ysnake.node-1-10); /*endwhile(!kbhit)*/ if(snake.life=1)/*如果蛇死就跳出循环*/ break; key=bioskey(0);/*接收按键*/ if(key=ESC)/*按ESC键退出*/ break; else if(key=UP&snake.direction!=4)/*判断是否往相反的方向移动*/ snake.direction=3; else if(key=RIGHT&snake.direction!=2) snake.direction=1; else if(key=LEFT&snake.direction

24、!=1) snake.direction=2; else if(key=DOWN&snake.direction!=3) snake.direction=4; /*endwhile(1)*/*游戏结束*/void GameOver(void) cleardevice(); PrScore(); setcolor(RED); settextstyle(0,0,4); outtextxy(200,200,GAME OVER); getch();/*输出成绩*/void PrScore(void) char str10; setfillstyle(SOLID_FILL,YELLOW); bar(50

25、,15,220,35); setcolor(6); settextstyle(0,0,2); sprintf(str,score:%d,score); outtextxy(55,20,str);/*图形结束*/void Close(void) getch(); closegraph();第3章 课程设计总结在这短短的两星期的时间内,通过老师的细心讲解和同学们之间互相的讨论,我深知课程设计是培养学生综合运用所学知识 ,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二

26、十一世纪的大学来说掌握程序开发技术是十分重要的,而C语言又是最常见,功能最强大的一种高级语言,因此做好C语言课程设计是十分必要的。当我们回顾起此次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,从迷茫到初步了解,从动脑思考到付出实践(上机具体运行)在短短半个月的日子里,学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从结论中悟出真谛,从失败中汲取教训,从成功中获取教训。才能真正为社

27、会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,但在老师和同学们的帮助下解决了很多很多值得探索和研究的问题。同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说函数的循环调用的使用,结构体,数组,指针,链表通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。我做的是贪吃蛇游戏。我认为是其中最简单的一个,但对我一个初学者来说却是一个很大的困难。更加是第一次做课程设计,实在不知道做课设的具体步骤,所以第一天下午在机房做了一个下午却丝毫没有进展,最主要

28、是不知从何开始,这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,才后悔上课的时候没有认真的听讲。还好时间还算是充裕,只好拿出书本重新复习一下。特别是在老师和同学们的帮助下,对课设有了初步的了解,同时对书本上的知识有了更深刻的认识。特别是数组,结构体,指针的部分及函数体的循环调用,几乎是一片空白。不过经过几天的努力,大体上把课本上的知识点看了一遍,知识点也都基本是撑握了,所以经过半个月的认真复习和精心编写程序。起初还算顺利,不过毕竟是个新手,还是不知如何具体的编写,于是就在网上下了一篇类似的程序,经过仔细的研究,终于读懂了C语言编程的基本过程和方法。 经过一波三折,终于开始正式编程。编程是一

29、件很枯燥很无聊的事情,但是出于完成作业,得到学分的压力,还必须强破自己坚持下去,按照老师所说的模块化思想,分部分的进行编写。而且编程是一件高精度、模范化的事情,稍有疏乎都会影响全局,也可能因为某一处的小的错误而导致整个程序的无法运行。所以认真仔细就是非很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。又经过几天的努力,终于把程序完成了,尽管程序还是有很多错误和漏洞,不过还是很高兴的。无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习C语言的一次实践作业,自己进步的证明。 通过这次课程设计,使我对C语言有了更进一步的认识和了解,要想学好它要重在

30、实践,要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过 程中,我会更加注视实践操作,使自己便好地学好计算机。在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。常

31、重要的了。开始的时候真的感觉编程是一件很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。又经过几天的努力,终于把程序完成了,尽管程序还是有很多错误和漏洞,不过还是很高兴的。无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习C语言的一次实践作业,自己进步的证明。 通过这次课程设计,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言

32、中经常出现的错误也不了解,通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过 程中,我会更加注视实践操作,使自己更好地学好计算机。在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。总的来说应当多谢老师给我们这次宝贵的机会,才使得我们学到如此丰富的知识,这不仅是一次考验更是人生中的一笔重要的财富,在之后当我们回想起来便是一种非凡的享受。同时它还让我明白了一个道理即是,在人生的路上我们会遇到坎坷不

33、平,或是风霜雨雪但是只要我们坚持秉着一颗坚韧的心,定会迎来一马平川,丽日晴空。参考资料 张强华. C 语言程序设计.2001年版.北京. 人民邮电出版社.2001. 徐新华. C 语言程序设计教程.1999年版.北京. 清华大学出版社.1999. 谭浩强. C 语言程序设计.1999年版.北京. 清华大学出版社.1999. 徐建民. C 语言程序设计.2002年版.北京. 电子工业出版社.2002. 李大友. C 语言程序设计.1999年版. 北京. 清华大学出版社.1999. 毕万新. C 语言程序设计.2005年版.大连. 大连理工大学出版社.2005. 刘燕. C 语言程序设计.2008

34、年版.北京. 中国铁道出版社.2008. 廖雷. C语言程序设计.2006年版.北京. 高等教育出版社.2006. 方少卿. C语言程序设计. 2007年版.北京. 中国铁道出版社.2007. 谭浩强. C语言程序设计. (第二版).北京.清华大学出版社.2007. 吴文虎. 程序设计基础.2003年版.北京. 清华大学出版社.2003. 钱启平. C裘宗燕.从问题到程序程序设计与C语言引论.第一版.北京:北京大学出版2006 朱战立,数据结构使用c.语言西安交通大学出版社,2005. 秦维佳;伞宏力;侯春光;孟艳红 .C/C+程序设计教程.机械工业出版社.2007-2-1语言程序设计基础. 2000年版.北京. 铁道谭浩强C程序设计题解与上机指导1998年版北京:清华大学出版社,1992 谭浩强C程序设计题解与上机指导1998年版北京:清华大学出版社,1992 廖雷C语言程序设计第2版北京:高等教育出版社,2006 贾学斌,宋海民C语言程序设计06年版北京:中国铁道出版社,2007 赵海廷C语言程序设计05年版北京:人民邮电出版社,2005 何光明,杨静宇C语言程序设计与应用开发06年版北京:清华大学出版社,2006

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号