c语言从入门到函数速成(2)

news2024/11/20 13:44:12

温馨提醒:本篇文章适合人群:刚学c又感觉那个地方不怎么懂的同学以及以及学了一些因为自身原因停学一段时间后又继续学​​​c的学

好,正片开始!

数组

概念:数组中存放的是1个或者多个数据,但是数组元素个数不能为0。  数组中存放的多个数据,类型是相同的。

大白话:其实高中数学的集合没啥区别,差不多就是一个大箩筐,筐内有许多符合该类型的元素

常见的有一维数组和二位数组(别慌一会我带你搞定二维数组)

一维数组的定义:类型    数组名[ 元素个数 ]     eg.int arr[10];

初始化:类型   数组名[ 元素个数 ]  =  { 0 };   eg.int arr[10] = {0};

为了大家能更好地了解一维数组的用处,我就写个代码,让大家了解一下

这里的例子主要是让大家了解一下数组是怎么使用的。

那么在例子中已经出现了scanf和数组,那么我就教给大家如何用数组进行多组输入。

在讲数组的多组输入前我先给大家讲两个知识点:

1.数组的下标是从0开始,而它末尾元素的下标是n-1。

2.数组的长度计算模板:非字符或字符串数组的长度   ->   int  sz = sizeof(arr)/sizof(arr[0]);

                                      字符串或字符数组的长度       ->      int sz = strlen(arr);

          注意:计算  字符串或字符数组的长度 时需要添加头文件#include<string.h>哦

有了这两个前置知识,咱们就可以学习数组的输入了。

模板:for( int i = 0;  i  <  sz(数组长度);i++)

                    scanf("占位符",&arr[ i ]);

}

一维数组的打印模板

for( int i = 0;  i  <  sz(数组长度);i++)

                  printf("占位符",arr[i]);

}

这里其实我不太建议大家直接背模板,这样吧我在讲一下思路

数组的输入输出思路:利用for循环和数组的下标将元素一个一个进行输入或输出,如果不太理解这个思路的小伙伴可以先背模板,因为c语言学到后面,这个思路自然就理解了。


一维数组的基本知识点也就差不多讲完了。

那么我们开始讲二维数组

二维数组的定义

类型  数组名[ 行 ][  列 ] 

二维数组的初始化

类型  数组名[ 行 ][  列 ] ={ 0 };

也许讲到这里,还是会有小伙伴不理解,没事,我们拿游戏来举例子

就拿这个游戏的左上角的坐标来解释,17就是二维数组的行,13就是二维数组的列,所以呢,你也可以把二维数组当成坐标去理解,我可以肯定这样理解没有任何问题的。

当然啦,这里有几个知识点,大家最好记一下。

1.二维数组的行可以省略,但列不能省略

2.二维数组的行和列的下标都是从0开始到n-1结束

3.二维数组是由多个一维数组组成

二维数组的输入和输出

# include <stdio.h>
int main ()
{
int arr[ 3 ][ 5 ] = { 1 , 2 , 3 , 4 , 5 , 2 , 3 , 4 , 5 , 6 , 3 , 4 , 5 , 6 , 7 };
int i = 0 ; // 遍历⾏
// 输⼊
for (i= 0 ; i< 3 ; i++) // 产⽣⾏号
{
int j = 0 ;
for (j= 0 ; j< 5 ; j++) // 产⽣列号
{
scanf ( "%d" , &arr[i][j]); // 输⼊数据
}
}
// 输出
for (i= 0 ; i< 3 ; i++) // 产⽣⾏号
{
int j = 0 ;
for (j= 0 ; j< 5 ; j++) // 产⽣列号
{
printf ( "%d " , arr[i][j]); // 输出数据
}
printf ( "\n" );
}
return 0 ;
}

那么,今天的内容就先到这里啦,希望大家能多去练一练,我们下次再见

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

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

相关文章

Topaz Video AI 5.0.3激活版 AI视频无损缩放增强

Topaz Video AI专注于很好地完成一些视频增强任务&#xff1a;去隔行&#xff0c;放大和运动插值。我们花了五年时间制作足够强大的人工智能模型&#xff0c;以便在真实世界的镜头上获得自然的结果。 Topaz Video AI 还将充分利用您的现代工作站&#xff0c;因为我们直接与硬件…

Redis核心数据结构——跳表(生成数据到文件和从文件中读取数据、模块合并、)

生成文件和从文件中读取数据。 需求如下&#xff1a; 你的任务是实现 SkipList 类中的数据持久化成员函数和数据加载成员函数。 持久化数据成员函数签名&#xff1a;void dump_file(); 该成员函数负责将存储引擎内的数据持久化到文件中。数据的持久化格式是将每个键值对写入文…

封装umi-request时通过 AbortController 配置取消请求

一、关键部分 一、在封装的request.ts中 声明一个 abortControllers 对象用于存储要取消的请求&#xff08;我用了-s表示复数&#xff0c;多个abortcontroller对象&#xff0c;与下面&#x1f447;的单个abortController区分&#xff09;封装取消请求的函数cancelRequest, 传入…

GraphPad Prism:医学绘图的革命性工具,Mac/Win双平台首选

在医学研究的道路上&#xff0c;数据的可视化与分析是不可或缺的一环。GraphPad Prism&#xff0c;作为一款专业的医学绘图工具&#xff0c;正以其强大的功能和卓越的性能&#xff0c;在Mac与Win双平台上引领着医学绘图的新潮流。 GraphPad Prism不仅仅是一款绘图软件&#xf…

Ubuntu22.04有线网络连接但是没网,网络图标显示问号

Ubuntu22.04有线网络连接但是没网&#xff0c;网络图标显示问号 问题描述解决方案 问题描述 有线网络连接 但是没网 且网络图标显示问号 解决方案 进入设置->隐私->在 连接情况 中关闭连接检查 关闭后 网络正常

使用Qt for android 获取android PDA设备扫码数据

安装Qt Android 模块、Qt Creator、JDK8 Qt Creator版本太高不行&#xff0c;亲测最新版的会导致无法使用jdk 8&#xff08;2024-05-04 我的Qt版本是5.15.2&#xff0c;所以我选择了Qt Creator5.0.3进行开发 5.0.3 下载JDK8 JDK8 安装Qt Creator、JDK8 安装Qt Creator没什么…

【银角大王——Django课程——用户表的基本操作2】

用户表的基本操作2 编辑用户按钮删除按钮入职日期——不显示时分&#xff0c;只显示年月日——使用DataField函数不使用DateTimeField修改models记得重新执行命令&#xff0c;更新数据库结构修改前修改后 编辑用户按钮 点击编辑&#xff0c;跳转到编辑页面&#xff08;将编辑的…

函数之对决!!:数学函数 VS C++函数

前言 有人问过我&#xff0c;C里的函数是否跟我们数学里的函数一样&#xff1f;于是&#xff0c;我就写下了这篇文章。 一、数学函数 1、一次函数 一次函数&#xff0c;也称为线性函数&#xff0c;是数学中函数的一种&#xff0c;通常表示为ykxb&#xff08;其中k和b是常数&am…

springboot+vue中小学文具商城购物系统网站

技术栈 前端&#xff1a;vue.jsElementUI 开发工具&#xff1a;IDEA 或者eclipse都支持 编程语言: java 框架&#xff1a; ssm/springboot 数据库: mysql 版本不限 数据库工具&#xff1a;Navicat/SQLyog都可以 详细技术&#xff1a;javaspringbootvueMYSQLMAVEN文具网站为用户…

jQuery的简单使用

jQuery的简单使用 jQuery查找父、子、兄弟节点jQuery查找内容元素筛选遍历元素操作元素width() / height() 设置宽高.css() 设值样式attr() / prop() 设置属性增加、删除、切换class删除和清空 操作元素总结选择表达式链式操作取值和赋值函数 HTML_1 <table id"table_…

第16章 基于结构的测试技术(白盒测试技术)

一、静态测试技术 &#xff08;一&#xff09;概述 不运行程序代码的情况下&#xff0c;通过质量准则或其他准则对测试项目进行检查的测试类型&#xff0c;人工或工具检查。 1、代码检查 2、编码规则检查 3、静态分析 静态分析概述 不需要执行程序 控制流分析 通过生成…

高边沿开关LM5050

可以用于高边沿单片机控制电路 LM5050-1/-Q1 高侧 OR-ing FET 控制器与外部 MOSFET 配合工作&#xff0c;当与电源串联时则用作理想的二 极管整流器。此 ORing 控制器可使 MOSFET 替换电 源分配网络中的二极管整流器&#xff0c;从而降低功率损耗和压 降。 LM5050-1/-Q1 控制器…

企业计算机服务器中了rmallox勒索病毒怎么处理,rmallox勒索病毒处理建议

在网络技术不断发展的时代&#xff0c;网络在企业中的应用广泛&#xff0c;可以为企业带来更多的便利&#xff0c;大大提升了企业的生产效率&#xff0c;但网络作为虚拟世界&#xff0c;在为企业提供便利的同时&#xff0c;也为企业数据安全带来严重威胁。近期&#xff0c;云天…

USB3.0线束特征阻抗测试报告解读

一. 衰减 从低频到高频&#xff0c;每个数据点都按照相对应的规范进行设置&#xff0c;形成一条标准线&#xff0c;如图1中所示&#xff0c;紫色线即为标准线&#xff0c;蓝色线为实测线。实测线在紫色线之上&#xff0c;说明线束衰减符合标准&#xff0c;反之表明线束衰减不符…

预防耳石症后遗症,了解RD的成因。

耳石症的后遗症&#xff0c;我们把它叫做RD RD的这个症状实际上它跟多因素有关。 第一个因素&#xff0c;就是跟这个病人的性格有关系的。 第二个因素&#xff0c;就是跟这个耳石复位后他这个机体的这个状态有关系。 第三个因素&#xff0c;还跟耳石的有一部分可能是真的没有…

AI大模型探索之路-训练篇12:语言模型Transformer库-Datasets组件实践

系列篇章&#x1f4a5; AI大模型探索之路-训练篇1&#xff1a;大语言模型微调基础认知 AI大模型探索之路-训练篇2&#xff1a;大语言模型预训练基础认知 AI大模型探索之路-训练篇3&#xff1a;大语言模型全景解读 AI大模型探索之路-训练篇4&#xff1a;大语言模型训练数据集概…

如何使用提示测试为LLMs构建单元测试?

原文地址&#xff1a;how-to-build-unit-tests-for-llms-using-prompt-testing 确保您的人工智能交付&#xff1a;快速测试完美生成应用程序的基本指南 2024 年 4 月 26 日 如果你曾经编写过软件&#xff0c;你就会知道测试是开发过程中必不可少的一部分。特别是单元测试&#…

windows系统网页卡死的时候 解决办法

第一种办法 同时按下ctrlshiftdelete键&#xff0c;清除缓存 如果这种办法不行&#xff0c;强制退出再打开还不行的话&#xff0c;再试第二种办法 第二种办法 打开f12开发者工具&#xff0c;如图在application标签页下&#xff0c;打开local storage&#xff0c; 右键选中virt…

Slave SQL线程与PXB FTWRL死锁问题分析

1. 问题背景 2.27号凌晨生产环境MySQL备库在执行备份期间出现因FLUSH TABLES WITH READ LOCK未释放导致备库复制延时拉大&#xff0c;慢日志内看持锁接近25分钟未释放。 版本&#xff1a; MySQL 5.7.21PXB 2.4.18 慢查询日志&#xff1a; 备份脚本中的备份命令&#xff1a;…

Hibernate执行流程分析及配置文详解

目录 1、Hibernate执行流程分析及配置文件详解 1&#xff09;Configuration对象 2&#xff09;ServiceRegistry对象&#xff08;hibernate4的新特性&#xff09; 3&#xff09;SessionFactory对象 4&#xff09;Session对象 5&#xff09;Transaction对象 6&#xff09;…