第2次练习循环数组.docx
- 文档编号:23756879
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:19
- 大小:25.93KB
第2次练习循环数组.docx
《第2次练习循环数组.docx》由会员分享,可在线阅读,更多相关《第2次练习循环数组.docx(19页珍藏版)》请在冰豆网上搜索。
第2次练习循环数组
C语言第2次练习题
一.选择题
1.以下叙述中正确的是____。
A).while循环语句的循环体至少执行一次
B).switch语句中每个语句序列中必须有break语句。
C).do-while循环语句的循环体至少执行一次
D).在多重循环中,continue语句只能出现最内层循环体内。
2.以下while循环执行__________.
intm=8;while(m=0)m=m-1;
A)8次B)一次C)一次也没执行D)无限循环
3.以下程序输出的是________.
inta=3;
do{printf(“%d\n”,a-=2);}while(!
(--a));
A)1B)3和0C)1和-2D)死循环
4.以下程序段中,不能实现1+2+3+4+…….+10的程序段是______.
A)inti=0,s=0;while(i<=10)s+=i;
B)inti,s;for(s=0,i=1;i<11;i++)s+=i;
C)inti=0,s=0;do{s+=i;++i;}while(i<=10);
D)inti,s;for(i=1,s=0;i<=10;)s+=i++;
5.下列一维数组说明中,正确的是_______.
A)#defineM10
floats[M];
B)intm;
scanf(“%d”,&m);
floata[m];
C)intm=10,a[m];
D)inta[];
6.下列为一维数组初始化时,正确的是_______.
A)inta[]={1,3,5,7,9,….15};B)inta[5]={};
C)inta[5]={5*3};D)inta[5]={0};
7.下列要将2,4,6,8存入数组a中,不正确的是______.
B)inta[4]={2,4,6,8};B)inta[]={2,4,6,8};
C)inta[4];a={2,4,6,8};D)inta[4];a[0]=2;a[1]=4,a[2]=6;a[3]=8;
8.若有说明:
inta[5][5];则对数组元素的正确引用是______.
A)a[3+2][3]B)a[0,3]C)a[4][1+2]D)a[][2]
9.下列二维数组初始化中,错误的是________.
A)inta[2][]={{3,4},{5}};B)inta[][3]={2,3,4,5,6,7};
C)inta[3][3]={0};D)inta[5][4]={{1,2},{2,3},{3,4},{4,5}};
10.若有以下数组定义:
charch[]=”book_120\n”;则数组ch的存储长度是____;
A)7B)8C)9D)10
11.以下程序段的输出结果是________.
charstr[8]={‘a’,b’,’c’,’d’,’\0’,’y’,’z’,’\0’};printf(“%s”,str);
A)abcdB)abcdyzC)abcdyzD)出错
12.设有以下定义:
chars1[10],s2[10];给s1和s2通过输入赋值,以下正确的是______.
A)scanf(“%s%s”,&s1,&s2);B)scanf(“%s%s”,s1,s2);
C)s1=getchar();s2=getchar();D)gets(s1,s2);
13.在数组:
inta[][3]={{1},{3,2},{4,5,6},{0}};中,数组元素a[2][1]的值是________.
A)3B)4C)5D)2
14.14设有如下定义:
chars1[20]=”tianjin”,s2[10]=”beijing”;
执行语句:
strcpy(s1+4,s2);printf(“%s”,s1);后,输出结果是:
_______.
A)tianB)tianbeijingC)tianjinbeijingD)tianbeij
15.设有定义语句:
intm[]={5,4,3,2,1},i=2;,下面数组元素引用错误的是____,
A)m[--i]B)m[i*i]C)m[m[0]]D)m[m[i]]
16.下列二维数组定义并初始化中,正确的是
A)inta[2][]={{3,4},{5,10,15}};
B)inta[2][3]={2,3,4,5,6,7,8,9};
C)inta[3][3]={{0},{1,2},{3,4,5}};
D)inta[][4]={(1,2,4,5),(2,3),(3,4,9),(5,6,8)};
二.阅读程序选择题
1.以下程序:
#include
main()
{intx=1,y=y,z=3;
if(x>y)
if(y>z)printf(“%d”,++z);
elseprintf(“%d”,++y);
printf(“%d”,x++);
}
程序的运行结果是:
A)331B)41C)2D)1
2.以下程序:
#include
Voidfun(inta,intb)
{intt;
t=a;a=b;b=t;
}
voidmain()
{intc[10]={1,2,3,4,5,6,7,8,9,0},i;
for(i=0;i<10;i+=2)fun(c(i),c(i+1));
for(i=0;i<10;i++)printf(“%d,”,c[i]);
printf(“\n”);
}
程序的运行结果是:
A)1,2,3,4,5,6,7,8,9,0B)2,1,4,3,6,5,8,7,0,9
C)0,9,8,7,6,5,4,3,2,1D)0,1,2,3,4,5,6,7,8,9
3.有以下程序:
#include
main()
{inty=10;
for(;y>0;y--)
if(y%3!
=0)continue;
elseprintf(“%d”,y);
}
执行后的输出结果是()。
A)742B)852C)963D)875421
4.有以下程序:
#include
voidmain()
{inti,a[5]={1,2,6,8,9};
for(i=3;i;i--)
{switch(i)
{case1:
case2:
printf(“%d”,a[i]);break;
case3:
printf(“%d”,a[i]);break;
}
}
printf(“\n”);
}
执行后的输出结果是()
A)6B)8C)86D)862
5.有以下程序:
#include
main()
{inti,j,m=0;
for(i=1;i<=10;i++)
for(j=2;j<=20;j+=2)m++;
printf(“%d\n”,m);
}
执行后的输出结果是()
A)10B)20C)100D)200
6.有以下程序:
#include
voidmain()
{intn=12345,n1=0,n2=0,j;
while(n/=10)
{j=n%10;
if(j%2)n1+=j;
elsen2+=j;
}
printf(“%d,%d\n”,n1,n2);
}
A)9,6B)6,9C)6,4D)4,6
7.有以下程序:
#include
Voidmain()
{inta=1,b=10;
do{b-=a;a++;}while(b--<0);
printf(“a=%d,b=%d\n”,a,b);
}
A)a=1,b=-1B)a=2,b=8C)a=3,b=11D)a=4,b=9
8.有以下程序:
#include
Voidmain()
{inta,b;
for(a=1,b=1;a<=100;a++)
{if(a>=20)break;
if(b%3==1){b+=3;continue;}
b+=5;
}
printf(“%d\n”,a);
}
A)B)C)D)
9.以下能实现将a数组循环移位一位(移动后第0位移到第4位)正确的是:
B)main()
{intj,k,a[5]={1,2,3,4,5};
k=a[0];
for(j=0;j<40;j++)
a[j]=a[j+1];
a[4]=k;
}
D)main()
{intj,k,a[5]={1,2,3,4,5};
k=a[0];
for(j=4;j>=0;j--)
a[j]=a[j+1];
a[4]=k;
}
A)main()
{intj,k,a[5]={1,2,3,4,5};
k=a[0];
for(j=4;j>0;j--)
a[j-1]=a[j];
a[4]=k;
}
C)main()
{intj,k,a[5]={1,2,3,4,5};
k=a[0];
for(j=1;j<=4;j++)
a[j]=a[j+1];
a[4]=k;
}
10.以下a是3行4列的矩阵,以下2所有元素之和的程序段正确的是:
B)s=0
for(j=0;j<4;j++)
for(i=0;i<3;i++)
s+=a[i][j];
D)s=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
s+=a[j][i];
A)s=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
s+=a[i][j];
C)s=0;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
s+=a[j][i];
三.阅读以下程序,根据要求写出结果.
1)#include
voidmain()
{inti;
for(i=1;i<=6;i+=2)
{if(i%2){printf(“AAAA\n”);continue;}
printf(“BBBB\n”);
}
}
2)#include
voidmain()
{inta=10;
while(a>0)
{if(a/3==1)break;
printf(“%d”,--a);
}
printf(“\n”);
}
3)#include
voidmain()
{inti=1;
chars[26];
s[0]=’a’;
do{s[i]=s[i-1]+1;i++;}while(i<26);
for(i=25;i>=0;i--)printf(“%c“,s[i]);
printf(“\n”);
}
4).#include
voidmain()
{chara[]={‘*’,’*’,’*’,’*’,’*’};
inti,j,k;
for(i=0;i<5;i++)
{printf(“\n”);
for(j=0;j
for(k=0;k<5;k++)printf(“%c”,a[k]);
}
}
5)#include
voidmain()
{intm,n;
scanf(“%d%d”,&m,&n);
while(m!
=n)
{while(m>n)m=m-n;
while(n>m)n=n-m;}
printf(“%d\n”,m);
}
执行该程序,当输入:
1463时,a)输出结果是什么?
b)该程序的功能是什么?
6)#include
voidmain()
{inti,j,a[4];
for(i=0;i<4;i++)a[i]=0;
for(i=1;i<4;i++)a[i]=a[i-1]+i;
printf(“%d%d\n”,a[1],a[3]);
}
7)#include
#include
voidmain()
{intk=0;
chars1[10]=”abc”,s2[5]=”xyz”;
strcat(s1,s2);
printf(“%s%s\n”,s1,s2);
}
8)#include
voidmain()
{charstr[][5]={“pen”,”book”,”desk”,”car”};
inti;
for(i=0;i<4;i++)printf(“%s\n”,str[i]);
}
9)#include
voidmain()
{inti=0;
while(++i<5)
{if(i%2)printf(”<”);
elsecontinue;
printf(”>”);
}
Printf(“\n”);
}
10)#include
voidmain()
{intj,a[]={1,2,3,4,10,12,13,15};
for(j=3;j>0;j--)
switch(j)
{case1:
case2:
printf(“%d,”,a[j+4]);break;
case3:
printf(“%d,”,a[j-1]);
}
printf(“\n”);
}
11)#include
voidmain()
{inti;
charch[]=”OLYMPICGAMES”;//字符串中间空一位
for(i=0;i<13;i++)
switch(i)
{case0:
case7:
case8:
default:
ch[i]=ch[i]+32;
}
printf(“%s\n”,ch);
}
四.程序填空
1.以下程序求
方阵的主对角线元素乘积,在程序_____处填空完成该程序.
#include
voidmain()
{inta[5][5],i,j,ss;
printf(“inputdata:
”);
for(i=0;i<5;i++)
for(j=0;j<5;j++)scanf(“%d”,&a[i][j]);
ss=______;
for(i=0;i<5;i++)ss=___;
printf(“sum=%d\n”,ss);
}
2.以下程序求序列:
……前20项之和.在程序_____处填空完成该程序.
#include
voidmain()
{floatf1,f2,f3,sum;
intn;
f1=f2=___;sum=0;
for(n=1;n<=20;n++)
{f3=f1+f2;sum+=f3/f2;f1=f2;f2=__;}
printf(“sum=%f\n”,sum);
}
3.以下程序输出s数组中最大元素的下标,在程序_____处填空完成该程序.
#include
voidmain()
{intk,p,s[]={3,7,-2,9,-6,4};
for(p=0,k=p;p<6;p++)
if(s[p]>s[k])___;
printf(“%d\n”,k);
}
4.以下程序求任意10个实数的最大值和最小值,填空完成该程序.
#include
voidmain()
{inti;
floata[10],max,min;
for(i=0;i<10;i++)scanf(“%f”,&a[i]);
max=min=a[0];
for(i=1;i<10;i++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 练习 循环 数组