资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,【,知识点,5】,switch,语句作为,do-while,语句的循环体,2009,30.,写出下列程序的输出结果,#include,main(),int,a=1,2,3,4,i=0;,doswitch(ai,),case 2:,case 3:putchar(A);break;,case 4:,case 5:putchar(B);,case 6:putchar(C);break;,default:putchar(X,);,while(i,+0);,5,3,1,-1,2,书写形式及执行过程,语句书写形式,流程图,for(,表达式,1,;表达式,2,;表达式,3,),循环体;,表达式,2,非,0,?,循环体,结束循环,执行下面的语句,Y,N,计算 表达式,1,计算 表达式,3,【,知识点,6】,for,语句,3,201003,执行下列,C,语言程序段,循环体被执行的次数是,for(i,=0,j=0;(j!=4)|(i3);j+,i+),printf(%d,j,);,A,2 B,3 C,4 D,无限,【C】,200817.,已知,int,k,,,x,;则语句,for(k,=0,,,x=0,;,k=9&x!=10,;,k+)x+=2,;,执行后,k,的值是,。,5,4,【,知识点,7】,switch,语句作为,for,语句的循环体,201133,程序运行时从键盘上分别输入,5,3,1,2,5,,写出下列程序的输出结果。,main(),int,k,n,s2=0,s3=0,s4=0,s5=0;,for(k,=1;k6;k+),scanf(%d,&n,);,switch(n,),case 3:s3+=1;break;,case 4:s4+=1;break;,case 5:s5+=1;break;,default:s2+=1;,printf(N1_2=%dn,s2);,printf(N3=%dn,s3);,printf(N4=%dn,s4);,printf(N5=%dn,s5);,N1_2=2,N3=1,N4=0,N5=2,5,【,知识点,8】,if-else,语句作为,for,语句的循环体,201231,请写出下列程序的输出结果。,#include,main(),int,a10=79,64,15,21,57,91,39,180,55,49;,int,i,x,y,;,if(a0a1),x=a0;y=a1;,else x=a1;y=a0;,printf(%d,%d,x,y,);,for(i,=2;i10;i+),if(ai,y),y=,ai,;,printf(%d,%dn,x,y,);,64,79,15,180,6,【,知识点,9】,循环辅助语句,continue,和,break,1,break,语句,用在,switch,语句中,用于跳出,switch,语句。,用在循环体中,用于跳出本层循环(对多层循环而言)。,2,continue,语句,只能用于循环语句的循环体中。用于结束本次循环。,执行,continue,时,循环体中,continue,下面的语句都不执行,重新进行循环判断以决定是否继续进行下次循环。,7,201020.,下列语言程序运行后的输出结果是,。,void main(),int,i=0,s=0;,while(+i,),if(i,=10)break;,if(i%3!=1)continue;,s=,s+i,;,printf(s,=%3dn,s);,s=,12,201217.C,语言中强制退出当前循环可使用的语句是,。,break(,或,goto,),8,【,知识点,10】,循环的嵌套,一个循环体内又包含了另一个完整的循环体,称为循环的嵌套,也称为多重循环。注意:循环不得交叉,可以并列,也可以内嵌。要搞清循环的层次。,9,201232,下列程序的功能是输出高度为,h,的三角型。下图是,h,为,4,时的输出。请将程序空白处补充完整。,*,*,*,#include,*,main(),int,k,j,h,;,printf(Please,enter h:);,scanf(%d,);,for(k,=1;k=,;k+),for(j,=1;j=,;j+),printf,();,for(j,=1;j=,;j+),printf,(,*,);,printf(n,);,&h,h,h-k,2*k-1,10,【,知识点,11】,三种循环的比较,200905.,已知,int i,s,;,下列不能实现计算“从,1,到,100,求和”的程序段的是,A.for(i=1,s=0;i=100;i+)s+=i;,B.s=0;for(i=1;i=100;)s=s+i+;,C.i,=1;s=1;while(i=100)s=,s+i;i,+;,D.i,=2;s=1;while(i=1e-4),k=k,*,i;,f=1.0/k;,s=s+f;,i+;,printf(,%f,s);,评分参考:,定义变量正确得,1,分,,阶乘计算正确得,2,分,,累加正确得,3,分,,循环条件控制正确得,2,分,,输出结果正确得,1,分。,12,201234,编写程序:从键盘输入一个浮点数,a(a0),利用迭代公式计算。迭代公式如下,要求:当,x,i+1,-x,i,的绝对值小于,10,-6,时迭代结束,输出结果,x,i+1,。,#include,#include,main(),float,a,x,=1,x1=0;,scanf(%f,&a,);,while(fabs(x-x1)=1e-6),x1=x;,x=(x1+a/x1)/2;,printf(sqrt(%f)-%fn,a,x,);,【,编程题,2】,13,201134,编写,C,语言程序计算数列,0,1,1,2,4,7,,,中的第,15,个数并输出。提示:,x,0,=0,x,1,=1,x,2,=1,x,i,=x,i-1,+x,i-2,+x,i-3,(i2),main(),int,x0=0,x1=1,x2=1,i;,x0=0;x1=x2=1;,for(i,=1;i=4;i+),x0=x0+x1+x2;,x1=x0+x1+x2;,x2=x0+x1+x2;,printf(%dn,x2);,【,编程题,3】,评分标准:定义正确,1,分,赋初值正确,2,分,,循环计算正确,4,分,输出正确,2,分。,14,第三章 数组,第一节 一维数组,第二节 二维数组,第三节 字符数组和字符串,15,一、一维数组的定义,1,定义形式,类型说明符 数组名,常量表达式,;,例如:,int,a3;,float x5;,char ch7;,数组元素也称下标变量。,【,知识点,1】,一维数组的定义、初始化及数组元素引用,16,二、,一维数组的初始化,(,1,)定义的同时,初始化,方法,示例,(,1,)在定义数组的同时,对数组进行初始化。,int,a5=1,2,3,4,5;,(,2,)若对所有元素赋初值,则数组长度可省略。,int,a=1,2,3,4,5;,(,3,)如果只对数组的前若干个元素赋初值,那么未赋初值的元素其初值为,0,。,int,a5=1,2,3;,(,4,)要想让一个数组中全部元素为,0,,可以写成:,int,a5=0,0,0,0,0;,或,int,a5=0;,17,(,2,)定义后,再赋值。,main(),int,a5;,a0=2;,a1=a0;,scanf(,%d,18,三、一维数组元素的引用:,引用原则:先定义,后引用;,逐个引用,不能一次引用整个数组。,1.,引用形式:,数组名,下标,例如:,a2,,,a1+2,,,ai,+,,,ai+j,;,都是合法的数组元素引用。,注意,:数组元素一经引用就和变量一样使用。,19,201005,给数组赋初值,错误,的语句是,A,int,dd,=0,;,B,int,bb5=1,3,5;,C,int,cc3=5,4,3,2;D,int,aa,=1,2,3,4,5;,【C】,200818,已知,int,a10=1,2,3,5,6,;则,aa1=,。,3,20,200832,下面程序的功能是:将有,l5,个数据元素的整型数组的最大值与末元素对调后输出,填空完成程序。,main(),int,x15,,,max,,,n,,,i,;,for(i,=0,;,i15,;,i+),scanf(%d,,,xi,),;,max=x0,;,n=0,;,for(i,=1,;,i15,;,i+),if(,),max=,xi,;,n=i,:,xn,=x14,;,;,for(i,=0,;,i15,;,i+),printf(%d,,,xi,),;,maxmax)(2,分,),x14=max (2,分,),【,知识点,2】,一维数组的应用(最大值、最小值等),21,一、二维数组的定义,定义形式,类型说明符 数组名,常量表达式,1,常量表达式,2;,int,a23;,int,b32;,【,知识点,3】,二维数组的定义、初始化及元素引用,22,二、二维数组的初始化,1.,分行赋值,方法,示例,分行赋值,全部元素初始化,int,a32=1,2,3,4,5,6;,部分元素初始化,int,a32=1,2,3;,第一维长度省略初始化,int,a 2=1,2,3;,注意:第二维长度不能省略!,23,2.,按行连续赋值,方法,示例,按行,连续赋值,全部元素初始化,int,a32=1,2,3,4,5,6;,部分元素初始化,int,a32=1,2,3,4;,第一维长度省略初始化,int,a 2=1,2,3,4,5,6;,注意:第二维长度不能省略!,24,三、二维数组元素的引用,二维数组元素的表示形式:,数组名,下标,1,下标,2,main(),int,x34,;,x01=1,;,x02=x01+2;,scanf(%d,printf(%d,x03);,25,201017.,已知,int,a3=2,4,6,8,,,10,;,,数组元素,a11,的值是,。,6,201104,已知,int,a45;,则对数组,a,的元素引用正确的是,A,a04 B,a45 C,a25 D,a44,【A】,201117.,已知,float m105;,则数组,m,允许使用的,最后一个元素是,。,M94,26,输入,:,for(i,=0;i3;i+),for(j,=0;j4;j+),scanf(%d,&xij,);,【,知识点,4】,二维数组的输入与输出,输出,:按行输出,形式固定。,for(i,=0;i3;i+),for(j,=0;j4;j+),printf(%4d,xij);,printf(n,);,27,2009,31.,写出下列程序的输出结果,#include,main(),int,i,j,a34=1,2,3,0,2,1,5,0,7,6,5,0;,for(i=0;i3;i+),for(j=0;j3;j+),ai3+=aij;,for(i=0;i3;i+),for(j=0;j4;j+),printf(,%3d,aij);,printf(n);,1 2 3 6,2 1 5 8,7 6 5 18,28,字符数组,字符串,赋初值时,字符个数,=,字符数组长度,如:,1)char d5=,a,b,c,d,e,;,赋初值时,字符个数,字符数组长度,如:,char d6=,abcde,;,或,char d6=,abcde,;,输入时用:,1)for(i=0;i5;i+),scanf(,%c,&di,);,2)for(i=0;i5;i+),di,)=,getchar,();,输入时用:,1),scanf(,%s,d,);,2),gets(d,);,输出时用:,1)for(i=0;i5;i+),printf(,%c,di,);,2)for(i=0;i5;i+),putchar(di,);,输出时用:,1),printf(,%s,d,);,2),puts(d,);,【,知识点,5】,字符数组与字符串,29,2009
展开阅读全文