用C语言删除数组里的某个子覅,《C语言 一维数组的定义和引用 数组》.ppt

本文详细介绍了C语言中一维数组的定义、引用规则及初始化方法,并通过实例演示了如何进行数组操作,包括顺序赋值与逆序输出等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第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;i<20;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i<20;i++) { if(i%5==0) printf (“\ n” ); printf (“%12d”,f[i];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值