C语言程序设计课件:综合案例设计_第1页
C语言程序设计课件:综合案例设计_第2页
C语言程序设计课件:综合案例设计_第3页
C语言程序设计课件:综合案例设计_第4页
C语言程序设计课件:综合案例设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计

综合案例设计13.1链表

13.2队列

13.3栈

13.4存储管理

13.5进程调度

13.6简单计算器实现

13.7算数表达式求值

13.8迷宫问题

13.9贪吃蛇游戏

13.10黑白棋游戏

13.1链表13.2队列

13.3栈

栈是限定仅在表的一端进行插入或删除操作的线性表。

插入或删除尾端称为栈顶,另一端称为栈底。

假设栈中元素按a1,a2,…,an的次序进栈,退栈的第一个元素应为栈顶元素an。

因此栈又称为后进先出的线性表。13.4存储管理

13.5进程调度

进程管理是分时操作系统的核心算法。

进程共有三个状态:就绪、运行和等待。

如果进程已具备执行条件,但是因为处理机已由其它进程占用,暂时不能执行而等待分配处理机,称此种进程处于就绪状态。

当一个进程已分配到处理机,它的程序正由处理机执行时,称此进程处于执行状态。

进程因等待某一事件(如等待某一输入或输出操作完成)而暂时不能运行的状态称为等待状态。

当进程由于时间片到期而被内核中断时,直接进入就绪态状态。13.6简单计算器实现

从键盘上输入数据进行加、减、乘、除四则运算(以“a运算符b”的形式输入),判断输入的数据是否可以进行计算,若能计算,则输出计算结果。程序代码如下:#include<stdio.h>voidmain(){floata,b;charc;printf(“请输入运算格式:a+(-,*,/)b\n”);scanf(“%f%c%f”,&a,&c,&b);switch(c){case‘+’:printf(“%f\n”,a+b);break;case‘-‘:printf(“%f\n”,a-b);break;case‘*‘:printf(“%f\n”,a*b);break;case‘/’:if(!b)printf(“除数不能是零\n”);elseprintf(“%f\n”,a/b);break;default:printf(“输入有误!\n”);}}13.7算数表达式求值

表达式求值是程序设计语言编译中的一个最基本问题。

它的实现是栈应用的一个典型例子。

表达式的普通记法被称为中缀法,就是操作数分放在操作符的两边。操作数放在操作符前面的表示方法,称为前缀表达式或波兰表达式;

操作数放在操作符后面的表示方法,称为后缀表达式或逆波兰表达式。栈求值中最常用的是波兰记法,

例如,7,4,+相当于7+4。在波兰记法中,从左向右,遇到操作符便立即执行。

因此,25,7,4,*,+相当于25+(7*4)。13.8迷宫问题

走迷宫是实验心理学中一个古典问题。

用计算机解迷宫路径的程序,就是仿照人走迷宫而设计的,也是对盲人走路的一个机械模仿。

假设迷宫是一个矩形,把它分成许多小方格,在每个小方格上或者已筑成墙或者没有,这就成为一个迷宫。

走迷宫就是从一个小方格沿上、右上、右、右下、下、左下、左和左上八个方向到邻近的方格,当然不能穿墙。设迷宫的入口是在左上角那个方格,而出口是右下角那个方格。在计算机中,迷宫可用一个二维的数组来表示。若某小方格是墙,则相应数组元素为1,否则为0,表示可走的路。

走迷宫的基本思想是:在当前位置上,从上方开始,沿顺时针方向依次向八个方向探测前进路径,向探测到的通路方向前进一步,如此循环,直到迷宫的"出口",或判断后宣布这是一个不存在通路的死迷宫。13.9贪吃蛇游戏

贪吃蛇游戏是一个非常经典的游戏.

在游戏中,贪吃蛇按用户所按的方向键折行,蛇头吃到各种食物后蛇身变长,如果贪吃蛇碰上墙壁或者自身的话,游戏结束。13.10黑白棋游戏

黑白棋是一个古典游戏。棋盘是一个有8×8方格的棋盘。

落子的方法是把自己颜色的棋子放在棋盘的空格上,当自己放下的棋子在横、竖、斜八个方向內有一个自己的棋子,则被夹在中间的全部会成为自己的棋子。

只有在可以翻转棋子的地方才可以落子。如果棋盘上没有地方可以落子,则该对手连下。当棋盘下满时或一方的棋子数为零时棋局结束,棋子多的一方获胜。

本章小结本章介绍了10个实训案例程序,其中不仅包括常用数据结构的综合练习,如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论