- 博客(49)
- 收藏
- 关注
原创 贪吃蛇小游戏的代码实现之知识点铺垫篇
相关知识点:C语言、数据结构(链表)、枚举、结构体、动态内存管理、预处理指令、win32API。win32API:Windows这个多作业系统除了协调应用程序的执行、分配内存、管理资源之外,它同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备等目的,由于这些函数服务的对象是应用程序(Application),所以便称之ApplicationProgrammingInterface,简称API函数。
2023-12-26 02:04:57 1185 1
原创 贪吃蛇小游戏的代码实现
在上一篇文章中我们已经对于需要用到的知识点进行了讲解,那么本篇文章不说废话,直接带着大家实现贪吃蛇小游戏!(巨详细,文章末尾有完整代码)
2023-12-26 01:44:38 1431
原创 有趣的代码——井字棋游戏的实现尝试版
但猜数字这种简单的游戏肯定满足不了大家对于游戏的高标注、严要求,估计玩不了多久就会没有兴趣了,所以,今天在这里和大家分享一个更好玩,也更有实现难度的小游戏——井字棋!首先,由计算机产生一个3*3大小的棋盘,并显示玩家和计算机各自使用的棋子,然后由玩家、计算机轮流在上面落子,哪一方先3颗棋子连成一条线,则显示该方获胜,如果棋局填满,还没有一方三子连线,则判定为和棋。1.提供游戏菜单,由玩家选择是否进行游戏:按“1”开始游戏,按“0”退出游戏,按其他则显示“选择错误,请重新选择”。printf("输入错误!
2023-12-25 23:53:45 503
原创 有趣的代码——扫雷小游戏思考:全局变量能在头文件中定义吗?
①如果我们在程序中只有一个源文件要使用全局变量,那么直接在该源文件中定义全局变量即可。②如果我们在程序中有1个或多个源文件要使用全局变量(多个源文件使用的全局变量并不相通),那么我们可以在头文件定义全局变量,不过在全局变量前要加static修饰,确保各源文件该全局变量各不相通。③如果我们的工程中多个源文件需要这个全局变量,那么你就任找一个源文件,把这个全局变量定义到这个源文件中,然后新建一个头文件,在里面进行“extern这个变量”的声明,最后在需要使用这个全局变量的源文件中include你新建的头文件。
2023-12-21 21:03:08 1197
原创 有趣的代码——剪刀、石头、布小游戏的代码实现
在前面的文章中已经讲过几个小游戏了,而且在其中也讲解了一些之前未涉及的知识点,比如随机数的生成、多文件程序等等。今天,我们把这些知识点结合起来,并着重凸显这些知识点来实现一个大家耳熟能详的小游戏——剪刀、石头、布,希望大家能够从这个小游戏中加深对于这些知识的了解,同时收获快乐!
2023-12-21 16:56:25 1496
原创 有趣的代码——手机通讯录的简单实现
前面的文章中我们介绍了好几种小游戏,比如猜数字、井字棋、扫雷等等,这些都是我们实实在在通过自己的努力学习收获而来的,也是我们向非计算机专业同学“炫技”的好帮手。但是,这些东西,好像无法拿到一些家长面前和他们分享我们的成功和喜悦,因为部分家长可能会不太认可这些小玩意儿,所以,今天带着大家实现一个有用的、拿的出手的小程序——手机通讯录,希望大家能够从中有所收获,更希望你的付出和努力能够得到家长的认可和鼓励。
2023-12-20 21:05:50 1607
原创 有趣的代码——扫雷游戏的优化升级
前面带着大家进行了经典小游戏扫雷的代码实现,但是因为是简易版的,里面存在很多不足之处,比如无法选择难度模式,无法对地雷进行标记,无法对非地雷区进行展开等等有待改善的地方,导致扫雷游戏虽然初步完成,可是实际上可玩性极其差,很容易把玩家劝退,所以,这篇文章和大家一起把扫雷游戏进行优化升级。
2023-12-19 23:57:27 1545
原创 有趣的代码——扫雷游戏的代码实现
扫雷游戏是一款经典的小游戏,网页版或者是windows系统自带的扫雷游戏有分难度,每个难度有不一样的雷的个数以及棋盘大小,比如简单难度:9*9的棋盘里面包含了10个雷。扫雷游戏的规则是在尽量短的时间内依照所点击格子的数字提示,点开所有没有布置过雷的格子,同时避免点到存在雷的格子,如果踩到雷游戏就结束。
2023-12-18 15:56:24 1337
原创 有趣的代码——编写C语言程序祝考研朋友金榜题名!
考研就像在黑屋子里洗衣服,你不知道洗干净了没有,只能一遍一遍去洗。等到上考场的那一刻,灯亮了,你发现有的人忘记加洗衣粉,有的人用的是洗衣机。但只要你认真地洗过了每一个地方,那件衣服一定可以光亮如新的,而你以后每次穿这件衣服时都会想起这段岁月。我们都不是天赋异禀的人,在茫茫人海中甚至会有些平庸!可是我们的人生不仅仅是潦草诗,当在迷雾散尽后,天光大亮,我们一定会看清远方的灯塔,奔走在漫漫时光中,成为故事里的主角。
2023-12-18 13:19:27 1526
原创 智能五子棋1
若是选择了机器与人的博弈,则会跳转去难度选择的页面,选择了困难之后,会跳转到选择先后手的页面,最后根据人选择的数据调用相应的函数与人进行博弈。机器算法:利用估值函数,每下一颗棋子则在其周围加10,活二在其前后各加100,死二则在其为被堵住的地方的另一边加50,活三在其前后加1000,死三则在其为被堵住的地方的另一边加500,活四则在其前后分别加10000,死四则在其为被堵住的地方的另一边加上2000,找出棋盘上价值最大的点,并判断是进攻还是防守,从而使自身的每一步棋子的价值最大化。
2023-12-18 00:17:59 890
原创 有趣的代码——发纸牌的实现
相信大家在现实生活中都玩过纸牌游戏,今天带大家实现一下发纸牌并查看自己的牌是什么。(默认4个人玩纸牌游戏+没有大小王)至于更高级的人机对弈功能暂时就没办法讲解了,大家可以期待一手,不过,当前还是看看我们的老伙伴——纸牌游戏之发纸牌在程序中是如何实现的吧!
2023-12-13 23:27:30 1001
原创 有趣的代码——有故事背景的程序设计8
“有故事背景的程序设计”到这儿大概就算告一段落了,希望看到这些文章的朋友们都能从中感受到属于编程的独特乐趣,并从这些有意思的程序设计中收获知识,坚定地走在学习的路上。目录1.模拟注册与登录2.异或加密3.快速欧几里得算法4.过滤特殊字符
2023-12-10 20:17:22 763
原创 有趣的代码——有故事背景的程序设计7
关于“有故事背景的程序设计”这一专栏,前面已经有很多篇,但是我觉得还是分享的不到位,比如与单链表、文件操作等知识点相联系的有趣程序设计还没有和大家分享,所以,在这里和大家再一次分享一些有趣的代码,希望大家能在看文章的过程中收获知识和快乐,让我们一起坚持在学习编程这条路上吧!1.解密藏头诗2.日期格式3.进制转换4.文件复制5.螺旋阵
2023-12-10 17:16:02 472
原创 C语言绝对值得一看的常识讲解:(补充篇)柔性数组+转移表
今天给大家补充两个比较有意思的知识点:①今天突然看到的一个比较特别的知识点——柔性数组。它是在C99中出现的一种特别的数组,具体是指结构体中的最后一个元素允许是未知大小的数组,这就叫做『柔性数组』成员。②之前讲解数组时,没有过多介绍数组元素是特殊元素时的数组,今天补充一下函数指针数组。
2023-12-09 20:30:37 440
原创 有趣的代码——有故事背景的程序设计5
接着上篇文章再和大家分享一下有趣的代码!目录1.求母串中子串的个数2.行走机器人3.荷兰国旗问题4.统计考研成绩
2023-12-07 22:59:44 1596
原创 有趣的代码——有故事背景的程序设计4
前面讲过不少有故事背景的程序设计,但就知识点涉及层面还有所不足,所有,这个系列到目前为止还需更新,希望有兴趣的朋友们可以和我一起敲一敲,看看这些有背景的程序设计的实质到底是什么。目录1.鞍点2.凯撒加密3.字数统计4.字符串匹配
2023-12-06 20:22:54 1066
原创 有趣的代码——有故事背景的程序设计3
这篇文章再和大家分享一些有“背景”的程序设计,希望能够让大家学到知识的同时,对编程学习更感兴趣,更能在这条路上坚定地走下去。1.幻方问题2.用函数打印九九乘法表3.鸡兔同笼问题4.字数统计5.简单选择排序
2023-12-05 22:43:05 839
原创 有趣的代码——有故事背景的程序设计2
有趣的代码是很多的,所以接着上一篇,这一篇再和大家分享一些有故事背景的程序设计。1.百元买百鸡问题2.哥德巴赫猜想3.折半查找(二分查找)4.主对角线元素之和5.戈尼斯堡七桥问题
2023-12-05 11:31:40 1155
原创 有趣的代码——有故事背景的程序设计1
前面讲了两个小游戏的代码实现,相信大家能够从中感受到属于编程的独特乐趣,激发对编程学习的兴趣。这篇文章和大家分享一些有故事背景的程序设计,并不是很难,但个人感觉能够帮助大家培养将实际问题和程序联系起来的能力,总而言之,希望对于大家能有所帮助。1.通用产品代码2.判断闰年3.赛车评论4.整数的逆值5.水仙花数6.某年某月有多少天7.欧几里得算法
2023-12-04 19:01:15 271
原创 C语言绝对值得一看的常识讲解:文件操作篇 篇2
C语言把文件看作流式文件,即文件由一个个字节组成,文件结构体类型FILE中的成员_ptr表示当前的位置指针,指向当前的读写位置,也就是将要操作的字节。一般情况下,在打开一个文件时,文件的当前位置指针位于文件首部,即指向第一字节。随着文件读写操作的进行,文件的当前位置指针会自动向后移动。为了避免文件结束时还对文件进行读写操作,C语言提供了符号常量EOF(End of File)用来表示文件结束,其值为-1。如果文件的位置指针指向文件的末尾,则返回EOF。
2023-12-04 13:59:58 1071
原创 C语言绝对值得一看的常识讲解:文件操作篇 篇1
文件是指存储在外部介质(如硬盘)上的数据的有序集合。操作系统是以文件为最基本单位对数据进行管理的。每个文件都有一个唯一的文件名。操作系统通过不同的文件名来区分不同的数据集合。为什么要有文件呢?如果没有文件,那么我们编写的程序的数据是存储在电脑的内存中的,如果程序退出,内存回收,数据就销毁了,我们下次再打开程序也不会有上次的数据,那么为了保留程序中的数据,我们就理所应当地引入文件的使用。
2023-12-02 23:25:17 1056
原创 有趣的代码——井字棋游戏的实现
前面我们讲解过一个猜数字游戏的实现,想来应该让大家感受到了属于编程的趣味性,并且在实现过程中应该也收获了知识。但猜数字这种简单的游戏肯定满足不了大家对于游戏的高标准、严要求,估计玩不了多久就会没有兴趣了,所以,今天在这里和大家分享一个更好玩,也更有实现难度的小游戏——井字棋!实际上在C语言中,我们根据程序文件的数量,可以将C语言程序分为单文件程序和多文件程序,单文件程序就是所有程序代码都在一个源程序文件中,多文件程序中通常包含一个或多个自定义头文件和一个或多个源程序文件。
2023-11-30 21:47:36 2000
原创 程序设计基础中可能出现的简单编程题2(以郑大为主体)
本文章用于帮助大家深入理解程序设计实验报告,更好掌握实验代码,引导大家关注实验中涉及的知识点。(特别适合郑大同学体质哦)!我们在学习编程过程中往往不仅有C语言实验报告,还有程序设计实验报告。程序设计这一科目主要是为了培养我们写代码时的计算思维,养成从问题到代码实现逐步分析,逐步深入的好习惯。前面有一篇文章介绍了部分程序设计实验报告中的编程题,今天再补充一些含新知识点的编程题,希望对大家有所帮助!
2023-11-29 09:15:28 1262
原创 有趣的代码——猜数字游戏的实现
今天我们用之前讲过的一些知识,加上部分新补充的知识点,写一个“猜数字”的小游戏,来丰富我们的编程学习生活,感受来自C语言的趣味性。C语言提供了随机数生成函数rand,该函数返回0~RAND_MAX的一个随机整数,RAND_MAX是在头文件stdlib.h中定义的符号常量,其值与机器字长和编程环境有关,一般为2^15-1或2^31-1。rand函数是对一个叫“种子”的基准值进行运算生成的随机数,如果要生成不同的随机数,就要让种子是变化的。C语言提供了库函数srand初始化随机种子,使rand的随机种子是变化的
2023-11-28 21:51:14 1633
原创 我的创作纪念日
各位看到的朋友们(请允许我自恋地幻想以后会有很多人在机缘巧合下看到这篇十分稚嫩的创作纪念文章),大家好!如果有朋友看过我的第一篇文章《初入csdn,自此展开和编程那些不得不说的故事。》,会发现两篇文章的开头近乎一样。其实倒不是只会这一种开篇语,更多的是因为我想告诉大家,至少到目前为止我的初心没有改变,我还是那个期待能够被更多人看到,那个希望记录自己编程学习过程,那个试图通过大家监督坚持把一些学习心得分享的人。学习这种事情终究是为自己而努力,而与他人无关,望周知,望谨记!
2023-11-28 12:38:18 847
原创 C语言绝对值得一看的常识讲解:动态内存管理篇
在程序中定义变量后,编译器为变量按照数据类型分配相应的内存空间,并且该变量在其作用域内始终占有这段存储单元,这种内存分配方式称为静态内存分配。在某些情况下,编写程序时无法确定所需要存储空间的数量,动态分配内存可以在程序运行期间根据实际存储需求分配内存空间,并在不需要时释放,使内存空间的使用效率更高。C语言中,动态存储分配通过调用库函数实现内存的分配和释放。
2023-11-27 23:50:23 1284
原创 C语言绝对值得一看的常识讲解:函数篇
利用计算机解决问题的常用方法是,首先把比较复杂的问题分解为若干个相对简单的子问题;然后分别求解。如果某个子问题已经有了解决方案,就直接使用这一“预制件”来解决该问题;否则,需要设计新的“预制件”。“预制件”可用于解决某个子问题,也可以用于解决包含相同子问题的其他问题。在程序设计中,这种方法称为“模块化”的程序设计方法。C语言程序中的“预制件”,也称为一个,模块。函数是实现模块化程序设计的重要机制。这篇文章主要介绍函数的定义、函数的值和函数的调用等内容。
2023-11-27 22:38:23 1041
原创 C语言绝对值得一看的常识讲解:指针篇 篇3
前面的文章对于指针与指针变量、指针变量的定义、指针数组、结构体指针等指针内容进行了讲解,但是指针这部分知识点还是很庞大和细碎的,所以,这里再和大家分享一下指针中值得我们注意的重要知识点——主要是野指针的相关内容和sizeof与strlen之间的区别。(按理说sizeof和指针联系不紧密,但是这部分类型比较多,计算各类型所占内存大小比较有意义)
2023-11-26 21:43:03 797
原创 C语言绝对值得一看的常识讲解:指针篇 篇2
定义结构体指针的一般形式如下:结构体类型名 *指针变量名;其中,结构体类型名是已经定义或正在定义的结构体类型;“*”是指针定义符;指针变量名是一个合法的标识符。定义结构体指针后,需要将该指针与某个结构体变量的地址相关联。
2023-11-26 19:10:08 397 1
原创 C语言绝对值得一看的常识讲解:指针篇 篇1
指针是C语言中最重要的概念之一,也是C语言汇总最具有特色的内容。指针是C语言的一种数据类型,不同于前面介绍的基本类型和构造类型,这种数据的变量存放的是内存地址的值。正确而灵活地使用指针,可以动态地管理内存,方便地使用字符串,表示更为复杂的数据结构,有效地使用数组,调用一次函数而得到多个值(一般函数调用至多只能得到一个值)。本篇文章主要介绍指针与指针变量,指针变量的定义等内容。计算机的存储器是由若干个字节顺次组成的,每个字节对应一个编号。编号按自然顺序排列,每个字节的编号称为该字节的地址。
2023-11-26 16:37:15 832 1
原创 C语言绝对值得一看的常识讲解:自定义数据类型——枚举、结构体、共用体篇
基本数据类型一般只能表示单一的数据,但是在实际问题中,数据之间常常是有联系的,为了能够描述更复杂的数据以及数据之间的联系,大多数程序设计语言都允许编程人员根据实际问题自定义数据类型,即我们在基本数据类型中提到的构造类型。前面我们讲了一种构造类型——数组,这里我们再把几种其他常用的构造类型和大家分享一下。
2023-11-26 12:41:22 1136 1
原创 C语言绝对值得一看的常识讲解:批量同类型数据的组织——数组篇 篇2(二维)
类似于一维数组的定义,定义二维数组的一般形式为数据类型 数组名 [整型常量表达式1] [整型常量表达式2];//这里就是一个二维数组,有三个元素,每一个元素是包含4个整型元素的一维数组a显然包含了三个一维数组,三个一维数组的名字分别为a[0],a[1],a[2]。这三个一维数组不须另作说明,即可直接使用。注意:①整型常量表达式1的值,表示第一维下标的长度,说明包含几个一维数组;整型常量表达式2的值,表示每一个一维数组包含几个元素。②二维数组元素的个数=整型常量表达式1*整型常量表达式2。
2023-11-25 23:58:26 371
原创 C语言绝对值得一看的常识讲解:批量同类型数据的组织——数组篇 篇1(一维)
一维数组的定义类似于基本数据类型变量的定义,但定义一维数组时需要说明其所包含的元素个数。一维数组定义的一般形式为数据类型 数组名 [整型常量表达式];其中,类型名可以是任何合法的数据类型,表示数组元素的数据类型(也称为基类型);数组变量名(即数组名)是一个标识符;方括号是数组的标志,其中的常量表达式,用于指定一维数组可以包含的元素的个数。一维数组包含的元素个数也称为一维数组的长度。int a[13];//定义数组a,数组元素的数据类型是int,共有10个元素。
2023-11-25 22:56:45 845
原创 C语言绝对值得一看的常识讲解:C语言程序的输入与输出篇
这篇文章和大家分享一下C语言程序的输入与输出,具体包括C语言语句,格式化输出printf函数,格式化输入scanf函数以及单个字符输入和输出。希望能加深大家对于这些内容的理解,尤其是对于printf函数和scanf函数的格式指示符,格式化字符串的了解,帮助大家完善对于C语言知识的知识框架梳理。巨详细的C语言输入,输出讲解,对于printf函数和scanf函数的组成进行分析和清晰描述,加深初学者对于这两个函数的理解。
2023-11-24 23:57:06 2151 1
原创 C语言绝对值得一看的常识讲解:VS实用调试技巧篇
程序通过编译和连接后,只能说明程序没有语法上的错误,但不能保证承认程序没有逻辑错误。如果程序出现逻辑错误,则程序的运行结果可能与期望的结果不同,调试是在程序中查找错误并修改错误的过程。调试程序需要耐心和经验,也是程序设计最基本的技能。调试最困难的工作是找出问题发生的位置,所以我们要培养自己的程序查错能力,养成变异之前人工检查的习惯。bug本意是昆⾍”或“⾍⼦”,现在⼀般是指在电脑系统或程序中,隐藏着的⼀些未被发现的缺陷或问 题,简称程序漏洞。
2023-11-24 21:19:41 1058 1
原创 C语言绝对值得一看的常识讲解:位运算符的功能篇
之前介绍运算符时提到了位运算符,但是对于位运算符的功能,大家可能没有比较直观的认识,所以这篇文章就和大家详细介绍一下位运算符的功能及代码实现。主要包含按位与、按位或、按位异或、按位取反、左移和右移等运算符。
2023-11-21 23:34:08 158 1
原创 C语言绝对值得一看的常识讲解:二进制、位、字节、字篇
这篇文章和大家分享一下计算机的数据存储相关内容,具体会为大家介绍计算机内部的二进制世界是什么样的?十进制数和二进制数之间怎么转换?位和字节是什么?字和字长又是什么?总之,期待大家能够因为这篇文章而有所收获,加深对于计算机数据存储的理解。
2023-11-21 22:20:26 182 1
原创 C语言绝对值得一看的常识讲解:运算符篇 类型转换补充篇
之前讲解了很多运算符,有了运算符之后,我们肯定要开始各种各样的运算。但当运算符的运算对象类型不一样我们又该怎么办呢?这篇文章就和大家详细分享一下C语言中的类型转换,希望可以帮助到大家。
2023-11-20 20:12:09 735 1
原创 C语言绝对值得一看的常识讲解:运算符篇 篇3
前面两篇文章介绍了不少运算符,但关于运算符还是有一些值得我们注意的知识点没讲到,所以,我们在这篇文章中再加以补充,希望能使大家对于运算符的认识更加全面。
2023-11-20 19:46:58 208 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人