您的当前位置:首页正文

C语言循环数组练习题

来源:好兔宠物网
循环数组练习题

一. 选择题

1.for(i=0;i<10;i++);结束后,i的值是;B A 9 B 10 C 11 D 12 2.下面程序的循环次数是:D int k=0; while(k<10) {if(k<1) continue; if(k==5) break; k++; }

A. 5 B 6 C 4 D 死循环,不能确定循环次数 3.下面程序的输出结果是() main() {

int s,k;

for(s=1,k=2;k<5;k++) s+=k;

printf(“%d\\n”,s); }

A 1 B 9 C 10 D 15

4.要使下面程序输出10个整数,则在下画线处填入正确的数是: for(i=0;i<= ;) printf(“%d\\n”,i+=2);

A 9 B 10 C 18 D 20 5.运行下面程序: main()

{ int i=10,j=0; do { j=j+i; i--;

}while(i>5); printf(“%d\\n”,j); }

输出结果是:

A 45 B 40 C 34 D 55 6.运行下面程序 #include “stdio.h” main()

{ int k=0,a=1; while(k<10) {

for( ; ;)

{ if((k%10)==0) break; else k--; }

k+=11; a+=k; }

printf(“%d %d\\n”,k,a); }

则输出的结果是()

A 21 32 B 21 33 C 11 12 D 10 11 7.以下叙述正确的是:

A. do---while语句构成的循环不能用其他语句构成的循环来代替。

B. do---while语句构成的循环只能用break语句退出。

C.用do---while语句构成的循环,在while 后的表达式为非零时结束循环。

D.用do---while语句构成的循环,在while后的表达式为零时结束循环。

8.有如下程序: main() { int x=3; do{

printf(“%d”,x--);

}while(!x); }

该程序的执行结果是:

A 3 2 1 B 2 1 0 C 3 D 2

9.若k为整型变量,则下面while循环执行的次数为: k=10;

while(k==0) k=k-1;

A 0 B 1 C 10 D无限次 10.下面有关for循环的正确描述是

A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体。

D.for循环的循环体语句汇总,可以包含多条语句,但必须用花括号括起来。 11.运行下面程序

#include int main( ) { int k=0,a=1; while(k<10) { for( ; ;)

{if((k%10)==0) break; else k--; }

k+=11;a+=k; }

printf(“%d %d\\n”,k,a); return 0;

}则输出的结果是()。

A. 21 32 B. 21 33 C. 11 12 D. 10 11 12.若i为整型变量,则以下循环执行的次数是() for(i=2;i==0;)printf(“%d”,i--);

A.无限次 B 0次 C 1次 D 2次

13.以下循环体的执行次数是; main() { int I,j;

for(i=0,j=3;i<=j;i+=2,j--) printf(“%d\\n”,i); }

A 3 B 2 C 1 D 0 14.执行以下程序后,输出结果是: main() { int y=10;

do { y--;}while(--y); printf(“%d”,y--); }

A -1 B 1 C 8 D 0 15 以下程序的输出结果是: mian() { int a,b;

for(a=1,b=1;a<=100;a++) {

if(b>=10) break;

if(b%3==1) {b+=3; continue;}

}

printf(“%d”,a);

}

A 101 B 3 C 4 D 5

16、以下程序的运行结果是( )。 #include int main( )

{int n[5]={0,0,0},i,k=2;

for (i=0;iA. 不确定的值 B. 2 C. 1 D. 0 17、若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是( )。

A. a[2][!1] B. a[2][3] C. a[0][3] D. a[1>2][ !1] 18、以下程序的运行结果是( )。 #include int main( )

{int a[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,k,t; for(i=0;i<3;i++)

for(k=i+i;k<4;k++)

if(a[i][i]A.6,2,1,1, B. 6,4,3,2, C. 1,1,2,6, D. 2,3,4,6,

19、若有说明:int a[3][4]={0};则下面正确的叙述是( )。 A. 只有元素a[0][0]可得到初值0 B. 此说明语句不正确

C. 数组a中各元素都可得到初值,但其值不一定为0

D. 数组a中每个元素均可得到初值0

20、设有数组定义:char array[]=“china”,则数组array所占的空间为( )。

A. 4个字节 B. 5个字节 C. 6个字节 D. 7个字节 21、当执行下面的程序时,若输入ABC,则运行结果是( )。 #include #include int main( )

{char ss[10]=“1,2,3,4,5”; gets (ss);

strcat(ss, “6789”); printf(“%s\\n”,ss); }

A.ABC B.ABC6789 C.123456789 D.ABC,3,4,5 22、为了判断两个字符串str1和str2是否相等,应当使用( )。 A.if(str1==str2) B.if(str1=str2) C.if(strcmp(str1,str2)) D.if(strcmp(str1,str2)==0) 23、以下程序的运行结果是( )。

#include voidmain( ) {char arr[2][4];

strcpy(arr[0],”you”); strcpy(arr[1],”me”); arr[0][3]=„&‟; printf(“%s\\n”,arr); }

A.you&me B.you C.me D.err 24、以下程序段的运行结果是( )。

printf(“%d\\n”, strlen(“ATS\\n012\\1\\\\”)); A. 11 B. 10C. 9D. 8

25、当执行下面的程序时,若输入ABC,则运行结果是( )。 #include #include int main( )

{char ss[10]=“1,2,3,4,5”; gets (ss);

strcat(ss, “6789”); printf(“%s\\n”,ss); }

A.ABC B.ABC6789 C.123456789 D.ABC,3,4,5 二、填空题

1. 以下程序的运行结果是。 #include intmain( ) { int a=2,b=8; while(b--<0) b-=a ; a++ ;

printf(“a=%d,b=%d\\n”,a,b); return 0; }

2. 下面程序的运行结果为: main()

{int a=10,y=0; do

{a+=2;y+=a; if(y>50) break;

}while(a<14);

printf(“a=%d,y=%d\\n”,a,y); }

3.从键盘输入1 2 3 4 5 -1 回车,则下面程序运行的结果是: main() { int n,k=0; do

{ scanf(“%d”,&n); k+=n;

}while(n!=-1);

printf(“k=%d,n=%d”,k,n); }

4.下面程序的运行结果为: main() {int i,j,s=0;

for(i=1,j=5;i5.下面程序的运行结果是 main() {

int i=10,s=0; for(;--i;) if(i%3==0) s+=i; s++;

printf(“\\ns=%d”,s); }

6.下面程序的运行结果是 main()

{int a=2,n=5,s; s=a; for(;--n;) s=s*10+a; printf(“%d”,s); }

7.下面的程序运行时,循环体语句“a++”运行的次数为: main() {int i,j,a=0; for(i=0;i<2;i++) for(j=4,j>=0;j--) a++; }

8.下面的程序运行后,a的值为: main() { int i,j,a=0;

for(i=0;i<2;i++) a++; for(j=4,j>=0;j--) a++; }

9.下面程序的运行结果为: int i=1,s=3; do{ s+=i++;

if(s%7==0) continue; else ++i; }while(s<15); printf(“%d”,i);

10.当运行以下程序时,从键盘输入China# 回车,则下面程序的运行结果是:

#include “stdio.h” main()

{ int v1=0,v2=0; char c;

while((c=getchar())!=‟#‟)

{ switch(c)

{ case „a‟: case „h‟: default:v1++; case „o‟:v2++;

} }

printf(“%d,%d\\n”,v1,v2); }

11、以下程序若输入AabD↙,运行结果是:。#include int main( ) {char s[80]; int i=0; gets(s); while (s[i]!=„\\0‟)

{if (s[i]<=„z‟ && s[i]>=„a‟) s[i]=„z‟+‟a‟-s[i] ; i++; } puts(s); return 0; }

12、以下程序若输入7 4 8 9 1 5↙,运行结果是:。 #include int main( ) { int a[6],i,j,k,m; for (i=0 ; i<6 ; i++) scanf (“%d”,&a[i]); for (i=5 ; i>=0; i--) {k=a[5]; for (j=4; j>=0; j--) a[j+1]=a[j] ; a[0]=k; }

for (m=0 ; m<6 ; m++) printf(“%d “,a[m]); printf(“\\n”); return 0; }

13、以下程序的运行结果是。 #include int main( )

{ int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}}; int i=0,j=0,s=0;

while(i++<4)

{if(i==2||i==4) continue; j=0; do

{ s+= a[i][j]; j++; } while(j<4); }

printf(“%d\\n”,s); return 0; }

14、以下程序的运行结果是。 #include int main( )

{int b [3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=1;j++) t+=b[i][b[j][i]]; printf(“%d\\n”,t); return 0; }

15、下面程序运行后的运行结果是。

#include int main( )

{char s[]=“12134211”; int v1=0,v2=0,v3=0,v4=0,k; for(k=0;s[k];k++) switch(s[k]) { default:v4++; case '1': v1++; case '3': v3++; case '2': v2++; }

printf(“v1=%d,v2=%d,v3=%d,v4=%d\\n”,v1,v2,v3,v4); return 0; } 三、编程题

1. 求1-2+3-4+…+99-100。

2.计算1---100以内的所有含2的数的和。 3.输入10个数,按照由小到大的顺序输出。

因篇幅问题不能全部显示,请点此查看更多更全内容