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

第6章数组与字符串.pptx

  1. 1、本文档共107页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

;第6章数组与字符串;6.1数组与字符串的引入;前几章使用的变量都属于基本类型,例如整型、字符型、浮点型数据,这些都是简单的数据类型。

对于有些数据,只用简单的数据类型是不够的,难以反映出数据的特点,也难以有效地进行处理。;三个数按从小到大排序代码如下:

#includestdio.h

voidmain()

{

inta,b,c,t;

printf(输入三个数:);

scanf(“%d,%d,%d”,a,b,c);//输入三个数据

if(ab)

{t=a;a=b;b=t;}//交换a、b

if(ac)

{t=a;a=c;c=t;}//交换a、c

if(bc)

{t=b;b=c;c=t;}//交换b、c

printf(三个数从小到大排列为:%d,%d,%d\n,a,b,c);

};如果有1000名学生,每个学生有一个成绩,需要求这1000名学生的平均成绩。

用s1,s2,s3,……,s1000表示每个学生的成绩,能体现内在联系。

C语言用方括号中的数字表示下标,如用s[15]表示数组s中有15个元素。;把具有相同类型的若干个数据按有序的形式组织起来,这些按序排列的相同类型数据的集合称为数组,一个数组必须用一个数组名表示。

数组中的每一个数据称为数组元素,数组元素用数组名加下标表示,下标表示数组元素在数组中的位置。

数组元素用一个下标表示的称为一维数组,数组元素用两个下标表示的称为二维数组,数组元素用两个以上下标表示的称为多维数组。;数组是一组有序数据的集合。数组中各数据的排列是有一定规律的,下标代表数据在数组中的序号。

用一个数组名和下标惟一确定数组中的元素

数组中的每一个元素都属于同一个数据类型;6.2一维数组;6.2.1一维数组的定义;例如:

inta[10];//整型数组a有10个元素

floatb[100],c[20];

//实型数组b有100个元素

//实型数组c有20个元素;(1)所有数组中数组元素的下标最小值都为0,下标最大值为数组定义时方括号中常量表达式的值减1。

(2)数组类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。

(3)数组名的命名规则应符合标识符的规定。;(4)数组名不能与其它变量名相同。

inta;

floata[10];是错误的。

(5)方括号中常量表达式表示数??元素的个数,常量表达式通常为一个数值常量,也可以为数字表达式,如:inta[2+3]表示数组a有5个元素,这5个元素分别为a[0],a[1],a[2],a[3],a[4]。;(6)数组定义时不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。

#defineN5

voidmain()

{

inta[3+2],b[7+N];//合法

}

inta[4+6];intn=10;

inta[n];//不合法

(7)允许在同一个定义语句中,说明多个数组和多个变量。

inta,b,c,d,k1[10],k2[20];;在定义数组并对其中各元素赋值后,就可以引用数组中的元素。;在C语言中必须先定义数组,然后才能使用该数组的下标变量,且只能单个或逐个使用下标变量,而不能一次引用整个数组。

例如,要输出有10个元素的数组必须使用循环语句逐个输出各下标变量:

for(i=0;i10;i++)

printf(%d,a[i]);

而不能用一个语句输出整个数组。

下面的写法是错误的:printf(%d,a);;【例6.1】从键盘输入10个整数,并将超过平均值的数打印出来。

问题分析:

首先利用循环和数组将输入的数据存储起来,并求所有数据的和,然后再用循环输出超过平均值的各个数据。;程序设计:

#includestdio.h

voidmain()

{

inti,s,av,a[10];

s=0;

for(i=0;i10;i++)//数组数据输入,并求和

{

scanf(%d,a[i]);

s=s+a[i];

};程序设计:

av=s/10;//求平均值

fo

文档评论(0)

zzqky + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档