c语言一维数组总结详解
目录
介绍:
一维整型数组:
声明:
初始化:
打印输出:
输出结果:
浮点型数组:
代码:
运行结果:
补充:
一维字符数组:
字符数组声明及初始化:
部分全部代码:
总结:
介绍:
本篇文章将同时介绍一维整型,浮点型,字符数组
一维整型数组:
声明:
int + 数组名[数组长度(也可以不写)]
初始化:
来看代码解释初始化方法
int a[ ] : a这个数组的长度虽然没写 但是因为后面的初始化 这个数组的长度是6
int a1[6] : a1这个数组的初始化就是最标准的声明及初始化方式
还有一种方式:
int a2[6]: a2这个数组的初始化 是从键盘输入数值(很显然输入六个值) 大家应该我的第一行代码是什么意思
因为我用的Visual Studio 2022 编译器 不加第一行代码scanf用不了
打印输出:
那么怎么输出这几个数组呢?来看代码:
倒数三个for循环就是用来打印三个数组 所以打印数组就得用for循环 如果大家还有什么办法评论区发言哦
输出结果:
第一行就是a2数组的输入
2,3,4行就分别是三个数组的 输出结果
浮点型数组:
代码:
这里的代码就不做讲解了 大家可以看上文
运行结果:
这里第一行和小编上一篇文章一样 输入了一个数组
补充:
大家先看小编给大家写的一个图片:
看完这个图片小编补充一下
就是数组 a[6]: "[ ]" 里面的数字6 代表这个数组有6个元素 就是6 个int类型的数字
然后 如果咱们想要用数组里的第一个数字1 我们要取a[0]
所以很容易发现一个规律:想要数组里的第n个数 a[n - 1] 就是那个数
一维字符数组:
字符数组声明及初始化:
来看代码:
1.数组b就是 最普遍的初始化字符数组和声明数组的方法 可以看到和 之前讲过的整型数组非常相似 就是存储的数据类型不同
2.数组a就有点不同了 大家可以发现 相比于数组b 数组a多了一个‘\0’ 这就说明 数组a可以当做字符串使用了 因为它具备了字符串的标志‘\0’ ‘\0’ 就是字符串的结束符 每个字符串都应具有的标志 否则 计算机就找不到字符串的头在哪了 就会一直读 会出现一堆乱码 直到读到字符串数组的最后一个元素 和整型一样 没有初始化的元素 系统会随机显示一些数 而有了结束符之后 系统就不会往后读了 这些 下面讲
注意:像数组a,b这种初始化方式 未初始化的部分都是空 就打印出来什么都没有
可以看到并没有出现乱码 这里听不懂的 就懂了
3.数组a1就是把a1看成了一个字符串 这个时候系统会自动在数组的后面加一个‘\0’ 不需要我们手动加 还要注意一点就是数组的长度要比我们存进去的字符串的长度大 因为得给‘\0’ 留一个位置啊 它可是大哥啊
4.数组a2与a1一样 所以可以看到 当要声明一个字符串的时候 加不加{ }都无所谓
5.数组a3 这个数组可以发现仅仅声明了 并没有初始化 下面是他的初始化代码
gets函数就是用来初始化这个a3数组的 通过代码可以看到这个函数的用法 原理就是咱们自己输入
一个字符串然后存在a3里 但是记住输入的字符串长度不可以超过14 因为要给‘\0’ 留一个位置啊 很显然 gets函数 也是自动在字符串的后面补个‘\0’ 没有‘\0’ 怎么能叫做字符串呢
puts函数用来打印字符串 当然你也可以用printf函数 但是puts函数打印完一个字符串会换行
来看这段代码的执行结果:
很显然咱们输入zsm了zsm
再来看看用printf打印字符串
很显然打印完字符串的时候没有换行 而且我们要用“%s” 去打印字符串 同时可以发现 我们只写了a3 就打印字符串了 所以当我们打印字符串时 传入字符串的首地址就会打印字符串了 直到‘\0’ 为止
6.数组a4 下面是他的初始化代码:
EOF 这里就不深说了 我告诉大家怎么用 就是咱们不是输入字符串吗 当你不想输的时候 就先回车 在 ctrl + z 回车 (重复三次就完事了)
再说一个细节 就是scanf函数不接收空格 但是它可以补‘\0’ 当前面是%s的时候
来看执行结果
^Z 就是ctrl + z啦
其实还有另一种写法
这种就不需要 ctrl + z那种操作啦
来看执行结果
可以看到 我输入了zsm zsm
但是只打印了zsm 因为scanf函数不接收空格
所以当有空格的时候 scanf函数 就停止输入了
7.数组a5
这个也一样用到了EOF 但是这个不需要重复操作ctrl + z 只需要一次 所以为了好记 大家就记住 遇到EOF 想要结束直接回车然后重复ctrl + z + 回车就完事了直到结束来看执行结果
可以看到在输出完zsm 之后又来一堆乱码 这就是 没有 ‘\0’ 的缘故 系统读到了 没有初始化的部分
来介绍一种解决办法 来看代码
就是按照常规打印数组的方式 打印 有几个打几个
部分全部代码:
这里并没有头文件大家自己添加吧
输出结果:
总结:
本期内容到此结束啦
大家每天进步一点点就好啦
持续关注我的数组内容哦
再送大家一句话 锲而舍之,朽木不折;锲而不舍,金石可镂
散会!!!
相关文章:

c语言一维数组总结详解
目录 介绍: 一维整型数组: 声明: 初始化: 打印输出: 输出结果: 浮点型数组: 代码: 运行结果: 补充: 一维字符数组: 字符数组声明及初始…...

Redis 持久化 —— 超详细操作演示!
四、Redis 持久化 四、Redis 持久化4.1 持久化基本原理4.2 RDB持久化4.3 AOF持久化4.4 RDB与AOF对比4.5 持久化技术转型 五、Redis 主从集群六、Redis 分布式系统七、Redis 缓存八、Lua脚本详解九、分布式锁 数据库系列文章: 关系型数据库: MySQL —— 基础语法大全…...
使用Java实现桶排序算法
文章目录 桶排序算法 今天来看看桶排序算法: 桶排序算法 (1)基本思想:把数组 arr 划分为 n 个大小相同子区间(桶),每个子区间各自排序,最后合并 。计数排序是桶排序的一种特殊情况…...

5.题目:编号1624 小蓝吃糖果
题目: ### 这道题主要考察poriority_queue优先队列 #include<bits/stdc.h> using lllong long; using namespace std; int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int n;cin>>n;priority_queue<int> pq;ll sum0,x;for(int i1;i<n;i){c…...

基于SpringBoot+thymeleaf协同过滤算法山河旅游推荐系统(Java毕业设计)
大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的方法。无论你是…...

TypeScript 之 console的使用
语言: TypeScript 在线工具: PlayGround console console 对象是一个非常强大的控制台日志显示工具, 可以帮助我们在浏览器中调试代码。 注: console不属于TypeScript的语法,而是由JavaScript封装的内置对象。 简单的…...

西南科技大学C++程序设计实验十(函数模板与类模板)
一、实验目的 1. 掌握函数模板与类模板; 2. 掌握数组类、链表类等线性群体数据类型定义与使用; 二、实验任务 1. 分析完善以下程序,理解模板类的使用: (1)补充类模板声明语句。 (2)创建不同类型的类对象,使用时明确其数据类型? _template<typename T>__…...

Python 解析JSON实现主机管理
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它以易于阅读和编写的文本形式表示数据。JSON 是一种独立于编程语言的数据格式,因此在不同的编程语言中都有对应的解析器和生成器。JSON 格式的设计目标是易于理解、…...

一体化污水处理设备材质怎么选
在环保意识日益增强的今天,污水处理设备成为城市建设过程中的重要环节。而选择合适的一体化污水处理设备材质,则成为了一项重要的决策。本文将从专业的角度出发,为您解析一体化污水处理设备材质的选取。 首先,一体化污水处理设备材…...

德国进口高速主轴电机在机器人上的应用及选型方案
随着机器人技术的日新月异,高速主轴电机在机器人领域的应用也日趋广泛。德国进口的SycoTec高速主轴电机,以其高转速、高精度、高刚度的特点,在机器人的切割、铣削、钻孔、去毛刺等加工应用中发挥着关键作用。 一、高速主轴电机的特点 SycoT…...

【软考中级——软件设计师】备战经验 笔记总结分享
考试成绩 我第一次备考是在2022 然后那时候取消了这次是第二次 靠前我一个月复习的看了以前的笔记 然后刷了七八道历年题目学习资料推荐 :zst——2021 b站链接自荐一下我的笔记 : 软考笔记专栏 视频确实很长 , 我的建议就是先看笔记 然后不会…...
146. LRU 缓存 --力扣 --JAVA
题目 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回…...
【C++】POCO学习总结(十):Poco::Util::Application(应用程序框架)
【C】郭老二博文之:C目录 1、Poco::Util::Application 应用框架 1.1 应用程序基本功能 Poco::Util::Application是POCO实现的的应用程序框架,支持功能如下: 命令行参数处理配置文件初始化和关机日志 1.2 命令行程序和守护进程 POCO支持…...
探索医学影像:如何通过ROI灰度直方图和ROI区域方格图揭示隐秘细节?
一、引言 医学影像是现代医学诊断的重要手段,其中nrrd文件格式作为一种常见的医学影像数据存储方式,被广泛应用于各种医学影像设备和软件中。这种文件格式具有丰富的元数据信息,可以精确记录影像的空间位置、方向和尺度等信息,对于…...
SASS基本语法总结
SASS是CSS预处理器,简单来说,SASS是比CSS更高一级的语言,它拥有CSS不具备的语法,比如if条件控制 SASS的预处理器 SASS是一种无法被浏览器直接执行的语言,我们需要通过预处理工具(可以理解为翻译工具&…...

【C++】简单工厂模式
2023年12月6日,周三下午 今天又学习了一次简单工厂模式 每多学习一次,都会加深对设计模式的理解 目录 什么是简单工厂模式简单工厂模式的优缺点举例说明 什么是简单工厂模式 简单工厂模式(Simple Factory Pattern)是一种创建型…...

el-tree数据量过大,造成浏览器卡死、崩溃
el-tree数据量过大,造成浏览器卡死、崩溃 场景:树形结构展示,数据超级多,超过万条,每次打开都会崩溃 我这里采用的是引入新的插件虚拟树,它是参照element-plus 中TreeV2改造vue2.x版本虚拟化树形控件&…...

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-A
2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-A 目录 2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-A 需要环境或者解析可以私信 (二)A 模块基础设施设置/安全加固(200 分&…...
面向LLM的App架构——业务维度
这是两篇面向LLM的大前端架构的第一篇,主要写我对LLM业务的认知以及由此推演出的大前端架构。由于我是客户端出身,所以主要以客户端角度来描述,并不影响对前端的适用性。 对LLM的认知 基于Google对AGI的论文,AGI或者LLM一定会朝…...
ElasticSearch之cat plugins API
命令样例如下: curl -X GET "https://localhost:9200/_cat/plugins?vtrue&pretty" --cacert $ES_HOME/config/certs/http_ca.crt -u "elastic:ohCxPHQBEs5*lo7F9"执行结果输出如下: name component version…...

测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...

简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...

基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...