考点分析六数组省公开课一等奖全国示范课微课金奖PPT课件.pptx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考点 分析 数组 公开 一等奖 全国 示范 课微课 金奖 PPT 课件
- 资源描述:
-
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,考点分析六,数组,1/51,考点1 一维数组定义,类型名 数组名 常量表示式,1、一维数组定义和引用,1)常量表示式要求了数组元素个数,即长度。整个数组所占字节数=类型长度*数组长度。,2)常量表示式中能够包含整型常量和符号常量,但不能包含变量,即c语言不允许定义动态数组。,3)在以下两种情况下,数组长度不作显示说明:,给数组全体元素赋初值时,能够省略长度说明。,数组名作为函数参数,在函数参数说明部分,当指出参数是数组时,不用长度说明。,2/51,考点2 一维数组初始化,所谓数组初始化是指在定义数组同时对数组中部分或全部元素进行初始化赋值。,一维数组初始化定义形式:,类型名 数组名常量表示式或省略=值0,值1,值2,;,1)定义好数组后,c编译程序即为该数组在内存中开辟对应个数连续存放单元,每个存放单元能够直接用对应数组元素表示。C语言要求数组第一个元素下标总为0(称为数组下界)。,3/51,2)中个数不能超出数组元素个数。,3)能够只给部分元素赋初值。,当中个数少于数组元素个数时,则表示初值只赋予数组开始若干个元素,余下部分为对应缺省值,int为整型数0,字符型为空格等。,4)若全部元素均赋0,可对数组不赋初值。,比如:int a3;表示a0、a1、a2初值均为0。,4/51,*考点3:一维数组引用,一维数组只带一个下标,引用形式以下:,数组名下标表示式,其中,下标能够是整型常量、整型变量或整型表示式。,c语言要求,数组不能以整体形式参加数据处理,如不能给数组整体赋值,数组不能整体参加各种运算等。参加数据处理只能是数组元素,在程序中不能一次引用整个数组。而且,c语言要求,数组下标从0开始,所以含有N个元素数组,其下标范围为0N-1。,5/51,一个数组元素实质上就是一个变量名,代表内存中一个存放单元。一个数组占有一串连续,内存单元。所以,它和普通变量一样,能够参加赋值、算术、输入/输出等操作。,6/51,考点4、二维数组定义,1)二维数组能够看成一个矩阵,“常量表示式1”是矩阵行数,“常量表示式2”是矩阵列数,且两个表示式各居一个方括号内,不能定义成,int a3,4;,2)类型名、数组名及常量表示式要求与一维数组相同。,2、二维数组定义和引用,二维数组定义方式为:,类型名 数组名常量表示式1常量表示式2;,7/51,3)能够把二维数组看成是一个特殊一维数组。比如int a34;能够把a看成一个一维数组,它有3个元素a0、a1、a2,而a0、a1、a2有能够看成是3个一维数组名字:,数组a0:元素有a00、a01、a02、a03,数组a1:元素有a10、a11、a12、a13,数组a2:元素有a20、a21、a22、a23,即每个元素又是包含4个元素一维数组。,4)二维数组元素在内存中存放次序是:按行存放,即先次序存放第一行元素,再存放第二行元素。二维数组所占用存放字节数计算以下:字节数=行*列*类型长度,8/51,5)二维数组定义标准能够用于多维(三维、四维)数组定义。,比如:float a345;,定义了一个三维数组。,9/51,考点5、二维数组初始化,二维数组初始化有以下几个方法:,1)按行分段赋值。比如:,int a32=1,3,5,7,9,11;,将内层第1个括号值赋给第1行元素,第2个括号值赋给第2行元素,2)按行连续赋值。比如:,int a32=1,3,5,7,9,11;,把全部初值写在一个括号内,按数组元素排列次序对各元素赋初值。该方法与前一个方法等效。,10/51,3)能够对数组部分元素赋初值。比如:,int a34=2,4,6;,它作用是对各行第1列元素赋初值,其余元素值自动为0。,4)对全部元素都赋初值,能够省略第一维长度,但第二维长度不可省略。,11/51,*考点6、经过赋初值定义二维数组大小,对于一维数组,能够经过赋初值方法确定数组大小,从而在定义语句中省略数组长度;二维数组也类似,但只能够省略第一个方括号中常量表示式,而不能省略第二个方括号中常量表示式。,当使用行花括号赋初值时,第一行大小由赋初值行数来决定。当省略行花括号时,第一行大小按以下规则来决定。,1)当初值个数能被第二维常量表示式值整除时,所得商数就是第一维大小;,12/51,2)当初值个数不能被第二维常量表示式值整除时,则:,第一维大小=所得商数+1,比如:,int a3=1,2,3,4,5,5,8;,语句等价于,int a43=1,2,3,4,5,5,8;,又如:,int b3=1,2,3,4,5,6,7,8,9;,语句等价与,int b33=1,2,3,4,5,6,7,8,9;,再比如:,int c3=1,2,3,4,5;语句等价于,int c23=1,2,3,4,5,0;,13/51,考点7、二维数组引用,假设已经定义二维数组:int aN1N2;,其引用形式为:,数组名下标表示式1下标表示式2,说明:1)二维数组各维下标也是从0开始;,2)下标表示式值必须为整数,且不得超出数组定义上、下界。注意,在c语言中,数组下标越界并不会在编译中出现错误,只是无法得到预期结果。,3)引用二维数组元素时,一定要把两个下标分别放到两个方括号内。,4)与一维数组相同,二维数组元素能够参加赋值、算术运算、输入/输出等操作。,14/51,5)注意区分在定义二维数组int a23;和引用数组元素a23之间区分。,前者用来定义数组,2和3是要求该数组行和列数,在该数组中不可能出现a23这个元素。,后者是表示另一个数组a中第3行第4列这个元素,这个数组最小长度是3行4列。,15/51,考点8、字符数组定义,c语言中没有专门存放字符串变量,若要将一个字符串放在变量中,方便保留,必须使用字符数组。用来存放字符数据数组称字符数组。,其定义形式和定义一、二维数组一样,只是前面类型名为char。,3、字符串与字符数组,比如:,char star4;,char str34;,16/51,*考点9、字符数组初始化,字符数组有两种初始化方法。,1)给数组中个元素逐一赋值。比如:,char c5=h,e,l,l,o;,把字符h,e,l,l,o分别赋给c0、c1、c2、c3、c4这5个元素。,说明:大括号内提供初值个数假如大于数组长度,编译会犯错。假如初值个数小于数组长度,则未赋部分自动赋空操作符0。,假如提供初值个数和数组预定长度相等,能够省略数组长度。,比如,char c=h,e,l,l,o;,17/51,2)用字符串常量给字符数组初始化。,比如:char ch=“goodnight!”;,此时,编译系统自动算出数组长度为11,而不是10。因为编译系统在扫描整个字符串时,会自动在该串末尾加上0,以表示字符串到此结束,并把它存入字符数组中。,上面初始化与下面语句等效,char ch=g,o,o,d,n,i,g,h,t,0;,与下面语句不等效,char ch=g,o,o,d,n,i,g,h,t;,18/51,需要指出是:字符数组并不是要求它最终一个字符为0,甚至能够不包含0,所以,上面三种定义语句均正当。,提醒:c语言允许在初始化一个一维字符数组时,省略字符串常量外面大括号。,比如:char ch=“goodnight!”;,又能够写成,char ch=“goodnight!”;,19/51,考点10、字符数组元素引用,字符数组中元素引用和其它数组引用方法一样,采取下标引用,即,数组名下标,20/51,*考点11、字符串数组定义和引用,字符串数组就是数组中每个元素又都是一个存放字符串数组,即相当于一个二维字符数组。,比如:,char str48=“father”,”mother”,”boy”,”girl”;,str数组共有4个元素,每个元素是一个存放字符串一维数组,最多能够存放8个字符,,其中每个元素都能够经过 strij形式来引用。,21/51,考点12、字符数组(字符串)输入,除了初始化方法外,还能够使用scanf和gets函数为字符数组赋值。,(1)使用%c格式符,经过scanf函数,为字符数组每个元素分开赋值;,(2)经过%s格式符,经过scanf函数,将整个字符串一次输入;,比如:char c10;,scanf(“%s”,c);,若从键盘输入 abcd(回车),则系统把回车键前面字符作为字符串存入数组c中,并自动在后面添加0,这时数组中有效个数是4而不是5。,22/51,注意:在用scanf格式输入字符串时,空格也也能够作为字符串输入结束标志,作用同回车键一样,若要将空格作为字符串一部分存入字符数组,能够用gets函数。,3)标准字符串输入格式gets,调用方式:gets(字符数组名),功效:将从键盘输入字符串次序存放到字符数组名所代表字符数组中,直到碰到换行(n)(回车键)为止,最终把换行符n转换成0存放在字符串末尾。,比如 gets(c);,23/51,考点13、字符数组(字符串)输出,(1)使用%c格式符,经过printf函数,将字符数组每个元素分开输出;,(2)经过%s格式符,经过printf函数,将整个字符串一次输出;,比如:char c10=“abcdefg”;,printf(“%s”,c);,输出过程是:从字符数组名所对应第一个字符开始次序输出,直到碰到0为止,假如0以后还有字符,将不再输出;,24/51,3)标准字符串输出格式puts,调用方式:puts(字符串或字符数组名),功效:将从字符串或字符数组名所对应第一个字符开始次序输出,直到碰到0为止,并将0转换成换行符n输出。,比如 puts(“abcd”);,puts(c);,25/51,*考点14、字符串处理函数,字符串处理函数均存放在文件string.h中,在使用时候应在程序之前加写编译预处理语句,#include,重点掌握字符串函数:,1)strlen 求字符串长度,2)strcpy 字符串复制,3)strcat 字符串连接,4)strcmp 字符串比较,(详细使用参看教材)。,26/51,例题,1、若要求定义含有 10个 int 型元素一维数组 a,则以下定义语句中错误是()。,A)#define N 10 B)#define n 5,int a N;int a 2*n;,C)int a 5+5;D)int n=10,a n;,27/51,2、有以下程序:,#include,int fun(char s),int n=0;,while(*s=0)n=10*n+*s-0;s+;,return(n);,main(),char s10=6,1,*,4,*,9,*,0,*;,printf(%dn,fun(s);,程序运行结果是()。,A)9 B)61490 C)61 D)5,28/51,3、有以下程序:,void f(int b),int i;,for(i=2;i6;i+)bi*=2;,main(),int a10=1,2,3,4,5,6,7,8,9,10,i;,f(a);,for(i=0;i10,i+)printf(%d,ai);,程序运行后输出结果是()。,A)1,2,3,4,5,6,7,8,9,10,B)1,2,6,8,10,12,7,8,9,10,C)1,2,3,4,10,12,14,16,9,10,,D)1,2,6,8,10,12,14,16,9,10,29/51,4、有以下程序:,void change(int k )k0=k5;,main(),int x10=1,2,3,4,5,6,7,8,9,10,n=0;,while(n=4)change(,for(n=0;n5;n+)printf(%d,xn);,printf(n);,程序运行后输出结果是()。,A)6 7 8 9 10 B)1 3 5 7 9,C)1 2 3 4 5 D)6 2 3 4 5,30/51,5、有以下程序:,void sort(int a,int n),int i,j,t;,for(i=0;in-1;i+),for(j=i+1;jn;j+),if(aiaj)t=ai;ai=aj;aj=t;,main(),int aa10=1,2,3,4,5,6,7,8,9,10,i;,sort(aa+2,5);,for(i=0;i10;i+)printf(%d,aai);,printf(n);,程序运行后输出结果是()。,A)1,2,3,4,5,6,7,8,9,10,B)1,2,7,6,3,4,5,8,9,10,C)1,2,7,6,5,4,3,8,9,10,D)1,2,9,8,7,6,5,4,3,10,31/51,6、有以下程序:,void sum(int a),a0=a-1+a1;,main(),int a10=1,2,3,4,5,6,7,8,9,10;,sum(,printf(%dn,a2);,程序运行后输出结果是()。,A)6 B)7 C)5 D)9,32/51,7、若有定义语句:int a36;,按在内存中存放次序,a 数组第 10 个元素是()。,A)a04 B)a13 C)a03 D)a14,8、以下数组定义中错误是()。,A)int x 3=0;,B)int x23=l,2,3,4,5,6;,C)int x 3=l,2,3,4,5,6;,D)int x23=l,2,3,4,5,6;,33/51,9、有以下程序:,main(),int a44=l,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1;,int i,j,k,t;,for(i=0;i4;i+),for(j=0;j3;j+),for(k=j+1;kaki),t=aji;aji=aki;aki=t;/*按列排序*/,for(i=0;i4;i+)printf(%d,aii);,程序运行后输出结果是()。,A)1,6,5,7,B)8,7,3,1,C)4,7,5,2,D)1,6,2,1,34/51,10、有以下程序:,main(),int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i,k,t;,for(i=0;i3;i+),for(k=i+l;k4;k+),if(aiiakk),t=aii;aii=akk;akk=t;,for(i=0;i4;i+)printf(%d,a0i);,程序运行后输出结果是()。,A)6,2,1,1,B)6,4,3,2,C)1,1,2,6,D)2,3,4,6,35/51,11、有以下程序:,main(),int x32=0,i;,for(i=0;i3;i+)scanf(%d,xi);,printf(%3d%3d%3dn,x00,x01,x10);,若运行时输入:2 4 6,则输出结果为()。,A)2 0 0 B)2 0 4,C)2 4 0 D)2 4 6,36/51,12、有以下程序:,main(),int i,t 3=9,8,7,6,5,4,3,2,1;,for(i=0;i3;i+)printf(%d,t2-ii);,程序执行后输出结果是()。,A)7 5 3 B)3 5 7,C)3 6 9 D)7 5 1,37/51,13、有以下程序:,fun(char p 10),int n=0,i;,for(i=0;i7;i+),if(pi0=T)n+;,return n;,main(),char str 10=Mon,Tue,Wed,Thu,Fri,Sat,Sun;,printf(%dn,fun(str);,程序执行后输出结果是()。,A)1 B)2,C)3 D)0,38/51,14、以下能正确定义字符串语句是()。,A)char str=064;B)char str=kx43;,C)char str=;D)char str=0;,15、有以下程序:,main(),char p=a,b,c,q=abc;,printf(%d%dn,sizeof(p),sizeof(q);,;,程序运行后输出结果是()。,A)4 4 B)3 3 C)3 4 D)4 3,39/51,16、有以下程序:,#include ,main(),char p20=a,b,c,d,q=abc,r=abcde;,strcpy(p+strlen(q),r);strcat(p,q);,printf(%d%dn,sizeof(p),strlen(p);,程序运行后输出结果是()。,A)20 9 B)9 9,C)20 11 D)11 11,40/51,17、有以下程序:,#include ,main(),char p20=a,b,c,d,q=abc,r=abcde;,strcat(p,r);strcpy(p+strlen(q),q);,printf(%dn,strlen(p);,程序运行后输出结果是()。,A)9 B)6,C)11 D)7,41/51,18、有以下程序:,#include,#include,void fun(char s 10,int n),char t;int i,j;,for(i=0;in-1;i+),for(j=i+1;jsj0)t=si0;si0=sj0;sj0=t;,main(),char ss510=bcc,bbcc,xy,aaaacc,aabcc;,fun(ss,5);printf(%s,%sn,ss0,ss4);,程序运行结果是()。,A)xy,aaaacc B)aaaacc,xy C)xcc,aabcc D)acc,xabcc,42/51,19、有以下程序:,#include,void f(char p 10,int n)/*字符串从小到大排序*/,char t10;int i,j;,for(i=0;in-1;i+),for(j=i+l;j0)strcpy(t,pi);strcpy(pi,pj);strcpy(pj,t);,main(),char p510=abc,aabdfg,abbd,dcdbe,cd;,f(p,5);,printf(%dn,strlen(p0);,程序运行后输出结果是()。,A)2 B)4 C)6 D)3,43/51,20、若有定义:char *x=abcdefghi;,以下选项中正确利用了 strcpy函数是()。,A)char y10;strcpy(y,x4);,B)char y10;strcpy(+y,C)char y10,*s;strcpy(s=y+5,x);,D)char y10,*s;strcpy(s=y+1,x+1);,44/51,填空:,1、以下程序中函数 f功效是在数组 x n个数(假定n 个数互不相同)中找出最大最小数,将其中最小数与第一个数对换,把最大数与最终一个数对换。请填空。,45/51,#include,void f(int x,int n),int p0,p1,i,j,t,m;,i=j=x0;p0=p1=0;,for(m=0;mi)i=xm;p0=m;,else if(xmj)j=xm;p1=m;,t=xp0;xp0=xn-1;xn-1=t;,t=xp1;xp1=_ ;_=t;,main(),int a10,u;,for(u=0;u10;u+)scanf(%d,f(a,10);,for(u=0;u10;u+)printf(%d,au);,printf(n);,46/51,2 以下程序统计从终端输入字符中大写字母个数,num0中统计字母 A个数,,num1中统计字母 B 个数,其它依次类推。用#号结束输入,请填空。,#include,#include,main(),int num26=0,i;char c;,whilc(_ )!=#),if(isupper(c)numc-A+=_ ;,for(i=0;i26;i+),printf(%c:%dn,i+A,numi);,47/51,3 执行以下程序输出结果是 _ 。,#include,main(),int i,n4=1;,for(i=1,i=3;i+),ni=ni-1*2+1;printf(%d,ni);,4 以下程序输出结果是 _ 。,#include ,main(),char a=1,2,3,4,0;,printf(%d%dn,sizeof(a),strlen(a);,48/51,5 设有定义语句:int a 3=0,12;,则数组元素 a12值是 _ 。,6 以下程序输出结果是 _ 。,main(),int a33=1,2,9,3,4,8,5,6,7,i,s=0;,for(i=0;i0),str2*i=stri;str2*i-1=*;i-;,printf(%sn,str);,main(),char str40;,scanf(%s,str);insert(str);,50/51,8 以下函数 rotate 功效是:将 a 所指 N行N列二维数组中最终一行放到 b 所指二维数组第 0 列中,把 a 所指二维数组中第 0 行放到b 所指二维数组最终一列中,b 所指二维数组中其它数据不变。,#define N 4,void rotade(int a N,int b N),int i,j;,for(i=0;iN;i+),biN-1=_ ;,_=aN-1i;,51/51,展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




考点分析六数组省公开课一等奖全国示范课微课金奖PPT课件.pptx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/12671137.html