网站大量收购独家精品文档,联系QQ:2885784924

C语言教学资料:03_数组和C风格字符串.docVIP

C语言教学资料:03_数组和C风格字符串.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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风格字符

您可能关注的文档

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档