- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本章主要内容如下:
C语言数组:一维、二维
C语言风格字符串:字符串处理函数
数组的引入
C语言中的数据类型除了前面的章节我们介绍的基本类型(如整型、实型、字符型等)外,还有一种称为构造类型。数组就是构造类型的一种,它是由一组数目固定、类型相同的若干个数据构成的有序集合,在内存中连续存放。数组中的每一个数据称为一个元素,通过数组名和下标来访问。那么为什么需要数组?在解决一些实际的问题中,我们往往需要面对成批的数据。如:要求输入全班50个学生某一门课程的成绩,计算并输出全班学生的平均成绩,同时统计并输出低于平均成绩的人数。在解决这类问题时,如果仍然用基本数据类型来处理,由于在计算平均成绩时要用到每个学生的成绩,在统计低于平均成绩的学生人数时,又要用到每个学生的成绩,这样就必须定义50个变量来保存50个学生的成绩。这样无疑增加了程序的复杂度和代码量。所以我们需要引入数组,它是学生成绩的集合,可以用数组名和下标访问每一个学生的成绩。
一维数组
概念:
一维数组也称向量,用以组织具有一维顺序关系的一组同类型数据
定义格式:
类型 数组名[常量表达式]; 类型可以是int, float, char以及后面的指针、结构体、共用体等。Eg: int age[10]; 这样,编译器将一次性开辟10个存放int类型的连续的内存空间,就不用定义10个int类型的变量。
初始化:
类型 数组名[常量表达式]={值1,值2,值3...值n}; eg: int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
使用:
一维数组中元素的引用方式:数组名[下标]。下标的值表示元素在数组中的位置。C语言规定任何数组的下标都是从0开始的。Eg:int age[5];表示age有5个元素,这5个元素分别为age[0]、age[1]、age[2]、age[3]、age[4]。不要去访问age[5],因为会出现下标越界的错误。通常针对数组进行操作时,最有效的途径是使用循环结构。(参见代码Example1)
注意事项:
除了在定义数组时可以用初始化列表为数组整体赋值之外,其他地方不能对数组整体赋值。在对数组的所有元素赋初值时,可以在定义数组的时候不指定元素的个数。Eg:int a[5] = {3, 0, 4, 9, 6}; 等价于int a[] = {3, 0, 4, 9, 6};系统在编译程序时,根据初值的个数确定元素的个数,并为它分配相应大小的空间。如果没有为数组变量赋初值,则在定义数组变量的时候不能省略数组的大小。Eg: int a[];这是错误的。
对数组的部分元素赋初值,常量表达式的个数小于数组中元素的个数,未指定的数组元素自动变为0。eg: int a[5] = {3, 4, 5}; 等价于 int a[5] = {3, 4, 5, 0, 0};
二维数组
概念:
二维数组的数据结构是一个二维表,相当于数学中的矩阵。
定义格式:
数据类型 数组名[常量表达式1][常量表达式2]; eg: int a[3][4];表示3行4列的矩阵,总共12个元素,每一个元素都是整型数据。二维数组在内存中是按行的顺序存储的,即先存放第0行的各列数据,在存放第1行的,以此类推。
初始化:
eg: int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};或直接int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};也可以对二维数组的部分元素进行初始化:int a[3][4] = {{2, 5}, {6}, {14, 0, 12}}; 等价于 int a[3][4] = {{2, 5, 0, 0}, {6, 0, 0, 0}, {14, 0, 12, 0}}; 还可以省略一维大小int a[2][3] = {3, 4, 5, 6, 8, 9}; 等价于 int a[][3] = {3, 4, 5, 6, 8, 9};第二维的大小不能省略。
使用:
数组名[下标1][下标2];下标1为行下标,下标2为列下标。(参见代码Example2)
字符数组
字符数组是用来存储字符型数据的数组,数组的每一个元素存储一个字符型数据。字符数组的定义并初始化:char a[5] = {‘C’, ‘h’, ‘i’, ‘n’, ‘a’};字符数组在定义时只对部分元素进行初始化,则未赋初值的元素默认的初值是’\0’。(参见代码Example3)
C风格字符串
在C语言中没有字符串变量的概念,我们通常是利用字符数组或者指针来存储字符串。编译器把每个字符串理解为一个以’\0’(ASCII为0)为结束符的一维字符数组,这种类型的字符数组常被称为C风格字符
您可能关注的文档
- 《中国特色社会主义理论与实践研究》研究生第7讲.ppt
- 《中国特色社会主义理论与实践研究》研究生第一讲1.pptx
- 《中国特色社会主义理论与实践研究》中国特色社会主义第6讲:科学发展观.ppt
- 《中国影子银行体系发展状况研究》之分报告二:中国信托业的特征和风险.pdf
- 《中国影子银行体系发展状况研究》之分报告三:城投债研究.pdf
- 《转介绍,业绩提升的有力助推器》.ppt
- 【百年百家】系列培训--开班.pptx
- 1-射频消融系统软件描述文档.docx
- 02.高校联盟unitive高档模板-ios风格扁平化设计商务实用报告.ppt
- 2区域发展阶段.ppt
- [49331779]第9课《桃花源记》知识点清单+++++++++2023-2024学年统编版语文八年级下册.docx
- 2024-2025学年小学语文统编版(五四制)三年级下册教学设计合集.docx
- 人教版2025高中生物必修二2.3《伴性遗传》 教案.docx
- 2024-2025学年小学语文统编版(五四制)五年级上册教学设计合集.docx
- 《山间小木屋》优教课件.ppt
- 2024-2025学年小学英语外研版(一起)五年级上册教学设计合集.docx
- 《趣味字符画》优教课件.ppt
- 2024-2025学年小学英语新概念英语青少版1B教学设计合集.docx
- 备战2025年高考物理 易错点01直线运动中的匀变速与变速问题(4陷阱点4考点6题型)(试卷+解析).docx
- 2024-2025学年小学英语新概念英语青少版2B教学设计合集.docx
文档评论(0)