一.回顾 我们上篇文章主要介绍了棋盘的打印,我们用到了DisplayBoard()函数,那么我们现在就需要来实现玩家下棋这一操作 二.玩家下棋功能的实现 与前几个函数一样我们将玩家下棋功能代码封装成一个函数,命名为PlayerMove()函数,我们前面说过玩家下棋的本质就是将数据填进二维数组中的元素中,那么这个函数我们也给它三个参数,分别是:board,ROW,COL,所以我们可以写如下代码: test.c: PlayerMove(board,ROW,COL); 与前面相同,在使用自定义函数的时候需要先进行定义,所以我们在game.h的头文件中写入以下代码: voidPlayerMove...

  uUWKQE7Avyk4   2023年11月02日   28   0   0 C语言数组实战二维数组三字棋

一.回顾 我们上篇文章着重介绍了玩家下棋的代码,那么我们这篇文章就需要着重解决电脑下棋 二.电脑下棋 我们想一想如何让电脑下棋,最简单的办法就是让程序生成一个随机值,这个随机值分别是xy,我们照例将电脑下棋的代码封装成自定义函数ComputerMove() 与前面相同在使用函数之前需要先定义函数,我们在game.h的头文件中写入以下代码: voidComputerMove(charboard[ROW][COL],introw,intcol); 写完函数的定义,我们接下来就需要实现函数功能,我们在源文件game.c中写入以下代码: voidComputerMove(charboard[RO...

一.回顾 我们上一篇文章介绍了电脑下棋的代码,这时候我们就需要来判断玩家的输赢,如果执行完PlayerMove()函数后,玩家的棋子连城了三个,那么就是玩家赢了,反之则为电脑获胜,如果是平局则也需要告诉玩家平局了,我们想一想三子棋的输赢是依据上下左右以及斜线能够连城一条直线来判定的,这里我们规定,当玩家赢的时候程序返回号电脑获胜时则返回号平局时候则返回字符Q,若还需要继续则返回字符C 二.判断输赢 我们照例将判断输赢的代码封装成一个函数名为IsWin(),既然我们判断输赢是依据字符的返回值,所以我们这个函数的返回值就不再是void空了,而是char类型,所以我们在game.h头文件中需要先写出...

  uUWKQE7Avyk4   2023年11月02日   61   0   0 C语言函数三子棋数组二维数组

一.单选题: 1.下列选项关于递归说法错误的是() A.存在限制条件,当满足限制条件时,递归停止 B.每次递归调用后越来越接近递归的条件 C.递归可以无限制递归下去 D.递归层次太深容易出现栈溢出 答案:C,这题错误的选项显而易见是C,我们之前将递归的时候就说过递归的两个要求,第一个是需要有限制条件,二是每次递归执行完成后需要更加接近递归的条件,我们之前写过一段代码: include<stdio.h> intmain(void) { main(); return0; } 这段代码会无限递归下去,直到栈区溢出,这就是因为递归的层次过深,且没有有效地限制条件所导致的 2.观察以下...

  uUWKQE7Avyk4   2023年11月02日   36   0   0 C语言复习栈溢出递归

首先我们访问OracleVM虚拟机的官网: https://www.virtualbox.org/wiki/Downloads 我们可以看到,页面上有WindowsmacOSLinux等版本可供选择,我使用的操作系统为Windows所以下载Windows版本即可,如图所示: 下载后一路默认安装即可,安装完成后记得重新启动电脑,我们打开在桌面上的虚拟机图标,第一次运行默认是空白的界面,我们选择新建虚拟机,操作系统设置,如图所示: 名称可以自己定义但是不要出现中文,存放的磁盘的地方必须要在文件夹内,不能直接放在磁盘根目录,否则出错,系统类型选择Linux,系统版本选择Linux2.6/3.x/...

  uUWKQE7Avyk4   2023年11月02日   47   0   0 NASSynology虚拟机VirtualBox

一.困难点 最近我发现学习C语言已经变得越发的困难,接下来我说一下主要的困难点 1.学习时很多前面用到的知识点已经遗忘,需要通过重复学习和看笔记才能勉强理解 2.写代码时候逻辑经常出现混乱,会写出很多的bug 3.困难点(对我来说)第一个就是从函数的递归开始代码很难进行构思,多次递归后就会出现条件混乱 第二个就是涉及到算法的地方(如:冒泡排序)没有一个具体的思路,需要借鉴他人的代码才能勉强看懂 二.近期的一些规划 1.我会从头开始结合CPrimerPlus这本书,将之前的内容彻底的复习一遍,然后将我重新总结的一些重点一并放在博客中,以方便日后复习 2.我会去网上找一些相应的配套练习以及使用CP...

  uUWKQE7Avyk4   2023年11月02日   47   0   0 C语言规划学习

学习目标: 了解C语言的基础知识与语法,对C语言有一定的认知 在初识过程中只是做一个大概的讲解,不做深入的讲解 知道了以上的目标后那就让我们开始吧! 一.导入 我们知道人与人交流是靠语言,我们常见的语言有英文,中文,日文等等,那么人与计算机交流还是靠我们日常生活中所说的人类语言吗? 其实不是的,人如果需要和计算机进行交流就要依靠计算机语言,常见的计算机语言有C语言Cpythonjava等如今计算机语言已经数不胜数,我们整片文章重点要学习的就是C语言,这也是计算机语言中较为常见的一种语言,同时C语言也擅长进行底层开发,什么是底层开发,我们举一个例子,当你买来一台电脑的时候,大多数情况这台电脑已经...

接下来我们就开始写第一个C语言程序,这里我们使用的环境为VS2012作为演示环境,首先我们打开安装完成的VS2012 选择新建项目,我们选择空项目即可,接着我们需要给项目进行命名,命名方式可以使用日期进行命名也可以使用英文加数字进行命名 然后我们需要选择存放代码的文件夹,建议大家新建一个文件夹专门用来存放代码,点击确定,这时候会跳转到代码页面 随后我们需要创建一个源文件,我们可以右击源文件进行创建也可以使用快捷键Ctrl+shift+A进行创建 注意这里我们需要对源文件与头文件进行区分 .c后缀的文件我们称为源文件 .h(head)后缀的文件我们称为头文件 这时候我们点击新建一个源文件,选...

  uUWKQE7Avyk4   2023年11月02日   91   0   0 C语言复习课main函数源文件

一.导入 我们在生活中会遇到很多的数据,这些数有的是整数,比如说:12345,有的是浮点数(小数)比如说:0.51.13.14等等,那么我们在生活中需要用到各种数据,那么在程序中是否也是有不同的数据类型呢?答案是肯定的 二.C语言中常用的数据类型 int //整型数据类型 double//双精度浮点类型 float  //单精度浮点类型 short //短整型数据类型 long  //长整型数据类型 longlong//更加长的整型数据类型 我们在生活中还会经常叫别人的名字,那么在程序中是否也有一个专门存放字符的数据类型呢?答案...

  uUWKQE7Avyk4   2023年11月02日   48   0   0 C语言浮点数据类型整型sizeof

一.变量与常量 1.我们先从生活中来理解变量与常量的区别,变量顾名思义就是会变的量,常量则是不会改变的量,那么我们生活中有哪些变量与常量呢? 我这里举了一些例子: 变量:年龄、身高、体重、物价······ 常量:血型、性别、身份证号····· 那么在C语言中我们又是怎么表示变量与常量的呢? 以下举了几个定义变量的例子: define_CRT_SECURE_NO_WARNINGS1 include<stdio.h> intmain(void){ intage=10;//年龄 shorthigh=170;//身高 charch='a';//字母 floatscore=95.5...

一.导入 上节课我们介绍了变量、常量、局部变量、全局变量的特性,接下来就让我们来编写一个简单的求和程序 二.程序要求,程序需要有三个整型变量:num1num2sum,最后的求出的和保存在变量sum中,最后输出sum的值给用户(注:num1与num2数值自定) 三.分析程序 我们看题目就可以知道我们需要先创建三个int(整型)的变量,我们可以使用以下代码来创建变量: intnum1=10; intnum2=10; intsum; 接下来我们需要将两个变量相加的值赋给变量sum,代码如下: sum=num1+num2; 最后程序要求我们输出变量sum的值,我们到目前为止输出函数只讲到一个:...

  uUWKQE7Avyk4   2023年11月02日   44   0   0 C语言函数编译器scanf变量

一.导入 我们之前讲了局部变量与全局变量的区别,而作用域其实变量在程序的哪一段代码中能起到作用,哪里不能起到作用的一个概念,所以我们在讲作用域的时候很大一部分都是与上一篇文章相关的,所以如果没有看过上一篇文章建议先回看,那我们正式开始! 二.作用域(局部变量) 我们先来看一段简单的代码: include<stdio.h> intmain(void){ { inta=10; printf("a=%d\n",a); } return0; } 这段代码输出的结果显然是10,因为变量a的值为10而printf()输出的正是a的值,那么我们再来看下面这段代码: include<s...

一.导入 我们之前就说过生活中是有很多变化与不变的量的,我们将变化的量称为变量,将不变的量称为常量 常量在生活中也有很多,如:血型、性别(不考虑特殊情况)、身份证号,那么在C语言中有哪些常量呢? 二.C语言中常量的分类 字面常量 const修饰的常变量 define定义的标识符常量 枚举常量 接下来我将为大家逐个进行演示这些常量的用法 三.常量的用法: 1.字面常量 其实字面常量很好理解,比如5203.14这些都是字面常量,接下来我将在编译器中写几个字面常量的用法,代码如下: intmain(void) { 520;//整型常量 3.14;//浮点型常量 'A';//字符常量 "hell...

  uUWKQE7Avyk4   2023年11月02日   51   0   0 #define标识符字面常量

一.字符串的定义 "helloworld" 由双引号引起来的一串字符称为字符串字面值,简称字符串 下面我们来介绍一下字符串的输出方式,示例代码如下: include<stdio.h> intmain(void) { charstr[]="helloworld"; printf("%s",str); return0; } 我们这里创建了一个字符类型的数组名为str,我们将helloworld这个字符串存入这个数组中,最后再使用printf()函数将其输出 注意⚠️:当我们需要打印字符串的时候需要用转义符%s来进行输出 误区⚠️:字符和字符串不是同一回事,我们如果需要创建一个字...

  uUWKQE7Avyk4   2023年11月02日   101   0   0 数组字符串

一.选择语句 为了更好的讲解选择语句我们举一个例子:如果我们在学校认真学习则可以在考试时取得好的成绩,反之分数取得的成绩就会不理想,那么我们如何在程序中让用户选择是认真学习还是不认真学习,并返回相应的结果呢?以下是一段示例代码: define_CRT_SECURE_NO_WARNINGS1 include<stdio.h> include<windows.h> intmain(void){ intuser_input=0; printf("在学校你会认真学习吗?(1.是0.不是):"); scanf("%d",&user_input); if(user...

  uUWKQE7Avyk4   2023年11月02日   52   0   0 C语言条件语句if选择语句while
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~