二维数组:

一维数组相当于把变量排成一排,通过编号访问

二维数组相当于把变量排成矩阵,通过行号和列号访问

定义:  类型 数组名[行数][列数];

int arr[3][5];

[0,0][0,1][0,2][0,3][0,4]

[1,0][1,1][1,2][1,3][1,4]

[2,0][2,1][2,2][2,3][2,4]

使用:  数组名[行下标][列下标];

行下标: 0~行数-1

列下标: 0~列数-1

遍历:需要与双层for循环配合,一般外层负责遍历行,内层循环负责遍历列

for(int i=0; i<3; i++)

{

for(int j=0; j<5; j++)

{

printf("%d ",arr[i][j]);

}

printf("\n");

}

初始化:

类型 数组名[行数][列数] = {{第一行},{第二行},{第三行},...};

注意:行数可以省略,列数不能省略

注意:没有所谓的多维数组,所有的多维数组都是用一维数组来模拟的

变长数组:

定义数组时使用变量作为它的长度,在代码编译期间数组的长度是不确定的,当执行到数组的定义语句时,它的长度才能确定下来,并且一旦确定就无法改变,这叫变长数组。

优点:可以根据实际情况来确定数组的长度,达到节约内存的目的

缺点:不可以初始化(初始化发生在编译期间)

获取方向键的功能:使用头文件 getch.h 中的getch函数

1、在windows中把getch.h头文件放入共享文件夹

2、终端进入共享文件夹:

cd /media/sf_Share/

3、复制头文件到标准库:

sudo cp getch.h /usr/include/

4、加读权限:

sudo chmod +r /usr/include/getch.h

上:183  下:184  右:185  左:186

走迷宫:

1、定义二维数组作为迷宫

0 <=> ' '

1 <=> '#'

2 <=> '@'

2、定义变量记录老鼠的坐标

3、记录游戏开始时间

4、进入死循环

1、清理屏幕 system("clear");

2、显示迷宫(遍历打印二维数组)

3、判断是否到达出口

是:获取游戏结束时间

结束程序

4、获取方向键并处理

判断前方是否是路

如果是:

1、旧位置=0

2、新位置=2

3、更新老鼠的坐标

推箱子:

1、确定数字与字符的对应关系

路          0

墙壁        1

人          2

箱子        3

目标点      4

人          6

箱子        7

2、定义二维数组地图

3、定义人的坐标

4、进入死循环

1、清理屏幕并显示地图

2、检查是否完成任务

是:一共走了几步,结束程序

3、获取方向键

从零开始学习C语言(4)相关推荐

  1. vector 赋值_从零开始学习R语言(一)——数据结构之“向量”(Vector)

    本文首发于知乎专栏:https://zhuanlan.zhihu.com/p/59688569 也同步更新于我的个人博客:https://www.cnblogs.com/nickwu/p/125370 ...

  2. 【从零开始学习Go语言】三.属于Go的Hello World

    [从零开始学习Go语言]三.属于Go的Hello World 一.安装Visual Studio Code 1.1 安装Go插件 二.创建Go项目文件 2.1 创建Go项目文件夹 2.2 打开创建的项 ...

  3. 如何从零开始学习c语言,你真的造吗

    计算机行业发展非常快,大学里的教育基本都跟不上实际的社会需求.如果你所在的学校还在指定大家使用谭浩强的教材,或使用VC6.0来教大家上机实验,那你不妨看看本文,这里有一些建议可以帮助你不会脱离社会太远 ...

  4. 从零开始自学c语言,从零开始学习C语言

    了解指针变量,代码如下: int main() { int a = 10;//4个字节 int* p = &a;//取地址a printf("%p\n",p); //有一种 ...

  5. (四)从零开始学习模糊控制——语言变量蕴含关系

    模糊控制系列文章 (一)模糊数学--基本概念 (二)模糊数学--模糊关系 (三)模糊数学--模糊决策 (四)模糊数学--语言变量&蕴含关系 (五)模糊数学--模糊推理 文章目录 模糊控制系列文 ...

  6. 从零开始学习C语言开发视频教程在线完整版

    基本特性 1.C是高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元. 2.C是结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此 ...

  7. 从零开始学习C语言(1)

    C语言简介: BCPL->newB->C->UNIX->Minix->Linux->gcc C语言诞生于1970-1973年,在肯.汤普逊和丹尼斯.里奇的主导编写下 ...

  8. 2.从零开始学习C语言--C语言数据类型、变量以及进制转换

    基本类型 含义 类型 储存空间 整数 整型 int 4byte 短整型 short int 2byte 长整型 long int 8byte 浮点数 单精度浮点数 float 4byte 精确到6位小 ...

  9. 从零开始学习C语言丨基本数据类型

    上一篇文章中介绍了变量,在C语言中创建一个变量,就需要对此变量的数据类型进行声明.本篇文章就来重点讲一下数据类型. 计算机存储单位 在讲数据类型之前,先引入一个知识点,计算机的存储单位. 前面有说过, ...

  10. 从零开始学习Java-Java语言基础(一)

    1 概述与环境搭建 1.1 Java发展历史 创始公司:Sun Microsystems 发布时间:1995年 创始人:詹姆斯·高斯林 Java前名:oak 1998年发布JDK1.2 : J2SE. ...

最新文章

  1. 会linux基本命令是脚本语言吗,如何理解Linux Shell和基本Shell脚本语言?
  2. java 混码_kotlin java 混合代码 maven 打包实现
  3. python 连续三个数满足条件_计算满足条件的连续值数(Pandas Dataframe)
  4. java压缩图片等比缩放_java对图片进行压缩和resize缩放的方法
  5. 0x06 MySQL 单表查询
  6. pure-ftpd搭建教程
  7. ipq6010 qsdk spf11.5 64bit编译
  8. Windows + CUDA + Anaconda + TensorFlow + PyCharm
  9. MATLAB信号与系统实验(一)
  10. 学习《医学三字经白话解》之虚劳
  11. 低价云 主机虚拟云服务器,低价云 主机虚拟云服务器
  12. 苹果电脑安装双系统Mac和Win7,详细教程
  13. zhengyang:全面了解风控决策引擎
  14. IntelliJ Idea 常用快捷键列表
  15. heheda练数据结构
  16. 我的Blog文章索引::机器学习方法系列,深度学习方法系列,三十分钟理解系列等
  17. 真正的高手,都在刻意练习(建议收藏)
  18. 计算机管理员截屏,电脑截屏快捷键是什么
  19. 蓝桥杯官网 试题 PREV-109 历届真题 扫地机器人【第十届】【省赛】【研究生组】【C++】【Java】【Python】三种解法
  20. MATLAB安装后出现“License Manager Error -8?”,替换文档时报错解决方法

热门文章

  1. 使用statsmodels logit函数,出现MissingDataError: exog contains inf or nans
  2. 【每周一本书】之《游戏数据分析实战》:盛大游戏数据分析专家亲历16年的实战经验分享
  3. 个人简历(更新至2009-06-09)
  4. c语言中长整型变量的值一定大于短整型常量的值,c语言第3讲 常量、变量与标志符 整型、实型、字符型数据.ppt...
  5. java怎样搞驱动_Java数据库接口JDBC基础教程之驱动设置
  6. 我在红杉资本学到了什么?
  7. 2022-2028年中国建筑机器人行业发展模式分析及未来前景规划报告
  8. 用Python爬取了三大相亲软件评论区,结果...
  9. 用Python开发基于Mirai框架的QQ机器人-1. 安装与搭建
  10. 百问网七天物联网课程学习笔记——单片机中断的使用