自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 三子棋(二)

printf("坐标被占用,请重新输入:");这里我们知道,二维数组的下标是从00开始的,但我们要考虑到在玩家的眼中,第一个格子表示可能是11;2、在这里我们考虑玩家在九宫格中输入数据的时候,会不会不小心在已经被占用的格子中输入数据,又或者在格子之外中输入数据,然后返回到test.c源文件中,这里玩家下棋的过程就写完了,接下来,如果想要看在棋盘输入数字的效果,则在打印——这是因为rand函数生成的随机数范围是0~32767之间,范围比较大,但这里我们的九宫格是3*3的布局,所以。printf("玩家赢!

2023-07-12 23:11:28 56

原创 C语言实现三子棋(一)

加上空格后再打印%c,这是因为——与分割符对应,让打印的字符放在中间位置,对应下面中间的分割符,以此。如果用printf来打印,就需要5个,这样的话,代码写起来就没有什么计算含量(当我们想要打印更大的棋盘时,就需要多个printf);将ROW和COL的数值改为10和10,会发现,它只打印10行3列,行没有问题,但列就不是我们想要的效果,这时,就需要优化我们的代码部分了——这样,在最开始初始化不为0的时候,是不会有问题的,也不需要关注最开始时数组里面放的内容是什么,因为后面都被我们初始化为空格。

2023-07-11 23:10:34 64

原创 猜数字游戏

但这并不是说这样就完成了生成随机数的部分了,细心的同学会发现——当我们退出游戏的时候,再重新进入的时候,会发现生成的随机数会和上一次的一样。这里每一把玩都是一次游戏执行,当我们想要玩多次的时候,其实就是把游戏执行放在循环里面,而我们知道是游戏的话,第一次还是要进来的,也就是说这游戏至少进行一次。可是问题来了,我们是为了生成随机数,而scand这里也需要随机数,这样不就陷入死循环了吗?如果你去试着运行的话,会发现生成的随机数并不随机,就是说你连续输入两个数字1(继续游戏),会发现生成的随机数很接近。

2023-07-10 23:09:13 72

原创 数组(二)

通过发现,在访问第一行元素时,可以写成arr[0][ j ](j可以是0,1,2,3......),在访问下一行时,这样写arr[1][ j ],再下一行arr[2][ j ]......但如果每个加1来看的话,首元素加1的话,就指第二个元素(前两个);那可以只要将这组数进行一趟冒泡排序后,发现已经是正确的排序,那后面的就不用再进行,直接打印。arr[0]为数组名,[ j ]为下标。——arr[0][ j ]前两个表示首元素地址,第三个是指整个元素从首元素开始(包括整个元素地址),因此,打印结果一样。

2023-07-09 21:45:12 52

原创 数组(一)

本章重点:1、一维数组的创建和初始化2、一维数组的使用3、一维数组在内存中的存储4、二维数组的创建和初始化5、二维数组的使用6、二维数组在内存中的存储7、数组1作为函数参数8、数组的应用实例:三子棋9、数组的应用实例:扫雷游戏

2023-07-08 23:14:13 154

原创 函数(三)

只用算两次,那这样n=4时,进入循环算一次,“n--”后n=3>2再次进入算一次,当第三次的时候,n=2>2条件为假,则跳出循环。一开始在调用main函数时,就会向栈区申请内存空间,printf函数也一样,又因main函数一直被调用就一直会向栈区申请空间,栈空间就会被耗干了,最后栈区没空间时,就会抛出——再一次调用函数,12>9,再一次进入循环,又要被调用,然后12/10还是要执行的,得到商的结果为1。内存大概会划分这几个区域;在算完之后,再把1给a,2给b,那a+b赋给c,c得到结果(其实是3);

2023-07-07 13:41:39 21 1

原创 函数(二)

函数的定义是指函数的具体实现,交代函数的功能实现。add.h源文件——函数的声明test.c源文件——函数调用int a=10;int b=20;int sum=0;return 0;add.c源文件——函数定义int z=0;z=x+y;return 0;在正经工程里,一般是我们可以将函数的声明放在新建头文件里,把函数的定义(实现)放在新建源文件中,这样只需在原本的源文件中的函数调用给加上一个头文件注:引用库函数时的头文件用兼括号,用自己写的代码头文件用双引号" "为什么?

2023-07-06 19:51:10 27 1

原创 函数(一)

如果库函数能做所有事,那还要程序员干什么?所以更加重要的是自定义函数。自定义函数和库函数一样,有函数名、返回值类型和函数参数;但是不一样的是这些都是我们自己来设计的;这给程序员一个很大的发挥空间。函数的组成:statement;//语句项ret_type——返回类型fun_name——函数名para1——函数参数如:int z=0;z=x+y;return z;int对应ret_typeAdd对应fun_nameint x对应para1int y对应 *

2023-07-05 19:04:46 35 1

原创 分支语句与循环语句(四)练习

这种算法只需4次,算法复杂度是㏒₂ⁿ【如:㏒₂ⁿ的n为10的话,整体值为约等于3~4之间,接近4,所以约为4】比如一双鞋子的价格·范围在1~500之间,如果按第一种方法,就得从1开始往后查询,直至找到想要的数。但要注意,若n=100时,则会出现错误,因为100的阶乘在整形可能放不下;算0~9的中间值为4,而下标4对应5,又因5

2023-07-04 19:47:26 36

原创 分支语句与循环语句——特殊的goto语句

如果没有goto语句,我们进入多次嵌套循环的内部的时候,遇到灾难时,想要返回处理,就要一直break返回上一次循环,且每一次的break都有自己的触发条件,这样会比较麻烦。之后,就需要判断所输入的内容是否一样,就需要比较字符串,如何比较呢?

2023-07-03 18:58:43 501 1

原创 分支语句与循环语句(三)

我们已经知道了while循环,但是为什么还有一个for循环呢?循环使用的次数——从多到少——for while do while实际上,在写代码的时候其实只要一种循环就能解决问题,三种循环是早期C语言设计出来的。在新兴的语言中,只留一种for循环,当然其他语言也可能会有其他的循环。(for循环的强大之处。写while循环时候,通常要先有一个循环变量,然后在写while循环。如:int i=0;//循环变量的初识化//.....内容i++;//——调整。

2023-07-02 18:56:53 30 1

原创 分支语句与循环语句(二)

程序刚跑起来,在没有情况下,scanf等待你要输入的东西,一旦输入进去,缓冲区就有东西了;scanf函数就可以拿去缓冲区里想要的一部分,拿走之后,函数就过去了,之后getchar也会一样去看输入缓冲区是否有东西,没有就等待。那这个时候,getchar会读三次,读一个E打印,读一个O打印,读一个F打印就完了。未来,在学习文件的时候,一个空文件往这一放,第一次让你从里面去读一个字符的时候,会读出“EOF”。if(ch'9') ——表示若ch小于字符0或大于字符9,就跳走了,满足其一即可。

2023-07-01 19:34:41 31

原创 重点学习:分支语句与循环语句(一)

因18

2023-06-30 21:06:04 769

原创 初识C语言九

要想了解指针,就要先了解内存的概念。内存:内存是电脑上特别重要的存储器,。所以为了有效的使用内存,就把内存划分一个个小的,每个内存单元的大小是。为了能够有效的访问内存的每个单元,就给内存单元进行了,这些编号被称为该内存单元的生活中,我们通过地址来找到空间(房间)目标。内存也是如此,把一整块内存划分为一个小的内存单元后,要进行编号。电脑中的32位、64位指有32/64根,通电后有电信号,再转换数字信号。这时,32根地址线上产生的所有电信号可能性是从全0到全1的32个二进制位可能性是2的32次方。

2023-06-29 20:20:49 118

原创 初识C语言八

define定义标识符常量#define MAX 100——是指定义MAX的值为100这样以后再写代码时,遇到MAX会认作100int a=MAX;return 0;打印结果为100#define可以定义宏——“宏”是带参数的如:比较大小时可以用函数的方法,也可以用“宏的方式”。x:y)这里max=MAX(a,b)可以理解为max=(a>b?a:b)(后期详讲)

2023-06-28 21:29:16 47 1

原创 初识C语言七(2)

由逗号隔开的一串表达式就是逗号表达式。

2023-06-27 20:39:19 221 1

原创 初识C语言七(1)

举例:int a=5/2;return 0;用“/”除法得出的打印结果为商的值。(余数不会显示)如果将int a=5/2;改为int a=5%2;(取模的打印结果为其余数),这时打印结果为“1”如:int a=1;中“1”的二进制序列是如何表达呢?(把用来存放32bit位的空间叫做“a”)“1”原本二进制是01;但是“1”放在整形a里面去了,所以整形1占4个字节——32bit位;所以int a=1;的二进制表示为:0000...(31个0)1。

2023-06-27 19:54:21 61 1

原创 初识C语言六

在未学数组之前,如果我们要存一些数,就需要创建变量,而且要很多,这样就很麻烦了。因此,数组的概念就诞生了。

2023-06-26 11:43:39 25 1

原创 初识C语言五(2)

通过上面所学,我们看到。那转义字符又是什么意思呢?在原来的“abc”中加上一个“n”,其打印结果为“abcdn”,这是已知的。那加上一个斜杠呢?如: printf("abcd\n");——这时打印出来的结果就是abc了。而这里“\”和“n”组合起来,就是把“n”原来的意思改变了(就是把原来n的字符表达意思给转变Wie另一个意思)这串代码的打印结果为“c: est→ est.c”为什么会出现这个结果呢?这是因为 printf("c:\test\32\test.c")

2023-06-25 21:37:47 293

原创 初识C语言五(1)

检测方法:调试——窗口——监视——点监视1或几都可以——然后输入想要查询的值【注:要在逐过程(F10)的状态下才会有监视】当我们以字符串的形式来触发arr1时会自动包括一个元素0,若以字符的形式,则只有三个元素,但若补上0,则结果一样。,而因'a' 'b' 'c'字符没有结束标志,内存会自行运行出现错误结果,因'\0'和0,所以放其中之一即可。在字符'a' 'b' 'c'中输出结果会出错,但加上一个零,也就是加上'\0',其输出结果一样。"abc"——'a' 'b' 'c' '\0'(\0斜杠零的值是0)

2023-06-25 21:37:40 23

原创 初识C语言四(1)

即:菜单——vs2022快捷方式——打开文件所在位置——右击vs2022点属性——根据目标找到文件位置,之后一步步进到IDE文件内——点VC——在点进vcprojectltems(路径寻找方法)解决方案:右键——属性——安全——高级——更改权限——选中users主体——禁用继承——弹出的窗口点第一个——点编辑——把完全控制勾上——保存退出即可,然后在试一次(win11更简便)但这里不推荐用vs提供的,因为各编译器不同,可能不承认,当我们用了某个平台独立提供的某个接口/函数的时候,那可能在其他平台不被承认。

2023-06-24 19:16:59 49 1

原创 初识C语言四(2)

在原本的项目中在创建一个源文件,然后在新建文件中,定义一个变量,如:创建的sum.c文件里定义int g_val=2021;”这个代码中的4是可以改变的,所以是变量,而非常量;”,这样就是const修饰的常变量了,而由于常量无法改变,所以想要再次使用并修改num的值,就会出错。———这个代码的意思是数组arr,其里面有10个元素,它的每个元素是整形。因为num本身是变量,即使加上const常属性,也是无法改变num本身是变量的事实。n本身是变量,即使加上const,把n变为具有常属性的常变量,但还是不行。

2023-06-24 19:15:45 35

原创 初识C语言三

我们用这种字符类型创建一个变量ch,这个ch就是向内存申请一块的空间,这个空间的名字就是ch,所以字符'A';这是因为写出95.6这样的类型,编译器会默认会是double类型的,而要把一个double类型的小数放到float类型里面去,这时会放生精度的丢失。计算机是由硬件组成,而硬件是要通电的,又因电有正电和负电之分,且电信号在计算机中要转换为数字信号,所以正电转换为“1”;【相较而言,能用最少的空间来表达是更好的】所以,在vs中,long是4byte,而在一些编译器里,long算出来是8byte;

2023-06-23 19:18:36 54

原创 初识C语言二

接下来让我们开始来进入C语言的编程,首先在写代码之前我们要先准备好工具——编译器。

2023-06-22 21:03:53 56

原创 初始C语言

在学习C语言之前,我们首先要知道c语言是一门计算机语言,而什么是计算机语言呢?简单来讲就是人与计算机之间交流的语言,就像不同国家之间人与人的交流。例如:中国人和美国人的交流是汉语对英语的交流,由于国家文化之间的差异,我们在与外国人交流时,外国人是听不懂汉语的;所以我们要进行翻译,把自己想要表达的意思翻译成对方能过理解的语言。所以语言是架构起人与事物的桥梁。(语言的表达形式概念化)接着,我们要了解计算机语言的发展:电脑本身是由不同的硬件组成的,而硬件在通电之后,又因电有正电和负电。

2023-06-22 20:39:09 46

三子棋(二)最终运行模板

三子棋(二)最终运行模板

2023-07-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除