- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
06c数组和字符串
第6章 数组与字符串 ; 前面所用到的数据称之为基本类型(整型、实型、字符型)。它们处理数据的能力非常有限。C语言提供了一种构造类型,它具有强有力的数据组织和数据表达能力。其中,数组是C语言组织和描述较复杂数据对象的基本工具之一,是一种应用极广的构造数据类型。
; 数组:由一组有序数据(数组元素)组成。;6.2 一维数组 ;; 5)数组的存储结构:同一数组中的元素总是被分配在一片连续的空间,并根据数组的元素类型,为每一元素安排相同长度的存储单元。
; 6)数组元素的表示方法。有两种:; 6.2.2 数组名与指针; 6.2.3 一维数组的初始化; 6.2.4 引用数组元素; 6.3 数组排序;简单选择排序的算法:
E1:[准备]
将a0,a1,…,an-1置于数组a中,令i = 0;
E2:[判断排序是否完成]
如果i = n-1,则排序完成,算法结束;
E3:[选择第i个最小分量并交换位置]
E3.1 从ai,ai+1,…,an-1中选择出最小分量,设为a[k],
E3.2 将a[i]与a[k]交换;
E4:[继续排序]
i = i+1,转E2。 ;6.4 多维数组 ; 6.4.1 多维数组的存储结构; int a[3][3]逻辑空间:; 我们可以将a[3][3]看成是一个一维数组,它有三个元素a[0]、a[1]和a[2],它们中的每一个又是一个一维数组。即把二维数组a[3][3]分解为三个一维数组,其中,a[0],a[1]和a[2]是这三个一维数组的数组名,它们都是地址常量,分别代表这三个一维数组在存储空间的首地址。
根据以上分析,可推知:
a = a[0] = a[0][0]
a[1] = a[1][0]
a[2] = a[2][0]
; 6.4.2 多维数组的初始化; 3.可以只对部分元素赋初值,无初值对应的元素自动取0值或空字符。例如:
int a[3][4]={{1},{10,11},{20}};
则a[0][0]=1; a[1][0]=10, a[1][1]=11; a[2][0]=20,其余元素取0值。; 5. 如果需要对某行后面的一些元素赋初值,则必须给其前面的元素赋初值0。如果不需要对某一行赋初值却需要对此行后面的元素赋初值,则该行位置以一对空花括号表示。例如:
int a[3][4]={{0,1},{},{0,0,5}};
则 a[0][1]=1, a[2][2]=5;其余元素为0。; 在书写多维数组时,一定要把各下标分别用一对方括号括起来。例如,不要误写成:
a[3,4]
问题在于上面这个表达式是完全合法的,编译器不会提供任何信息以指出你的失误。那么它表示什么呢?它就是a[4]!因为编译器将这对方括号里的内容当作一个逗号表达式来计算。这类失误简直就是一个恶梦。; 6.5 数组的应用; 例6.8 任意输入一个整数n(1n1000)。用筛选法求所有不大于n的全部素数。; /* 用筛法求素数 */
#includestdio.h
#includemath.h
#define FLASE 0
#define TRUE 1
#define MAX 1000; k = sqrt(n)+1; ; 例6.9 将任意n个整数存放在数组a中,然后将这n个数从小到大排好序。采用冒泡排序法。;46
55
13
94
17
5
70; 6.6 字符串与字符数组; 当把字符数组作为字符串处理时,下列四种初始化方法都是等效的:
char s1[8]={ ’p’,’r’,’o’,’g’,’r’,’a’,’m’,’\0’};
char s2[ ]={ ’p’,’r’,’o’,’g’,’r’,’a’,’m’,’\0’};
char s3[ ]={”program”};
char s4[ ]= ”program”; ; 6.6.2 字符串的输入输出; 6.7 最常用字符串库函数; 6.7.2 拷贝字符串函数; 作业:
6.1~ 6.8 做在作业本上;
以下编程题形成电子文档:
6.10, 6.13, 6.14, 6.16 ;;;;
文档评论(0)