C语言-第十七周课堂总结-数组

找出矩阵中最大值所在的位置

  • 程序解析-求矩阵的最大值

在这里插入图片描述

  1. 源程序段
    在这里插入图片描述

二维数组

多维数组的空间想象

  1. 一维数组:一列长表或一个向量
  2. 二维数组:一个表格或一个平面矩阵
  3. 三维数组:三位空间的一个方阵
  4. 多维数组:多维空间的一个数据矩阵
    在这里插入图片描述

二维数组的定义和引用

  1. 定义
    类型名 数组名[行长度][列长度]
    int a[3][2];
    定义一个二维数组a,3行2列,6个元素
    int b[5][10];
    定义一个二维数组b,5行10列,50个元素

引用

先定义,后使用
数组元素的引用:
数组名[行下标][列下标]
行下标和列下标:整形表达式
行下标的取值范围是[0,行长度 - 1]
列下标的取值范围是[0,列长度 - 1]
在这里插入图片描述
int a[3][2]; 3行2列,6个元素
a[0][0] a[0][1]
a[1][0] a[1][1]
a[2][0] a[2][1]
在这里插入图片描述

二维数组在内存中的存放方式

int a[3][2];
3行2列,6个元素
表示1个3行2列的矩阵(数表)
a[0][0] a[0][1]
a[1][0] a[1][1]
a[2][0] a[2][1]
在这里插入图片描述

二维数组的初始化

  1. 分行赋初值
    int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
    int b[4][3] = {{1, 2, 3}, {}, {4, 5}};
    在这里插入图片描述
  2. 顺序赋初值
    int a[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
  3. 省略行长度
    对全部元素都赋了初值
    int a[][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9}
    或分行赋初值,在初值表中列出了全部行
    int b[][3] = {1, 2, 3}, {}, {4, 5}, {}}
    在这里插入图片描述

使用二维数组编程

  • 行下标和列下标分别作为循环变量,通过二重循环,遍历二维数组
  • 通常将行下标i作为外循环的循环变量
    在这里插入图片描述

生成一个矩阵(数表)并输出

  • 矩阵(数表)的运算通常使用二维数组实现
    输入两个正整数m和n(1<= m, n <= 3),生成一个并输出一个m*n的矩阵(数表),其元素的值由下式给出:
    a[i][j] = i + j (0 <= i <= m - 1, 0 <= j <= n - 1)
    在这里插入图片描述
  • 源程序
    在这里插入图片描述
  • 矩阵(数表)的输入
    在这里插入图片描述
  • 矩阵(数表)与二维数组
    在这里插入图片描述

方阵(方形数表)转置

在这里插入图片描述

源程序段

在这里插入图片描述

计算天数

在这里插入图片描述

  • 函数
    在这里插入图片描述

判断回文

在这里插入图片描述

  • 程序解析
    在这里插入图片描述

一维字符数组

  • 字符串的存储和运算可以用一维数组实现;
  • 一维字符数组的定义、引用、初始化与其他类型的一维数组一样;
    char str[80];
    定义一个含有80个字符型元素的数组str.
    char t[5] = {‘H’, ‘a’, ‘p’, ‘p’, ‘y’};
    在这里插入图片描述
    在这里插入图片描述

字符串

字符串常量

用一对双括号括起来的字符序列
一个字符串结束符’\n’
在这里插入图片描述

字符串与一维字符数组

  • 字符串:一个特殊的一维字符数组
    • 把字符串放入一维字符数组(存储)
    • 对字符串的操作—>对字符数组的操作

字符串的存储–数组初始化

  • 字符串可以存放在一维字符数组中

    char s[6] = {‘H’, ‘a’, ‘p’, ‘p’, ‘y’, ‘\0’};
    字符数组的初始化:用字符串常量
    char s[6] = {“Happy”};
    char s[6] = “Happy”;

  • 数组长度>= 字符串的有效长度 + 1
    char t[5]; "Happy"能存入t吗?
    在这里插入图片描述

字符串的存储

char s[80] = “Happy”;
在这里插入图片描述

  • 字符遇‘\0’结束;
  • 第一个’\0’前面的所有字符和’\0’一起构成了字符串“Happy";
  • '\0’之后的其他数组元素与该字符串无关
    在这里插入图片描述

对字符串的操作

  • 把字符串放入一维字符数组(存储)
  • 对字符串的操作---->对字符数组的操作
    • 普通字符数组:数组元素的个数是确定的,一般用下标控制循环;
    • 字符串:没有显示地给出有效字符的个数,只规定在字符串结束符’\0’之前的字符都是字符串的有效字符,一般用结束符’\0’来控制循环;
      循环条件:s[i] != ‘\0’

输出字符串

在这里插入图片描述

字符串的存储—赋值和输入

  • 把字符串放入一维字符数组(存储)

  • 对字符串的操作—>对字符数组的操作

    存储

    • 数组初始化
      char s[6] = “a”;
    • 赋值
      s[0] = ‘a’; s[1] = ‘\0’;
    • 输入
      ‘\0’代表空操作,无法输入
      输入时,设定一个输入结束符
      将输入结束符转换为字符串结束符’\0’

使用字符串编程

  • C语言将字符串作为一个特殊的一维字符数组来处理
    • 存储:把字符串放入一维字符数组
      • 数组初始化、赋值、输入
  • 对字符串的操作—>对字符数组的操作
    • 对一维字符数组的操作:针对字符串的有效字符和字符串结束符
      • 检测字符串结束符’\0’

统计数字字符个数

在这里插入图片描述

  • 源程序段
    在这里插入图片描述

凯撒密码

在这里插入图片描述

  • 源程序段
    在这里插入图片描述

字符转换

在这里插入图片描述

  • “123”—>123
    在这里插入图片描述
  • 源程序段
    在这里插入图片描述
  • 思考
    在这里插入图片描述

进制转换

在这里插入图片描述

  • 分析
    在这里插入图片描述
  • 生成十六进制字符串
    在这里插入图片描述
  • 转换为十进制整数
    在这里插入图片描述
  • 程序段
    在这里插入图片描述

字符串小结

字符串:一个特殊的一维字符数组’\0’

  • 把字符串放入一维字符数组(存储)
    数组长度足够

    • 字符数组初始化:char s[80] = “Happy”;
    • 赋值:s[0] = ‘a’; s[1] = ‘\0’;
    • 输入:输入结束符—>字符串结束符’\0’
      在这里插入图片描述
  • 对字符串的操作—>对字符数组的操作
    只针对字符串的有效字符和字符串结束符’\0’
    在这里插入图片描述

本章总结

  • 一维数组:
    • 定义、初始化、引用
    • 使用一维数组:选择排序、二分查找
  • 二维数组
    • 定义、初始化、引用
    • 使用二维数组:矩阵(数表)
  • 字符串
    • 字符数组与字符串
    • 字符串的存储
    • 字符串的操作
  • 使用数组进行程序设计
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/581709.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2019年全国学校POI数据

2019年全国学校POI数据 POI&#xff08;一般作为Point of Interest的缩写&#xff0c;也有Point of Information的说法&#xff09;&#xff0c;通常称作兴趣点&#xff0c;泛指互联网电子地图中的点类数据&#xff0c;基本包含名称、地址、坐标、类别四个属性&#xff1b;在GI…

如何利用树莓派与Nginx结合cpolar内网穿透工具实现公网访问内网web网站

文章目录 1. Nginx安装2. 安装cpolar3.配置域名访问Nginx4. 固定域名访问5. 配置静态站点 安装 Nginx&#xff08;发音为“engine-x”&#xff09;可以将您的树莓派变成一个强大的 Web 服务器&#xff0c;可以用于托管网站或 Web 应用程序。相比其他 Web 服务器&#xff0c;Ngi…

QML —— ProgressBar示例(附完整源码)

示例 - 效果 实例 - 源码 import QtQuick 2.12 import QtQuick.Window 2.12import QtQuick.Layouts 1.12 import QtQuick.Controls 2.5Window {id: rootIdvisible: truewidth: 640height: 480title: qsTr("Hello World")Column{spacing: 40anchors.centerIn: parent…

车路协同中 CUDA 鱼眼相机矫正、检测、追踪

在车路协同中,鱼眼一般用来补充杆件下方的盲区,需要实现目标检测、追踪、定位。在目标追踪任务中,通常的球机或者枪机方案,无法避免人群遮挡的问题,从而导致较高的ID Swich,造成追踪不稳定。但是鱼眼相机的顶视角安装方式,天然缓解了遮挡的问题,从而实现杆件下方的盲区…

携手共进 探索生命|清华大学创融同学会走进生命系 共话细胞科技新未来

携手共进 探索生命&#xff5c;清华大学创融同学会走进生命系 共话细胞科技新未来 探索细胞产业新高度&#xff0c;赋予生命健康更多保障&#xff01;日前&#xff0c;清华大学创融同学会一行莅临全生命周期健康管理中心——生命系参观交流。生命系领导以及全体员工对来访贵宾…

【10】ES6:Promise 对象

一、同步和异步 1、JS 是单线程语言 JavaScript 是一门单线程的语言&#xff0c;因此同一个时间只能做一件事情&#xff0c;这意味着所有任务都需要排队&#xff0c;前一个任务执行完&#xff0c;才会执行下一个任务。但是&#xff0c;如果前一个任务的执行时间很长&#xff…

Python3 基本数据类型

Python 中的变量不需要声明。每个变量在使用前都必须赋值&#xff0c;变量赋值以后该变量才会被创建。 在 Python 中&#xff0c;变量就是变量&#xff0c;它没有类型&#xff0c;我们所说的"类型"是变量所指的内存中对象的类型。 等号&#xff08;&#xff09;用来…

关于时间与空间复杂度的学习

关于时间与空间复杂度的学习 算法时间复杂度定义标准算法度量单位渐近记号1、Θ&#xff08;big-theta&#xff09;2、O&#xff08;big-oh&#xff09;3、Ω&#xff08;big-omege&#xff09; 推导时间复杂度步骤与法则步骤法则 示例1.常数阶2、线性阶3、对数阶4、平方阶5、立…

『精』CSS 小技巧之BEM规范

『精』CSS 小技巧之BEM规范 文章目录 『精』CSS 小技巧之BEM规范一、什么是BEM&#xff1f;二、BEM要怎么用&#xff1f;三、不用BEM会少个胳膊吗&#xff1f;&#x1f48a;四、Sass与BEM的结合&#x1f388;五、块与修饰符应放在一块&#x1f47f;参考资料&#x1f498;推荐博…

100000000!文心一言披露最新用户规模

“文心一言用户规模突破1亿。” 12月28日&#xff0c;百度首席技术官、深度学习技术及应用国家工程研究中心主任王海峰在第十届WAVE SUMMIT深度学习开发者大会上宣布。会上&#xff0c;王海峰以《文心加飞桨&#xff0c;翩然赴星河》为题作了主旨演讲&#xff0c;分享了飞桨和文…

Page17~19 samp2_1, 项目各个文件的含义,增加一个关闭按钮

创建一个Widget Application项目samp2_1,选择QWidget作为窗体基类&#xff0c;并选中Generate form复选框 创建好之后&#xff0c;Shadow build的对勾去掉 创建好的项目文件目录树 这个项目包含以下一些文件&#xff1a; 项目组织文件samp2_1.pro, 存储项目设置的文件 主程序…

VStudio2022导出Qt项目在Linux的Qtcreator中运行修复错误记录

公司项目中的代码在VStudio2022中编写&#xff0c;交给我需要移植Linux的Qtcreator中&#xff0c;记录一下移植过程中的遇到的坑&#xff0c;按照错误顺序由高到低记录一下&#xff0c;边尝试边解决边记录&#xff0c;写作方面没有逻辑&#xff0c;每个人项目环境不一样&#x…

Flask 账号管理列表

Flask 账号管理列表 web/controllers/account/Account.py /index route_account Blueprint( account_page,__name__ )route_account.route( "/index" ) def index():resp_data {}req request.valuespage int( req[p] ) if ( p in req and req[p] ) else 1qu…

云服务器接入高防IP无法访问的原因以及处理方式

云服务器&#xff0c;也称为Elastic Compute Service&#xff08;ECS&#xff09;&#xff0c;是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。它是一种虚拟化的服务器&#xff0c;运行公共的操作系统和软件&#xff0c;并允许用户通过网络进行访问。用户无需提前购…

PyTorch实战:基于Seq2seq模型处理机器翻译任务(模型预测)

文章目录 引言数据预处理加载字典对象en2id和zh2id文本分词 加载训练好的Seq2Seq模型模型预测完整代码结束语 引言 随着全球化的深入&#xff0c;翻译需求日益增长。传统的人工翻译方式虽然质量高&#xff0c;但效率低&#xff0c;成本高。机器翻译的出现&#xff0c;为解决这…

PYTHON基础:数据可视化绘图

python数据可视化入门 –常见的四种数据图形绘制 数据可视化在数据分析和数据科学中起着重要的作用。它可以帮助我们更直观地理解和解释数据&#xff0c;发现数据中的模式、趋势和异常。 在数据可视化中&#xff0c;常用的图表类型包括折线图、散点图、直方图和饼图&#xff…

为什么要运营海外社媒?海外云手机能发挥什么作用?

基于海外社媒在全球范围内拥有的大量流量&#xff0c;海外社媒运营成为了品牌推广、内容创作和用户互动的重要途径。本文将探讨海外社媒运营的重要性&#xff0c;并介绍海外云手机在这一过程中的卓越帮助。 海外社媒运营的重要性 首先&#xff0c;海外社媒运营有助于企业扩大品…

Qt高质量的开源项目合集

文章目录 1.Qt官网下载/文档2.第三方开源 1.Qt官网下载/文档 Qt Downloads Qt 清华大学开源软件镜像站 Qt 官方博客 2.第三方开源 记录了平常项目开发中用到的第三方库&#xff0c;以及一些值得参考的项目&#xff01; Qt AV 基于Qt和FFmpeg的跨平台高性能音视频播放框…

EasyExcel导出

1.简介 官网&#xff1a;EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel 2.案例 2.1 实现的效果 效果图如下&#xff1a; 2.2 实现步骤 三种情景&#xff0c;主要是表头和数据有区别&#xff0c;简列实现步骤如下&#xff1a; 2.3 具体实现 2.3.1 前置-依赖导入…

【LeetCode-剑指offer】--3.比特位计数

3.比特位计数 class Solution {public int[] countBits(int n) {int[] bites new int[n 1];for(int i 0 ; i < n;i){bites[i] Count(i);}return bites;}public int Count(int x){int count 0;while(x > 0){x & (x - 1);count;}return count;} }