版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省永州市东安县2027届数学四年级第一学期期末考试模拟试题含解析
- 2027届山西省长治市数学三年级第一学期期末综合测试试题含解析
- 2026年“楚天舒杯”技能大比武竞赛模拟试题测试卷附答案
- 会同县2027届数学三年级第一学期期末经典模拟试题含解析
- 2027届吉林省通化市辉南县数学四上期末学业水平测试模拟试题含解析
- 平凉市2026届高考考前模拟生物试题含解析
- 2026中国医疗设备升级改造行业市场需求供给分析及投资评估发展规划研究报告
- 2026中国智能门禁控制科技企业市场供需生物识别及无接触通行系统
- 2026乳胶制品行业市场供需分析及投资评估规划分析研究报告
- 2026中国在线旅游平台预订转化率与客户忠诚度建设分析报告
- 2025年广西卫生职业技术学院教职人员招聘笔试真题(含完整答案解析)
- 2026年医师定期考核试题题库中医入门试题及答案
- 2026小红书有感运动IP方案
- 天然气管线保护施工方案
- 2025届中工国际工程股份有限公司校园招聘笔试历年参考题库附带答案详解
- 城市道路桥梁安全监测预警系统操作手册
- 2026计算机二级MS Office真题模拟押题含解析
- 2024年湖南省金融机构反洗钱知识竞赛考试题库(含答案)
- 2022浪潮英信服务器NF5280M6产品技术白皮书
- 全国医药行业特有职业技能竞赛中药调剂员赛项备赛试题库(含答案)
- GB/T 17727-2024船用法兰非金属垫片
评论
0/150
提交评论