当前位置: 首页 > news >正文

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类型的数字 

然后 如果咱们想要用数组里的第一个数字我们要取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毕业设计)

大家好&#xff0c;我是DeBug&#xff0c;很高兴你能来阅读&#xff01;作为一名热爱编程的程序员&#xff0c;我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里&#xff0c;我将会结合实际项目经验&#xff0c;分享编程技巧、最佳实践以及解决问题的方法。无论你是…...

TypeScript 之 console的使用

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

西南科技大学C++程序设计实验十(函数模板与类模板)

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

Python 解析JSON实现主机管理

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

一体化污水处理设备材质怎么选

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

德国进口高速主轴电机在机器人上的应用及选型方案

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

【软考中级——软件设计师】备战经验 笔记总结分享

考试成绩 我第一次备考是在2022 然后那时候取消了这次是第二次 靠前我一个月复习的看了以前的笔记 然后刷了七八道历年题目学习资料推荐 &#xff1a;zst——2021 b站链接自荐一下我的笔记 &#xff1a; 软考笔记专栏 视频确实很长 &#xff0c; 我的建议就是先看笔记 然后不会…...

146. LRU 缓存 --力扣 --JAVA

题目 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类&#xff1a; LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中&#xff0c;则返回关键字的值&#xff0c;否则返回…...

【C++】POCO学习总结(十):Poco::Util::Application(应用程序框架)

【C】郭老二博文之&#xff1a;C目录 1、Poco::Util::Application 应用框架 1.1 应用程序基本功能 Poco::Util::Application是POCO实现的的应用程序框架&#xff0c;支持功能如下&#xff1a; 命令行参数处理配置文件初始化和关机日志 1.2 命令行程序和守护进程 POCO支持…...

探索医学影像:如何通过ROI灰度直方图和ROI区域方格图揭示隐秘细节?

一、引言 医学影像是现代医学诊断的重要手段&#xff0c;其中nrrd文件格式作为一种常见的医学影像数据存储方式&#xff0c;被广泛应用于各种医学影像设备和软件中。这种文件格式具有丰富的元数据信息&#xff0c;可以精确记录影像的空间位置、方向和尺度等信息&#xff0c;对于…...

SASS基本语法总结

SASS是CSS预处理器&#xff0c;简单来说&#xff0c;SASS是比CSS更高一级的语言&#xff0c;它拥有CSS不具备的语法&#xff0c;比如if条件控制 SASS的预处理器 SASS是一种无法被浏览器直接执行的语言&#xff0c;我们需要通过预处理工具&#xff08;可以理解为翻译工具&…...

【C++】简单工厂模式

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

el-tree数据量过大,造成浏览器卡死、崩溃

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

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-A

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-A 目录 2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-A 需要环境或者解析可以私信 &#xff08;二&#xff09;A 模块基础设施设置/安全加固&#xff08;200 分&…...

面向LLM的App架构——业务维度

这是两篇面向LLM的大前端架构的第一篇&#xff0c;主要写我对LLM业务的认知以及由此推演出的大前端架构。由于我是客户端出身&#xff0c;所以主要以客户端角度来描述&#xff0c;并不影响对前端的适用性。 对LLM的认知 基于Google对AGI的论文&#xff0c;AGI或者LLM一定会朝…...

ElasticSearch之cat plugins API

命令样例如下&#xff1a; curl -X GET "https://localhost:9200/_cat/plugins?vtrue&pretty" --cacert $ES_HOME/config/certs/http_ca.crt -u "elastic:ohCxPHQBEs5*lo7F9"执行结果输出如下&#xff1a; name component version…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

简易版抽奖活动的设计技术方案

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

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

C++使用 new 来创建动态数组

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

基于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辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...