学习嵌入式的第七天 --------一维整型数组

发布时间:2024年01月25日

整理代码的快捷键

1.单行对齐:命令模式下按两下等于号

2.多行对齐:shift+v选中后按一下等号

3.给一个起始行 在给个结束行:起始行=结束行

4.全局对齐:起始行=结束行(按gg回到开头? 按G回到结尾)

一、数组

一组相同类型的数据的集合? 一次性定义多个变量? 本质上是相同类型变量的集合

语法

类型说明符? 数组名? [长量表达式]

特点:

1.连续性:指的是一片连续的空间

2.有序性:数组的元素是依次储存到内存中

3.单一性:单一类型的储存元素要么都是整形要么都是浮点型

数组越界的问题:

不是语法问题,编译器不会报错

(1).整形说明符

整型

int ,shout ,long ,long long ;

浮点型

float ,double

字符

基本都是数据类型

(2).数组名

代表着一整个数据的集合(内存空的名字)

(3).[ ]

表示此时定义的是一个数组

(4).常量表达式

表示数组的长的长度即变量的个数

排序

按照一定的顺序排序:升序和降序 一般选择升序

1.选择排序

思想:为一个合适的位置选择一个合适的数

2.冒泡排序

思想:相邻两个元素两两比较

3.求最大值

打擂台的思想

4.求次大值

总结:

1.数组概念

一种同类型数据的集合

2.语法

数据类型? 数组名[数组长度]

3.定义

int a [10];具有连续性 有序性 单一性

4.注意

a.数组名

是代表的数据类型如:int a[10];a代表的类型为int[10];a[0]代表的值就是首元素存放的地址

b.数组长度和下标

数组的长的长度表示存放多少个元素;下表表示的是偏移量

5.数组的初始化

int a[10]={1,2,3,4,5,6,7,8,9,10};表示一次性出初始化

int a[10]={1,2,3,4,5};表示部分初始化,并依次给到数组元素,没有给到的值,默认为零

将数组初始化为零

int a[10]={};和int a[10]={0};都表示都初始化为零;如果数组不初始化,则数组中都为垃圾值。

6.数组的整体赋值

数组赋值需要一个一个元素给到赋值

7.数组长度可以省略

前提是要有初始化的值如int a[ ]={1,2,3};编译器就会根据通过的值来确定数组长度

作业

1.已知数组a[5]和b[5]中元素的值递增有序, 将两个数组合并为一个数组(有序)并完成打印。

(选择排序)

#include <stdio.h>

int main(void)
{
	int i=0;
	int j=0;

	int a[5]={1,3,5,7,9};
	int b[5]={2,4,6,8,10};
	int c[10]={};

	for (i=0;i<5;++i)
	{
		c[i]=a[i];
	}
	for(j=0;j<5;++j)
	{
		c[i]=b[j];
		i++;
	}
	for (i=0;i<10;++i)
	{
	printf("%d ",c[i]);
	}
	putchar('\n');

int len=sizeof(c)/sizeof(c[0]);
	for (i=0;i<len-1;++i)
	{
		for(j=i+1;j<len;++j)
		{
			if(c[j]<c[i])
			{
				int t=c[i];
				 c[i]=c[j];
				 c[j]=t;
			}
		}
	}
	for(i=0;i<len;++i)
	{
	printf("%d ",c[i]);
	}
	putchar('\n');
	return 0;
}

上图左图位选择排序形式 右图为冒泡排序

冒泡排序:

#include <stdio.h>

int main(void)
{
	int i = 0;
	int j = 0;
	
	int a[10] = {2,5,6,3,4,9,10,1,8,7};
	int len = sizeof (a)/sizeof(a[0]);
	
	for (i=0;i<len;++i)
	{
		printf("%d ",a[i]);
	}
	putchar('\n');
	
	for (j=1;j<len;++j)
	{
		for (i=0;i<len-j;++i)
		{
			if(a[i]>a[i+1])
			{
				int t=a[i];
				a[i]=a[i+1];
				a[i+1]=t;
			}
		}
	}
	for (i=0;i<len;++i)
	{
		printf("%d ",a[i]);
	}
	putchar('\n');
	return 0;
}
文章来源:https://blog.csdn.net/2201_75392588/article/details/135740196
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。