第五天学习总结:C语言学习笔记 - 数组篇

C语言学习笔记 - 数组篇

大家好,今天我们来回顾一下C语言中的数组部分。数组可以看作是相同数据类型的元素排成一队构成的序列。简单来说,就是一堆元素整整齐齐地在内存里按顺序存放。

数组的特点

数组最重要的特点就是每个元素都有一个下标,也就是索引。这个下标是从0开始的,一直到n-1,其中n是数组的元素个数。

为什么从0开始?

这个下标实际上是一个偏移量,它代表了元素在数组中的地址偏移量。因为内存中的数据是按字节存放的,每个字节都有一个地址,相当于一个编号。所以,我们可以通过数组的起始地址加上偏移量快速找到元素。

数组的定义

定义数组时,前面是数据类型,后面是数组的名称和长度。例如:

c

int a5;

这里a是一个包含5个整数的数组。注意,数组的长度在C语言中是不可变的。

数组的访问

访问数组元素时,我们使用下标:

c

a0, a1, ..., an-1

如果访问超出范围的元素,比如a5,就会发生数组越界,这是非常危险的。

遍历数组

遍历数组通常使用for循环,因为数组的下标从0开始,非常适合用循环遍历。

字符数组和字符串

字符数组在C语言中通常用来表示字符串。字符串的末尾必须有一个'\0'字符来表示结束。

多维数组

多维数组本质上是数组的数组。例如,二维数组可以看作是数组的数组,每个元素本身也是一个数组。

练习题

输入五个成绩保存到数组并输出

c

#include <stdio.h>

int main() {

double scores5;

for (int i = 0; i < 5; i++) {

scanf("%lf", &scoresi);

}

for (int i = 0; i < 5; i++) {

printf("%lf ", scoresi);

}

return 0;

}

计算六只鸡的总体重和平均体重

c

#include <stdio.h>

int main() {

double weights6 = {10, 12, 15, 20, 18, 22};

double sum = 0;

for (int i = 0; i < 6; i++) {

sum += weightsi;

}

printf("总体重: %lf\n", sum);

printf("平均体重: %lf\n", sum / 6);

return 0;

}

访问26个英文字母

c

#include <stdio.h>

int main() {

char letters26;

for (int i = 0; i < 26; i++) {

lettersi = 'A' + i;

}

for (int i = 0; i < 26; i++) {

printf("%c ", lettersi);

}

return 0;

}

求数组的最小值及对应的索引

c

#include <stdio.h>

int main() {

int arr\[\] = {10, 23, 5, 4, 7, 8, 9};

int min = arr0, index = 0;

for (int i = 1; i < sizeof(arr) / sizeof(arr0); i++) {

if (arri < min) {

min = arri;

index = i;

}

}

printf("最小值: %d, 索引: %d\n", min, index);

return 0;

}

这就是我们今天的内容,希望大家能够有所收获。如果有任何问题,欢迎随时提问。

相关推荐
憧憬成为web高手几秒前
[HITCON 2017]SSRFme
学习
妖精的羽翼4 分钟前
AI + 前端、可视化 & 大屏
学习
xskukuku5 小时前
使用VSCode配置C语言运行环境
c语言·ide·vscode
xuhaoyu_cpp_java7 小时前
项目学习(三)分页查询
java·经验分享·笔记·学习
小宋加油啊9 小时前
机械臂抓取物体 PVN3D算法调研学习
学习·算法·3d
Xzh04239 小时前
AI Agent 学习路线(Java 后端方向)
java·人工智能·学习
Cloud_Shy61810 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第五章 Item 33 - 35)
开发语言·人工智能·笔记·python·学习方法
做cv的小昊10 小时前
计算机图形学:【Games101】学习笔记08——光线追踪(辐射度量学、渲染方程与全局光照、蒙特卡洛积分与路径追踪)
图像处理·笔记·学习·计算机视觉·游戏引擎·图形渲染·概率论
星恒随风10 小时前
C++ 类和对象入门(五):初始化列表、explicit 和 static 成员详解
开发语言·c++·笔记·学习·状态模式
sensen_kiss12 小时前
CPT304 SoftwareEngineeringII 软件工程 2 Pt.8 软件测试 (Software Testing)(上)
学习·软件工程