C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式在 C 语言中 数组是一种重要的数据结构 用于存储一组相同数据类型的元素 方式二 char str2 H e l l o amp

大家好,欢迎来到IT知识分享网。

数组的定义和初始化,包括一维数组和二维数组的基本形式。

在 C 语言中,数组是一种重要的数据结构,用于存储一组相同数据类型的元素。

一维数组

定义:一维数组是最简单的数组形式,它可以看作是一个线性排列的元素集合。

定义一维数组的一般形式为:数据类型 数组名[数组长度];

“数据类型” : int、float、char 等基本数据类型,也可以是自定义的数据类型;

“数组名” :你为这个数组起的名字,遵循标识符的命名规则;

“数组长度” :表示数组中元素的个数,它必须是一个常量表达式(即值在编译时就确定的表达式)。

范例:

例子1:存储员工年龄

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

例子2:存储学生考试成绩(精确到小数点后一位)

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

例子3:存储密码

开头:

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

初始化密码:

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

验证密码:

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

整体展示:

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

如果验证失败,可以连续输入,不会直接退出:

可以验证的最大次数为三次,如果三次都错误,那么就会直接退出;

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

如果在限制次数内修改成功,则会出现这样的结果;

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

结果1:

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

结果2:

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

例子4:存储商品价格

用于存储 25 种商品的价格;

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

如果输入25种,例子太长了,我们就以6种价格为例吧,这样短一点,看起来也比较直观;

所以这个地方使用 double productPrices[PRODUCT_COUNT];

定义了一个能存储 25 个双精度浮点数的数组,PRODUCT_COUNT 是宏定义,方便后续修改商品数量。

这里就可以直接修改数量了。

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

例子5:存储一周每天的天气状况

输入错误的结果:

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

输入正确的结果:

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

这里要求是大写字母“S和“R”,所以这里要是输入错误,结果也是错误的。

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

如果想要实现的结果是:统计晴天和雨天的结果,则应该这样编写;

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

如果想要实现的结果是:看看晴天多还是雨天多,则应该这样编写;

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

晴天和雨天的次数,并比较晴天多还是雨天多;

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

学到这里,我觉得编写代码真的很有趣,它能实现你想要的功能,只要你能想象出来,并且有一定的逻辑思维,那么就能写出自己都觉得很神奇的代码。

  1. 初始化:在定义数组时,可以同时对数组元素进行初始化。

初始化的方式有以下几种:

逐个初始化:将数组元素的值依次用花括号括起来,中间用逗号分隔。

部分初始化:只对数组的前几个元素进行初始化,未初始化的元素会被自动初始化为 0(对于数值型数组)或 ‘\0’(对于字符型数组)。

省略数组长度初始化:在初始化列表中给出所有元素的值时,可以省略数组长度,编译器会根据初始化列表中元素的个数自动确定数组的长度。

这个我们上次讲过了,这里就不再重复了。

二维数组

  1. 定义:二维数组可以看作是一个由多个一维数组组成的数组,它在逻辑上呈现出一种表格或矩阵的形式。定义二维数组的一般形式为:

数据类型 数组名[行数][列数];

假设一个班级有 4 个学生,每个学生需要记录 3 门课程(语文、数学、英语)的成绩。

其中,“行数” 和 “列数” 都必须是常量表达式,分别表示二维数组的行数和列数。

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

详细分析:

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

  1. 初始化:二维数组的初始化也有多种方式:

按行初始化:

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

部分按行初始化:

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

不按行初始化:

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

通过以上定义和初始化的方式,你可以根据具体的需求在 C 语言中灵活地使用一维数组和二维数组来存储和处理数据。

例如:int arr[5] = {1, 2, 3, 4, 5};(一维数组初始化)int matrix[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};(二维数组初始化)

数组元素的访问方式,通过下标进行访问,下标从 0 开始。

二维数组深入

  1. 二维数组在内存中的存储方式:按行优先存储。

对于 int matrix[3][4],内存中先存储第一行的 4 个元素,然后是第二行,最后是第三行。

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

  1. 二维数组作为函数参数函数声明形式:void func(int arr[][4], int rows, int cols);(假设列数为 4)解释为什么列数必须指定,而行数可以省略。

实现一个计算二维数组元素总和的函数:

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

C 语言数组及字符串基础学习,了解一维数组和二维数组的基本形式

字符串基础

  1. 字符串的本质:字符串实际上是字符数组,以 ‘\0’ 作为字符串结束标志。

char str[] = “Hello”; 实际上在内存中存储为 ‘H’ ‘e’ ‘l’ ‘l’ ‘o’ ‘\0’。

  1. 字符串的定义和初始化

方式一:char str1[] = “Hello”;方式二:char str2[10] = {‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’};

  1. 字符串的输入输出使用 printf 和 scanf 函数,%s 格式说明符用于字符串的输入输出。
  2. 字符串处理函数简介(只介绍功能,不深入实现)strlen:计算字符串长度(不包括 ‘\0’)。strcpy:字符串复制。strcat:字符串连接。strcmp:字符串比较。

课堂练习

  1. 编写一个函数,接收一个二维数组和其行数、列数,返回数组中最大的元素值。
  2. 编写程序,输入两个字符串,比较它们的长度是否相等,如果不相等,输出较长的字符串。#在头条记录我的2025#

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/183926.html

(0)
上一篇 2025-07-24 13:00
下一篇 2025-07-24 13:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信