妙趣横生的C语言.ppt

上传人:xin****828 文档编号:15513521 上传时间:2020-08-15 格式:PPT 页数:40 大小:2.05MB
收藏 版权申诉 举报 下载
妙趣横生的C语言.ppt_第1页
第1页 / 共40页
妙趣横生的C语言.ppt_第2页
第2页 / 共40页
妙趣横生的C语言.ppt_第3页
第3页 / 共40页
资源描述:

《妙趣横生的C语言.ppt》由会员分享,可在线阅读,更多相关《妙趣横生的C语言.ppt(40页珍藏版)》请在装配图网上搜索。

1、妙趣横生的C语言,授课者: 赵 佳 授课班级:10E03,你玩过电脑游戏吗?,你喜欢电脑游戏吗?,电脑游戏是你生活中的一部分吗?,有的游戏改变过人的一生。,小时候, 游戏是一台黑白的电视机现实在手柄的这头,梦境在手柄的那头。,长大后, 游戏是一枚小小的铜币现实在摇杆的这头,梦境在摇杆的那头。,现在啊, 游戏是一台多媒体电脑现实在鼠标的这头,梦境在鼠标的那头,当计算机技术给游戏提供了强有力的支持后,一个陌生而又似曾相识的新奇世界展示在人们面前。这里有逝去的童年梦想,有心头压抑已久的情感;有疯狂、神秘,也有脑力和技巧的挑战;有轻松获得实实在在的知识,也有用“虚拟”成就一个别样的人生。这不是一个神奇

2、的世界吗?,游戏一:在 迷宫 中探索,小时侯,常在一些小人书和杂志上看见一些迷宫的游戏,非常喜欢玩,还常到一些书上找迷宫玩呢。好的,现在我们用C语言来编个迷宫的游戏,重温一下童年的乐趣。,好的,现在我们用一个二维数组map定义了一个非常酷的地图。如下:,char map1020 = #, # # #, # # # # #, # # # #, # # # # # # #, # # # # # # #, # # # # # #, # # # # # #, # # #, # ;,接着,我们用DrawMap函数把这个地图在屏幕上画出来。,void DrawMap() int x = 0, y = 0;

3、 for (; y 10; +y) for (x=0; x 20; +x) if (mapyx = #) DrawWall(x, y); ,还有,相信大家一定玩过“搬运工”的游戏吧!这是在电脑和电子字典上较流行的益智游戏,让我们动手做一个属于自己的“搬运工”吧!,游戏二:聪明的“搬运工”,程序依然用数组map来保存地图,数组元素如果为空格则表示什么也没有,b表示箱子,#表示墙壁,*表示目的地,i表示箱子在目的地。我们以后每推一下箱子,不但要改变屏幕的显示,也要改变map相应元素的值。,char map1010 = , #, # #, # b #, # # #, # # # *#, # # b

4、*#, # b *#, #, ;,游戏地图,游戏主循环,接受一个方向键后,判断人前面一格的状态,空地或目的地?,直接移动,墙壁?,不可移动,箱子或目的地上的箱子?,继续判断箱子的前面一格的状态,是否为空地或目的地?,推箱子,不可移动,程序还有一个重要的功能就是判断胜负。数组Des用来记录全部目的地的坐标,我们每执行一步操作后,程序就要通过Des数组判断这些目的地上是否都有箱子了。,for (i=0, count=0; desi.x != -1; +i) /*清空count*/ /*如果发现游戏地图还有“目的地”没有箱子在上面,就让count+1。*/ if (mapdesi.ydesi.x =

5、 *) +count; if (count = 0)/*全部目的地上都有箱子了,你赢了!*/ gotoxy(35, 3); printf(Ok! you win!); ,好的,编游戏就这么简单呵呵,下面请大家进行思考一些趣味编程,分析一下它们的编程思想。,集思广益,下面,我们就来享受C语言给我们带来的乐趣吧!_,Hello,world,从,开始。,学习编程的第一个程序,一般就是打印一个亲切的词语“Hello,world!”。让我们来看看这个最简单的C程序:,#include /*把输入输出函数的头文件包含进来*/ main( ) printf(“Hello, world!”); /*在屏幕上输

6、出字符串 “Hello,world!”*/ ,我们还希望屏幕输出一个笑脸来欢迎我们。,#include main( ) clrscr( ); /*清屏函数*/ printf(Hello, world!nn); _ ; ,改进后的程序如下:,printf(“%c”,2) /*在屏幕上画一个笑脸,笑脸的ASCII码是2 */,趣味编程1 属相图,?,输入一个人的年份, 输出这一年出生人 的属相,然后退出 程序。,算法分析:,中国的属相从鼠开始,依次为:,鼠、牛、虎、兔、 龙、蛇、马、羊、 猴、鸡、狗、猪, 12年一循环。,由于在程序设计时属相从猴开始便于编程,因此 在程序中属相的编号如下:,猴0、

7、鸡1、狗2、 猪 3、 龙4、蛇5、马6、 羊 7、 鼠8、牛9、虎10、兔11。,计算方法,用年份数除以12,取余数作为属相的编号, 通过属相编号确定属相。如1949年用1949 年用1949%12=5,这个5就是编号,对应 的属相为“蛇”,则可以得出1949年出生的 人属“蛇”。,思考:,这个问题可以选用选择结构中的哪种结构 来实现呢?,多分支语句 switch结构,注:用变量 y=输入的年份 变量x=某年的属相编号,编程:,case 1: printf(“%d:ji nian nn”,y);break; case 2: printf(“%d:gou niann”,y);break; ca

8、se 3: printf(“%d:zhu niann”,y);break; case 4: printf(“%d:shu niann”,y);break; case 5: printf(“%d:niu niann”,y);break; ,case 6: printf(“%d:hu niann”,y);break; case 7: printf(“%d:tu niann”,y);break; case 8: printf(“%d:long niann”,y);break; case 9: printf(“%d:shou niann”,y);break; case 10: printf(“%d:m

9、a niann”,y);break; case 11: printf(“%d:yang niann”,y);break; ,main() int x,y;,scanf(“%d”,x=y%12;,switch(x), case 0: printf(“%d:hou niann”,y);break;,怎么样?是不是很有趣呢?让我们继续往下学吧!,巩固练习:趣味编程 加油站加油,某加油站有a、b、c 3种汽油,售价分别为: 3.75、3.25、2.75 (元/千克)也提供了 “自己加”或“协助加” 两个服务等级,这样 用户可以得到5%或10% 的优惠。编程实现针对用 户输入加油量x,汽油的品 种y和服

10、务的种类z,输出用 户应付的金额。,main() float x,m1,m2,m; char y,z; scanf(“%f,%c,%c”, ,怎么样,是不是C程序跟我们的日常生活贴的近啊,很有趣吧。下面我们再来看一个有关逻辑推理与判断的趣味题吧!,趣味编程2 婚礼上的谎言,三对情侣参加婚礼,3个新郎为A、B、C,3个新娘为X、Y、Z,有人想知道谁和谁结婚,于是就问新人中的3位,得到如下提示: A说他将和x结婚; x说她的未婚夫是c; c说他将和z结婚。 事后知道他们在开玩笑,说的全是假话。那么究竟谁和谁结婚呢?,新郎: A B C 新娘: X Y Z,解决本题的算法思想如下:,用“a=1”表示

11、新郎a和新娘x结婚, 同理如果新郎a和新娘x不结婚则写成“a!=1” 所以有如下表达式: a!=1 a不和x结婚 c!=1 c不和x结婚 c!=3 c不和z结婚,新郎: a b c 新娘: X Y Z 1 2 3,A说他将和x结婚;x说她的未婚夫是c; c说他将和z结婚。,用for语句对a、b、c所有情况进行穷举,main() int a,b,c; for(a=1;a=3;a+) for(b=1;b=3;b+) for(c=1;c=3;c+) if(_) printf(“%c will marry to an”,_); printf(“%c will marry to bn”,_); printf(“%c will marry to cn”, x+c-1); ,a!=1 如果A=0则B=1; 如果B=1则C=0; 如果B=0则C=1; 如果C=1则A+B=0; 如果C=0则A+B!=0;,编程:,main() int a,b,c; for(a=0;a=1;a+) for(b=0;b=1;b+) for(c=0;c=1;c+) if(a ,课后测练,魔术师的秘密 判断坏球 灯塔数量 彩球总数 黑纸与白纸,再 见!,

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!