- 3
- 0
- 约1.09万字
- 约 47页
- 2021-10-14 发布于广东
- 举报
第7章 数 组
数组:是构造类型,元素由基类型(整、实、字符)组成。
它是有序的、同类型数据的集合。
7.1 一维数组的定义和引用
7.1.1 一维数组的定义
形式:类型说明符 数组名[常量表达式]
如:int a[5];
float b[10];
说明:
1.命名规则:数组名是由合法的标识符组成。;2.数组名后是用 [ ] 括起来的是常量表达式
包括:整、字符、符号常量表达式。
如: int a[2+3], b[5], c[‘a’] , _d[8], xyz[‘#’] (‘#’=35)
#define N 5
main() {int a[N];printf(“%d\n”,a[1]=100);}
而:int a(10) , b[x], %[5], 8[3], x-y[50], 5x[100] 是否正确?
又如: int i=5; int a[5+i] 是否正确性?
3.数组的长度
int a[5] a[0], a[1], a[2], a[3], a[4]
5个元素 ,下标从0 ~ 4
注意:
在Turbo C 中超过定义的数组下标元素是可以引用的,系统不作检查。;例T7-0-1.c
main( )
{int i, a[5];
for(i=0;i=4;i++)
printf (“a[%d]=%d\ n”,i,a[i]=i+1);
printf (“a[5]=%d\t”,a[5]);
printf (“a[6]=%d\ n”,a[6]);
}
;4.数组大小的定义只能是常量,而不能是变量或动态地定义。
例7-0-2. C
main( )
{ int n=5,a[n];
a[1]=100;
printf (“a[1]=%d\n”,a[1]);
}
编译指出:constant expression required in function main (主函数中要求常量表达式);7.1.2 一维数组元素的引用
引用规则:1.先定义,后使用。
2.引用形式:数组名[下标] 下标可以是整、字符
型的常量、变量或表达式。
3.引用方法:针对元素而不是整个数组。
如:a[0]=a[‘b’ - ‘a’] + a[‘ b’ -96] +a[3] - a[2*2]
例T7-1. C 对数组a 顺序赋值,逆序输出
main( )
{int a[5],i;
for(i=0; i=4; i++)
a[i]=i;
for(i=4;i=0;i- -)
printf( “a[%d]=%d\n”, i, a[i ]);
};7.1.3 一维数组的初始化
实现的方法有:
1.定义时对数组元素初始化
如: int a[5]={1, 2, 3, 4, 5};
2. 只给部分元素赋值
如: int a[5]={1, 3, 5};
3. 初始化时给全部元素赋0值
如:int a[5]={0,0,0,0,0};
或 int a[5]={0};
4. 对全部元素赋初值时可以不指出长度
如:int a[5]={2,4,6,8,10};
或 int a[ ]={2,4,6,8,10}; 效果一样。;例T7-1-1.c ??义时对数组元素初始化
main( )
{ int i;
int a[5]={2,4,6,8,10};
for(i=0;i=4;i++)
printf(“%d\n”,a[i]);
}
注意:static 存储类别,这和新ANSI新标准一致,
若采用static,数组元素的值被存储在静态区。 ;7.1.4 一维数组程序举例
例T7-2.c 求Fibonacci 数列问题
关于菲波那契算法:头两个数各为1,
以后的每个数皆为前两个数之和。
main( )
{
int i;
int f[20]={1,1};
for(i=2;i20;i++) f[i]=f[i-2]+f[i-1];
for(i=0;i20;i++)
{ if(i%5==0) printf (“\ n” );
printf (“%12d”,f[i];
}
}
您可能关注的文档
- Multisim中仪器仪表的使用.ppt
- 仪表着陆系统原理.ppt
- 比的基本性质 分数的基本性质和商不变的基本性质的联系.ppt
- 仪表基础知识介绍.ppt
- y=ax平方的图像性质.ppt
- y=ax2+k_的图像与性质.ppt
- SAP-后台-固定资产配置.ppt
- C51单片机教程—中断的应用.ppt
- 单片机C语言编程(中断).ppt
- 万有引力搜索算法.ppt
- 2023年度十大热点人物的素材解读与运用-2024年高考语文作文热点素材积累运用与(全国通用).pdf
- 格力室外机中央空调价格表.pdf
- 2026上半年贵州事业单位联考贵州省交通运输厅招聘84人备考题库完整答案详解.docx
- 2026上半年贵州事业单位联考贵州传媒职业学院招聘12人备考题库附参考答案详解(达标题).docx
- 2026上半年贵州事业单位联考贵州省住房和城乡建设厅招聘16人备考题库含答案详解(培优).docx
- 2026上半年贵州事业单位联考玉屏侗族自治县招聘41人备考题库及答案详解(夺冠系列).docx
- 通信原理实验2数字频带传输系统实验.pdf
- 2026上半年贵州事业单位联考贵州医科大学第二附属医院招聘22人备考题库含答案详解(能力提升).docx
- 2026上海复旦大学计算力学与人工智能交叉研究院(筹)招聘专任研究员2人备考题库完整答案详解.docx
- 2026上半年贵州事业单位联考贵州民族大学招聘52人备考题库附参考答案详解(研优卷).docx
原创力文档

文档评论(0)