1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > c语言1维数组的引用 C语言-一维数组的定义和引用-数组.ppt

c语言1维数组的引用 C语言-一维数组的定义和引用-数组.ppt

时间:2020-08-23 19:19:05

相关推荐

c语言1维数组的引用 C语言-一维数组的定义和引用-数组.ppt

《C语言-一维数组的定义和引用-数组.ppt》由会员分享,可在线阅读,更多相关《C语言-一维数组的定义和引用-数组.ppt(47页珍藏版)》请在人人文库网上搜索。

1、第七章分组数组:它是一种构造类型,元素由基本类型(整体、实部和字符)组成。它是同类数据的有序集合。7.1一维数组的定义和引用7.1.1一维数组的定义形式:类型描述符数组名称常量表达式,如:int a5浮动b10描述:1 .命名规则:数组名由合法的标识符组成。2.数组名称由常量表达式包围,包括整数、字符和符号常量表达式。例如,int a23,b5,ca,_ D8,XYZ # (#=35) #定义n5main()int an;printf(“% dn”,a1=100);并且:int a(10),bx,%5,83,x-y50,5x100正确吗?另一个例子:int I=5;int a5 i正确吗?3.。

2、数组的长度为INTA5A0、A1、A2、A3、A4,下标从0.4开始。注意:在Turbo C中,可以引用超过定义的数组下标的元素,系统不检查它们。例如T7-0-1.c main() int i,a5;对于(I=0;I=4;I)printf(“a % d=% d n”,I,ai=I 1);printf(“a5=% dt”,a5);printf(“a6=% d n”,a6);运行结果:A0=1 a1=2 a2=3 a3=4 a4=5 a5=-30 a6=285。4.数组大小的定义只能是常量,不能是变量或动态的。例7-0-2。C main() int n=5,an;a1=100printf(“a1=。

3、% dn”,a1);编译指出:函数main中需要常量表达式;7.1.2一维数组元素的引用规则:1。先定义,然后使用。2.引用形式:数组名称的下标可以是常量、变量或整数或字符类型的表达式。3.引用方法:用于元素而不是整个数组。例如,a0=ab-a a b -96 a3-a2*2例T7-1。c按顺序给数组a赋值,并以相反的顺序输出main() int a5,I;对于(I=0;I=0;I-)printf( a % d=% dn ,I,ai);运行结果:a4=4 a3=3 a2=2 a1=1 a0=0,7.1.3一维数组的初始化方法如下:1。定义时,初始化数组元素,如: int a5=1,2,3,4,。

4、5;2.只给某些元素赋值,例如:int a5=1,3,5;3.在初始化期间为所有元素分配0值,例如:int a5=0,0,0,0,0;或者int a5=0;4.为所有元素赋值时,不能指定长度,例如:int a5=2,4,6,8,10;或int a=2,4,6,8,10;同样的效果。在示例T7-1-1.c中,为数组元素初始化main()int I;int a5=2,4,6,8,10;对于(I=0;I=4;I)printf(“% dn”,ai);注:静态存储类别,这与新的ANSI标准一致。如果采用静态,数组元素的值存储在静态区域。运行结果:2 4 6 8 10,7.1.4一维数组程序示例T7-2.。

5、c求解斐波那契数列问题关于斐波那契算法:前两个数各为1,后两个数为前两个数之和。main()int I;int f20=1,1;对于(I=2;i20I)fi=fi-2 fi-1;对于(I=0;i20I)if(I % 5=0)printf(“n”);printf(d,fi;运行结果:1 1 2 3 5 8 13 21 34 55 144 233 377 610 987 1597 2584 4181 6765,案例T7-3.c使用冒泡方法对6个数字进行排序(从小到大),思维3360比较两个相邻的数字,如果是小的,则转移到前面,如果不是小的,则应该进行比较。在第一轮,大量的人沉入谷底,第二轮,第四轮。

6、和第五轮,这里:n=6,外循环是j(1n-1)次,内循环是i (1n-j)次,98 88 88 88 555,55 94 44,44 49 22,22 29 0,00 009,85 55 5,5。4 4 8 2 2,2 2 2 8 0,0 0 0 8,5 4 4 4,4 5 2 2,2 2 5 0,0 0 5,4 2 2 2,2 4 0,0 0 4,2 0,0 2,main()int a7;int i,j,t;printf(“输入6个数字:n”);对于(I=1;IAI 1)t=ai;ai=ai 1;ai 1=t;printf(“已排序的数字:n”);对于(I=1;i7;I)printf(“% 。

7、d _ ”, ai);运行:输入6数字:输入:9 8 5 4 2 0输出:0 2 4 5 8 9,7.2二维数组的定义和引用7.2.1二维数组1的定义。一般形式:类型说明符数组名称常量表达式常量表达式,例如:float a34定义数组a在c中有三行四列,二维数组可以看作是一个特殊的一维数组。如上文所定义的,它可以被视为具有三个元素的一维阵列,并且每个元素可以被视为包含四个元素的一维阵列。因此,上述定义相当于:浮点a04、a14、a24。注:如果在实践中对其进行了定义,将被视为重新定义。2.二维阵列的每个元素在存储器中的存储顺序是:按照第一列的顺序,例如T7-3-1c main()int I,j。

8、,a23对于(I=0;I2;I)对于(j=0;J3;j)扫描频率( %d ,输入:1 3 5 7 9 11输出:浮点a23,k;对于(I=0;I2;I)对于(j=0;J3;j)对于(j=0 ), scanf(%)f;J3;j)Scanf(“% f % f”),共24个元素。记忆的排列顺序是:第三维变化最快,然后是第二维,第一维变化最慢。7 . 2 . 2 2D数组的引用形式:数组名下标其中:下标是常量、变量或整数或字符类型的表达式。(定义时不能使用变量)例如:a12联合执行活动1。数组元素可以出现在表达式中,例如:a12=a22/2 2。使用数组元素时,应注意不要超出定义范围;例如,int a。

9、23a23=5;7.2.3二维数组1的初始化。按行将初始值赋给二维数组,例如:int a23=1,2,3,4,5,6;2.根据数组元素的顺序分配初始值,例如:int a23=1,2,3,4,5,6;3.给一些元素赋值,根据行赋值更直观,比如:int a23=2,5,3;4.当所有元素被赋值时,第一维下标可以省略,例如:int a 3=1,2,3,4,5,6;另一个例子:int a 4=0,0,3,0,0,10;7.2.4二维数组程序示例T7-4交换一个二维数组的行和列元素,并将它们存储在另一个二维数组中。T7-4.c行和列交换主()的两个数组,int a23=1,2,3,4,5,6;int b。

10、32,I,j;printf( array a :n );对于(I=0;I=1;I)对于(j=0;j=2;(j ) printf(M ,共同执行活动);bji=联合执行活动;printf(n );printf(“数组b :n”);对于(I=0;I=2;I)对于(j=0;j=1;(j ) printf(M ,bij);printf( n );例如,T7-5.c具有3 4矩阵,并且获得最大元素所在的行号和列号main() int i,j,r=0,c=0,max。int a34=1,2,3,4,9,8,7,6,-10,10,-5,2;max=a00对于(I=0;imax)最大值=aijr=I;c=j 。

11、printf(max=%d,row=%d,colum=% dn ,max,r,c);运行结果:max=10,row=2,column=1问题:为什么要在比较之前将a00分配给max?7.3字符数组字符数组:用于存储字符数据。一维字符数组:存储一个字符串(每个数组元素存储一个字符)二维字符数组:存储多个字符串(行数是字符串的个数)7.3.1字符数组的定义形式:字符数组名称常量表达式字符数组名称常量表达式常量表达式:整数、字符、符号常量。示例:char a5a0=摄氏度;a1=H;a2=I;a3=N;a4=A;7.3.2字符数组的初始化,如:字符a5=C,H,I,N,A;碳b5=碳、氢、碘、氮、钨。

12、、铀;在编译时,会指出有太多的初始化值,字符c5=C,H,I;字符d=c,h,I,n,a。系统自动确认长度为5,7.3.3的参考示例T7-6.c,并输出字符串Main()字符C10=I,_,a,m,_,h,a,p,p,y;int I;对于(I=0;i10I)printf(“% c”,ci);打印(“n”);运行结果:我很高兴,T7-7。c输出DIA图形main () chardiamond5=,*,*,*,*;int I;int j;对于(I=0;i5;I)对于(j=0;j5;j ) printf(%c,diamondij);printf(n);7.3.4字符串上的注释和字符串的结束符号:(1。

13、)字符串:用双引号括起来的几个字符,可以存储在一维或二维字符数组中。(2)字符串的结束符号是:0(既不是动作也不是显示)(3)字符串的长度:第一个0之前的字符数;(4)当在字符数组或字符串中发现0时,该字符被视为结束;(5)字符串可以初始化字符数组,如char c= I _ am _ happy系统自动将0添加到数组的末尾,长度为11或char c= I _ am _ happy系统自动在长度为11的数组末尾添加0,相当于c=I,_,a,m,_,h,a,p,p,y,0;CharC10=中国注意:字符0不总是在字符数组后面,输出时前0结束;示例T7-7-1.c主()字符a=a,b,0,1,2;c。

14、har b= ab 0cdprintf (%s n%s n ,a,b);运行结果:a b a b,7.3.5字符数组1的输入和输出。字符数组的输出:示例T7-7-2 . c main()int I;char a10=“中国”;char b18=中国0中国0中国;对于(I=0;i10I)printf(“% c”,ai);printf( n );printf (%s n ,a);对于(I=0;i18I)printf(“% c”,bi);printf( n );printf (%sn ,b);运行结果:China China _ China China _ China China,注意:(1)以% 。

15、s格式输出时,当第一个0;(2)以% C格式输出时,按指定长度输出,满足0时输出;(3)以% s格式输出字符数组元素时,如printf (%s ,a2);虽然编译时没有错误,但是输出的是不确定的字符,所以这里必须是一个数组名;2.字符数组的输入形式:scanf ( %s ,a);其中:a是已定义的字符类型的数组名,在字符的数组名前不加地址运算符scanf (%s% s ,a1,a2,a3);printf(“a1=% s Na2=% s na3=% s n”,a1,a2,a3);printf(,printf(,printf(,description:(1)当使用scanf函数输入多个字符串时,它。

16、们可以用_,制表符分隔。(2)在printf函数中,使用%s打印字符数组的内容;使用%x或%o打印字符数组的地址。输入:你好吗?输出:a1=怎么样,a2=怎么样,a3=你怎么样?char a2=中国0北京;看跌期权(a1);看跌期权(a2);看跌期权(“武汉”);运行结果:中国北京中国武汉,在这里,移动0 n,所以光标到较低的行。2。字符串输入函数形式:获取(字符数组)函数:从键盘输入一个字符串到字符数组。在输入过程中,“完成”,它被转换为0并存储在字符串的末尾。对于输入_,制表符作为字符存储在字符数组中。T7-7-5.c分别使用get和scanf函数输入字符串,当在scanf中遇到_ string时结束,但是_作为get中的字符存储在字符数组中。main() char a。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。