- 1、本文档共49页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C06--数组
第六章 数组;第六章 数组;a[0];一维数组的引用
数组必须先定义,后使用
只能逐个引用数组元素,不能一次引用整个数组
数组元素表示形式: 数组名[下标]
其中:下标可以是常量或整型表达式;6.1.3一维数组的初始化
初始化方式 ;6.1.4程序举例;例 用数组求Fibonacci数列前20个数;例 用冒泡法对10个数排序;例;输入n 个数给a[1] 到 a[n];例 用简单选择法对10个数排序;例;Ch5_201.c;#define N 6
main()
{ int a[N],b[‘B’-60],c[]={1,2,3,4,5,6},i;
for(i=0;iN;i++)
scanf(“%d%d”,a[i],b[i]);
for(i=0;iN;i++)
printf(“%d ”,a[i]);
printf(“\n”);
for(i=0;iN;i++)
printf(“%d ”,b[i]);
printf(“\n”);
for(i=0;iN;i++)
c[i]=a[i]+b[N-i-1];
for(i=0;iN;i++)
printf(“%d ”,c[i]);} ;6.2 二维数组
二维数组的定义
定义方式:
数据类型 数组名[常量表达式][常量表达式];;int a[3][2];二维数组理解;6.2.2二维数组元素的引用
形式: 数组名[下标][下标]
6.2.3二维数组元素的初始化
分行初始化:;例 将二维数组行列元素互换,
存到另一个数组中;例 求二维数组中最大元素值及其行列号;例 读入下表中值到数组,分别求各行、各列及表中所有数之和;6.3 字符数组和字符串
字符数组
定义 ;字符数组初始化;例 输出一个字符串;6.3.4字符串
字符串及其结束标志
无字符串变量,用字符数组处理字符串
字符串结束标志:‘\0’;6.3.5 字符数组的输入输出
逐个字符I/O: %c
整个字符串I/O: %s;例 main( )
{ char a[5]={‘H’,’e’,’l’,’l’,’o’};
printf(“%s”,a);
};main()
{
char a[]={h,e,l,\0,l,o,\0};
printf(%s,a);
};main()
{
int i;
char a[5];
scanf(%s,a);
for(i=0;i5;i++)
printf(%d,,a[i]);
};例 字符串输入举例;例 若准备将字符串“This is a string.”
记录下来,错误的输入语句为:
(A)scanf(“%20s”,s);
(B)for(k=0;k17;k++)
s[k]=getchar();
(C)while((c=getchar())!=‘\n’)
s[k++]=c;;常用的字符串处理函数
包含在头文件 string.h
;6.3.6 字符串处理函数;字符串输出函数puts
格式:puts(字符数组)
功能:将一个字符串输出到终端
在stdio.h中;字符串输入函数gets
格式:gets(字符数组)
功能:从终端设备输入一个字符
串到字符数组。并得到一
个函数值,
是字符数组的起始地址
在stdio.h中;字符串连接函数strcat
格式:strcat(字符数组1,字符数组2)
功能:把字符数组2连到字符数组1后面
返值:返回字符数组1的首地址
说明:?字符数组1必须足够大
?连接前,两串均以‘\0’结束;连接后,
串1的‘\0’取消,新串最后加‘\0’;字符串拷贝函数strcpy
格式:strcpy(字符数组1,字符串2)
功能:将字符串2,拷贝到字符数组1中去
返值:返回字符数组1的首地址
说明:?字符数组1必须足够大
?拷贝时‘\0’一同拷贝
?不能使用赋值语句为一个字符数
组赋值;password;例 strcpy与strcat举例;字符串比较函数strcmp
格式:strcmp(字符串1,字符串2)
文档评论(0)