循环结构程序设计练习题 内含答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9、C语言中,break;语句可以用于循环语句和(B)语句中。
A.if B.switch C.for D.while
10、for(i=0; i<=15; i++) printf("%d", i );循环结束后,i的值为(C)。
A.14 B.15 C.16 D.17
11.有以下程序( B )
main()
2、以下关于for语句的说法不正确的是(A)。
A. for循环只能用于循环次数已经确定的情况
B. for循环是先判断表达式,后执行循环体语句
C. for循环中,可以用break跳出循环体
D. for循环体语句中,可以保含多条语句,但要用花括号括起来
3、若i和k都是int类型变量,有以下for语句
for(i=0,k=-1;k=1;k++) printf("*****\n");
if (x%3==0) {
printf(“%d”,--x);
continue ;
}}}
A)741 B)852 C)9Байду номын сангаас3 D)875421
20.int i=100;以下不是死循环的程序段是。A
A)while (1) {i=i%100+1 ;if (i>100) break ;}B)for ( ; ; ) ;
A.7 5 3 B. 3 57 C.3 6 9 D.7 5 1
5、以下程序运行后的输出结果是(A)。
void fun(char*s)
{ while(*s)
{ if(*s%2==0) printf(“%c”,*s);s++;}
}
main()
{ char a[]={“good”};fun(a);printf(“\n”);}
下面关于语句执行情况的叙述中正确的是(d)。
A.循环体执行两次B.循环体执行一次C.循环体一次也不执行D.构成无限循环
4、以下程序程序的执行后的输出结果是(c)。
main()
{int i,t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<3;i++) printf(“%d”,t[2-i][i]);}
第三单元循环结构练习题
选择题:
1、有以下程序执行后的输出结果是(D)。
main( )
{ int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf("%d\n",s);}
A.自然数1~9的累加和B.自然数1~10的累加和
C.自然数1~9中的奇数之和D.自然数1~10中的偶数之和
A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,1
22.下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择A填空。
main ( )
注意:字母a的ASCⅡ码值为97
A.d B.go C.god D.good
6、已知int t=0;while(t=1){...}则以下叙述正确的是(B)。
A)循环控制表达式的值为0
B)循环控制表达式的值为1
C)循环控制表达式不合法
D)以上说法都不对
7、设有以下程序段B
int x=0,s=0;
while(!x!=0)s+=++x;
C.一次也不执行D.执行一次
14、以下程序中,while循环的次数是(b)。
#include <stdio.h>
void main( )
{int i=0;
while(i<10) { if(i<1) continue; if(i= =5)break; i++;}}
A. 1 B.死循环,不能确定次数C. 6 D. 10
{ char b,c; int i; b='a'; c='A';
for(i=0;i<6;i++)
{ if(i%2) putchar(i+b);
else putchar(i+c);
} printf("\n");}
程序运行后的输出结果是()
A. ABCDEF B. AbCdEf C. aBcDeF D. abcdef
printf("%d",s);则
A)运行程序段后输出0
B)运行程序段后输出1
C)程序段中的控制表达式是非法的
D)程序段执行无限次
8、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为(C)。
for(i=0, j=10; i<=j; i++, j- -)k=i+j;
A.6 B.9 C.10 D.11
C)int k=0; do { ++k; } while (k>=0); D)int s=36;while(s) ;--s ;
21.下述程序段的运行结果是C。
int a=1,b=2, c=3, t=4;
while (a<b<c) {t=a; a=b; b=t; c--;}printf(“%d,%d,%d”,a,b,c);
case ‘E’ : k*=10 ; break ;
default : k/=3 ;
}
k++;
} while (c<’G’) ;
printf (“k=%d”,k) ;
}
A)k=3 B)k=4 C)k=2 D)k=0
19.下面程序的输出结果是。B
main ( )
{ int x=9;
for (; x>0; x--) {
15.下面程序段
int k=2;
while (k=0) {printf(“%d”,k);k--;}
则下面描述中正确的是。
A)while循环执行10次B)循环是无限循环
C)循环题语句一次也不执行D)循环体语句执行一次
16.以下程序段的循环次数是B。
for (i=2; i==0; ) printf(“%d”, i--) ;
A)无限次B)0次C)1次D)2次
17.下面程序的输出结果是B。
main ( )
{ char c='A’;
int k=0;
do {
switch (c++) {
case ‘A’ : k++ ; break ;
case ‘B’ : k-- ;
case ‘C’ : k+=2 ; break ;
case ‘D’ : k%=2 ; continue ;
12、与语句“while(!x)”等价的语句是(A)。
A. while(x==0) B. while(x!=0) C. while(x==1) D. while(x!=1)
13、下述程序段中,while循环执行次数是(A)。(分情况这题有问题)
;int k=0;
while(k=1) k++
A.无限次B.有语法错误,不能执行
A.if B.switch C.for D.while
10、for(i=0; i<=15; i++) printf("%d", i );循环结束后,i的值为(C)。
A.14 B.15 C.16 D.17
11.有以下程序( B )
main()
2、以下关于for语句的说法不正确的是(A)。
A. for循环只能用于循环次数已经确定的情况
B. for循环是先判断表达式,后执行循环体语句
C. for循环中,可以用break跳出循环体
D. for循环体语句中,可以保含多条语句,但要用花括号括起来
3、若i和k都是int类型变量,有以下for语句
for(i=0,k=-1;k=1;k++) printf("*****\n");
if (x%3==0) {
printf(“%d”,--x);
continue ;
}}}
A)741 B)852 C)9Байду номын сангаас3 D)875421
20.int i=100;以下不是死循环的程序段是。A
A)while (1) {i=i%100+1 ;if (i>100) break ;}B)for ( ; ; ) ;
A.7 5 3 B. 3 57 C.3 6 9 D.7 5 1
5、以下程序运行后的输出结果是(A)。
void fun(char*s)
{ while(*s)
{ if(*s%2==0) printf(“%c”,*s);s++;}
}
main()
{ char a[]={“good”};fun(a);printf(“\n”);}
下面关于语句执行情况的叙述中正确的是(d)。
A.循环体执行两次B.循环体执行一次C.循环体一次也不执行D.构成无限循环
4、以下程序程序的执行后的输出结果是(c)。
main()
{int i,t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<3;i++) printf(“%d”,t[2-i][i]);}
第三单元循环结构练习题
选择题:
1、有以下程序执行后的输出结果是(D)。
main( )
{ int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf("%d\n",s);}
A.自然数1~9的累加和B.自然数1~10的累加和
C.自然数1~9中的奇数之和D.自然数1~10中的偶数之和
A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,1
22.下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择A填空。
main ( )
注意:字母a的ASCⅡ码值为97
A.d B.go C.god D.good
6、已知int t=0;while(t=1){...}则以下叙述正确的是(B)。
A)循环控制表达式的值为0
B)循环控制表达式的值为1
C)循环控制表达式不合法
D)以上说法都不对
7、设有以下程序段B
int x=0,s=0;
while(!x!=0)s+=++x;
C.一次也不执行D.执行一次
14、以下程序中,while循环的次数是(b)。
#include <stdio.h>
void main( )
{int i=0;
while(i<10) { if(i<1) continue; if(i= =5)break; i++;}}
A. 1 B.死循环,不能确定次数C. 6 D. 10
{ char b,c; int i; b='a'; c='A';
for(i=0;i<6;i++)
{ if(i%2) putchar(i+b);
else putchar(i+c);
} printf("\n");}
程序运行后的输出结果是()
A. ABCDEF B. AbCdEf C. aBcDeF D. abcdef
printf("%d",s);则
A)运行程序段后输出0
B)运行程序段后输出1
C)程序段中的控制表达式是非法的
D)程序段执行无限次
8、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为(C)。
for(i=0, j=10; i<=j; i++, j- -)k=i+j;
A.6 B.9 C.10 D.11
C)int k=0; do { ++k; } while (k>=0); D)int s=36;while(s) ;--s ;
21.下述程序段的运行结果是C。
int a=1,b=2, c=3, t=4;
while (a<b<c) {t=a; a=b; b=t; c--;}printf(“%d,%d,%d”,a,b,c);
case ‘E’ : k*=10 ; break ;
default : k/=3 ;
}
k++;
} while (c<’G’) ;
printf (“k=%d”,k) ;
}
A)k=3 B)k=4 C)k=2 D)k=0
19.下面程序的输出结果是。B
main ( )
{ int x=9;
for (; x>0; x--) {
15.下面程序段
int k=2;
while (k=0) {printf(“%d”,k);k--;}
则下面描述中正确的是。
A)while循环执行10次B)循环是无限循环
C)循环题语句一次也不执行D)循环体语句执行一次
16.以下程序段的循环次数是B。
for (i=2; i==0; ) printf(“%d”, i--) ;
A)无限次B)0次C)1次D)2次
17.下面程序的输出结果是B。
main ( )
{ char c='A’;
int k=0;
do {
switch (c++) {
case ‘A’ : k++ ; break ;
case ‘B’ : k-- ;
case ‘C’ : k+=2 ; break ;
case ‘D’ : k%=2 ; continue ;
12、与语句“while(!x)”等价的语句是(A)。
A. while(x==0) B. while(x!=0) C. while(x==1) D. while(x!=1)
13、下述程序段中,while循环执行次数是(A)。(分情况这题有问题)
;int k=0;
while(k=1) k++
A.无限次B.有语法错误,不能执行