c语言这张图总结的非常好
分享给大家
上一期:
一张图秒懂C语言函数
一张图秒懂C语言( 指针 )
C语言系列教程10篇
下载方式高清思维导图下载
关注下方公众号
回复:“c03”
长按上方二维码即可关注
回复:“c03”领取
何为数组?
将数据类型的变量的有序集合(列表),数组中存储的变量称为数组元素,数组占据着一块连续的内存空间,元素按照下标顺序连续存放,根据下标访问对应的数组元素
数组定义
int a[10] //定义数组名为a的数组,有10个数组元素
注意:数组的大小不允许动态定义,eg:int a[n]
初始化
①所有元素都赋初值:int a[5] = {1,2,3,4,5};因为所有元素都赋初值了,数组的长度可以省略
②部分元素赋值:int a[5] = {1,2,3}剩下的系统会自动初始化为0
引用
数组下标的元素总是从0开始的eg:int a[4] = {1,2,3,4}为数组中的第二个元素赋值:scanf("%d",&a[1]);打印数组第三个元素的值:printf("%d",a[2]);
冒泡排序思路:因为这是升序排列,那么最大值应该是放在最后的,那么我们依次对每个相邻的元素进行比较,当前一项大于后一项时交换两者的位置,有点像冒泡;把较大的冒出来,向后插入…
#include int main(){ //flag是一个哨岗值,当数组元素不在发生 //改变的时候就跳出循环,减少循环次数 int i,j,flag,c; int a[10]; printf("请输入10个整数:n"); for(i = 0;i < 10;i++) { scanf("%d",&a[i]); } for(i = 0;i < 9;i++) { count++; flag = 0; for(j = 9;j > i;j--) { if(a[j - 1] > a[j]) { c = a[j - 1]; a[j - 1] = a[j]; a[j] = c; flag = 1; } } if(flag == 0)break; } printf("输出排序后的10个整数:n"); for(i = 0;i < 10;i++) { printf("%d ",a[i]); } return 0; }选择排序
选择排序思路:每次取出最大(小)的那一项与前面的元素进行位置交换代码:将输入的10个元素按照从小到大的顺序排序后输出!
#include int main(){ int a[10],i,j,k,min,save; printf("请输入10个整数:n"); for(i = 0;i < 10;i++) { scanf("%d",&a[i]); } for(i = 0;i < 9;i++) { k = i; min = a[i]; for(j = i;j < 10;j++) { if(a[j] < min) { min = a[j]; k = j; } } if(k!= i) { save = a[i]; a[i] = a[k]; a[k] = save; } } printf("输出排序后的10个整数:n"); for(i = 0;i < 10;i++) { printf("%d ",a[i]); } return 0; }二维数组
在现实生活中,我们很多时候不止处理的一维的数据,很多时候涉及到二维或者更多维;比如数学中的矩阵;这个时候一维数组明显是不用用的;因此C语言允许使用二维数组;在代码示例中,我们对数学中的矩阵的转置进行代码演示
数组定义
int a[2][2]
定义一个2*2的数组数组元素有:
a[0][0],a[0][1],a[1][0],a[1][1]
数组初始化
①连续赋值:int a[2][2] = {1,2,3,4}
②分段赋值:int a[2][2] = {{1,2},{3,4}}
③部分赋值:int a[2][2] = {{1,2},{3}}不填满的项系统会自动设置为0
④如果全部元素都赋值了,那么第一维的长度可以省略:eg:int a [][2] = {1,2,3,4}
数组引用
同样,数组下标都是从0开始的a[0][1]:表示a中第0行第1列的元素为第0行第1列的元素赋值:scanf("%d",a[0][1])
打印数组中的第3个元素:printf("%d",a[1][0]);
这个要自己算的哦!
#include int main(){ int i,j; int a[3][4],b[4][3]; printf("请输入a的数组元素:n"); for(i = 0;i < 3;i++) { for(j = 0;j < 4;j++) scanf("%d",&a[i][j]); } for(i = 0;i < 4;i++) { for(j = 0;j <3;j++) b[i][j] = a[j][i]; } printf("输出转置后的矩阵b:n"); for(i = 0;i < 4;i++) { for(j = 0;j < 3;j++) printf("%d ",b[i][j]); printf("n"); } return 0; }
运行结果:输入:1 2 3 4 5 6 7 8 9 10 11 12
输出:1 5 9 2 6 10 3 7 11 4 8 12
下载方式
高清思维导图下载
关注下方公众号
回复:“c03”
长按上方二维码即可关注
回复:“c03”领取
阅读更多
思维导图:python字符串
思维导图:Python爬虫
思维导图:python列表
思维导图:python字典
思维导图:python标准库6张图
思维导图:10个python常用库
思维导图:最全python学习路线图
6张思维导图,带你征服java编程
一张图秒懂C语言函数
一张图秒懂C语言( 指针 )
C语言系列教程10篇
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)