0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言总结_数组知识

DS小龙哥-嵌入式技术 来源:DS小龙哥-嵌入式技术 作者:DS小龙哥-嵌入式技 2022-08-14 09:38 次阅读

当前文章复盘C语言的数组: 数组定义规则、数组空间类型、数组下标使用、数组存放的数据类型、数组数据替换、插入、输入、输出、字符串输入、输出、长度计算等等。

一、数组概念

数组是一个相同类型元素的集合。

定义数组语法:  <数据类型><数组名称>[数组的大小];
                 int          data   [100];

解释:

定义一个int类型数组名称是data,可以存放100int类型的数据,总大小字节: 100*4。

<数据类型> 可以填充那些参数

基本数据类型(char 。。float、int。。。。。)、结构体数据类型、指针类型等。

数组概念说明

(1)[]称为下标符号,用来操作数组。比如: b=a[10]; //将a数组里第10个元素取出来赋值给b变量。

(2).访问数组时,下标的范围是从0开始。比如: int a[10]; 下标范围: 0~9

(3).数组在定义时,[]下标里填充的大小必须是常量。(C89标准) 比如: int a[b]; //错误 int a[10];

(4).数组只有在定义的时候,才可以整体赋值。比如: int a[10]={12,34,56,78,90};

(5).数组在定义的时候,如果赋了值,[]下标里可以不用指定大小。 比如: int a[]={12,34,56};

(6).数组在定义的时候,至少给一个下标赋了初始值,其他下标默认置为0。比如: int a[10]={0};

#include 

int main(void)
{
	int buff_i[10]={10,20,30}; //定义整数类型数组
	float buff_f[10]={10.123,20.123,30.123}; //定义浮点数类型数组
	char buff_c[10]="123456";//定义字符串类型数组,结尾多了一个结束符"\0"
	//说明: 在C语言里面没有专用字符串类型,字符串本身还是使用char类型定义。Qstring  Sting
	char buff[10]={'1','2','3','4'}; //定义字符类型数组
	
	int i;
	//打印整型
	for(i=0;i<10;i++)
	{
		printf("%d ",buff_i[i]);
	}
	printf("\n");
	
	//打印浮点类型
	for(i=0;i<10;i++)
	{
		printf("%f ",buff_f[i]);
	}
	printf("\n");
	
	//打印字符串
	printf("%s\n",buff_c);
	
	//打印字符类型
	for(i=0;i<10;i++)
	{
		printf("%c ",buff[i]);
	}
	printf("\n");
	
	return 0;
}

二、数组输入输出

#include 

//从键盘上录入一串数据,倒序输出
int main(void)
{
	int i;
	int buff[5];
	printf("请输入5个数据:");
	for(i=0;i<5;i++)
	{
		scanf("%d",&buff[i]); //从键盘上录入数据
	}
	
	for(i=5-1;i>=0;i--)
	{
		printf("%d ",buff[i]); //将数据打印到控制台终端
	}
	printf("\n");
	return 0;
}

三、数组的练习题目

(1). 从键盘上录入一串数据(整数),将数组里的10替换成66,并统计替换的数量。

#include 
int main(void)
{
	//将数组里的10替换成66,并统计替换的数量。
	int buff[10]={10,34,10,347,23,10,123,56,78,10};
	int i,cnt=0;
	for(i=0;i<10;i++)
	{
		if(buff[i]==10)
		{
			cnt++; //记录数量
			buff[i]=66;
		}
	}
	
	printf("替换的数量%d\n",cnt);
	for(i=0;i<10;i++)
	{
		printf("%d ",buff[i]);
	}
	printf("\n");
	return 0;
}

(2) 计算数组的大小

int main(void)
{
	int buff[]={10,34,10,347,23,10,123,56,78,10,45,10,10};
	//34,347,23,123,56,78
	int len=10;
	
	printf("buff数组的总大小=%d\n",sizeof(buff));
	printf("buff数组有%d个成员\n",sizeof(buff)/sizeof(buff[0]));
	return 0;
}

(3)从键盘上输入一串数据(整数),将数组里大于10的数据删除掉。

//比如: char buff[]={12,34,8,4,7,100};
//最终的结果:{8,4,7,0,0,0}
#include 

/*
从键盘上输入一串数据(整数),将数组里大于10的数据删除掉。
*/
int main(void)
{
	int buff[13]={1,34,2,347,23,3,123,56,78,4,45,5,6};
	int len=13;
	int i,j;
	for(i=0;i10) //当if条件成立的时候,i就是当前需要覆盖数据下标
		{
			//将后面的所有数据向前移动一位
			for(j=i;j;j++)>;i++)>

四、字符串

(1)字符串大小计算示例

	char str1[]={'A','B','c'}; //3
	char str2[]="ABC"; //4
	printf("str1=%d\n",sizeof(str1)); //3
	printf("str2=%d\n",sizeof(str2)); //4
	//为什么是4 ?因为字符串结尾自带一个'\0'
	 // '\0'表示是字符串的结束符号

(2)字符串的长度计算

#include 
int main(void)
{
	char str[100];
	//字符串如何从键盘上录入?
	scanf("%s",str); //从键盘上录入一个字符串
	           //str为什么不加&符号? 因为数组的名称就是地址(表示是数组首地址)。
	
	//字符串如何输出?
	printf("str=%s\n",str);
	
	//如何知道从键盘上输入了多少个字符?
	//首先得知道一点:  字符串结尾符'\0' 字符
	int i=0;
	while(str[i]!='\0') //判断字符串的结束符
	{
		i++;
	}
	
	printf("字符串的长度=%d\n",i);
	return 0;
}

(3)字符串的衔接符号

#include 
int main(void)
{
	char str[100]="3847tr45gt\  //  \表示字符串的衔接符号
				  rhonrbngfbn\
				  gf";
	return 0;
}
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7528

    浏览量

    128340
  • 数组
    +关注

    关注

    1

    文章

    409

    浏览量

    25593
收藏 人收藏

    评论

    相关推荐

    C语言数组详解

    介绍C语言数组知识点。
    的头像 发表于 05-19 10:15 5990次阅读

    嵌入式C语言知识总结

    怎么才能做好嵌入式开发?学好C语言吧!今天就来推荐一篇大佬写的嵌入式C语言知识总结
    发表于 09-27 09:53 977次阅读

    C语言知识总结数组与字符/字符串

    。每个数组元素有一个相关的索引(也称为关键字),它可以用来访问元素。在大多数编程语言中,数组都具有数字索引,而且这些索个通常是从0或1开始的。数组中的每个元素都属于同一个数据类型。
    发表于 10-31 10:41 462次阅读

    工程师总结了一些C语言知识

    仅供大家参考,想一起和我讨论吗,可以加一下我的QQ2685896890,黄老师一、嵌入式C/单片机C/标准C知识点知识点1:嵌入式C、标准
    发表于 07-25 10:23

    【信盈达】C语言知识点的总结

    一、嵌入式C/单片机C/标准C知识点知识点1:嵌入式C、标准C、单片机
    发表于 10-08 14:41

    关于c语言数组下标的加减平移知识总结不看肯定后悔

    关于c语言数组下标的加减平移知识总结不看肯定后悔
    发表于 10-14 08:58

    关于C语言的基础知识总结的太棒了

    关于C语言的基础知识总结的太棒了
    发表于 10-15 07:57

    C语言程序小知识总结

    C语言总结(stm32嵌入式开发)文章目录C语言总结(stm32嵌入式开发)
    发表于 11-05 07:45

    推荐一篇大佬写的嵌入式C语言知识总结

    怎么做好嵌入式?相信这个问题无论问谁你都会得到一句学好C语言!今天推荐一篇大佬写的嵌入式C语言知识总结
    发表于 12-14 08:09

    19-C语言中的数组知识汇总

    一、数组 1.数组基础 数组是相同类型数据的集合,它们都拥有同一个名称。在大数量处理和字符串操作时,广泛使用数组数组对C
    发表于 11-28 11:57 986次阅读

    C语言入门教学之数组资料总结免费下载

    本文档的主要内容详细介绍的是C语言入门教学之数组资料总结免费下载主要内容包括了:1 一维数组的定义和一维数组元素的引用2 一维
    发表于 10-23 17:53 5次下载
    C<b class='flag-5'>语言</b>入门教学之<b class='flag-5'>数组</b>资料<b class='flag-5'>总结</b>免费下载

    C语言总结_数组全方位练习

    C语言数组的练习题:涉及到数组插入、数组删除、数组下标数据的左移右移、数组排序、
    的头像 发表于 08-14 09:34 661次阅读

    C语言_数组的查找、替换、排序、拼接

    这篇文章主要是总结C语言的位运算几个实战例子,接着介绍数组的基本定义用法、数组排序、插入、拼接、删除、字符串查找替换等。
    的头像 发表于 08-14 09:48 2133次阅读

    C语言_链表总结

    本篇文章介绍C语言链表相关知识点,涉及链表的创建、单向链表、循环链表、双向链表、单向循环链表,链表常见问题总结等,还列出了结构体数组与链表的练习题,将在下篇文章贴出完整代码。
    的头像 发表于 08-14 09:53 1475次阅读

    【C语言进阶】“数组指针”和“指针数组”都是啥跟啥?

    【C语言进阶】“数组指针”和“指针数组”都是啥跟啥?
    的头像 发表于 08-31 13:21 1671次阅读