您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页C语言(分支与循环)习题与答案

C语言(分支与循环)习题与答案

来源:小侦探旅游网


1、在C语言中,可用做if语句判断的表达式是( )。

A.算术表达式

B.逻辑表达式

C.任意表达式

D.关系表达式

正确答案:C

解析: C、不论条件以什么表达式的形式出现,只要if后面的条件计算结果为真,就表示条件成立。

2、有以下程序

#include

void main( )

{ int x=l, y=2, z=3;

if(x>y)

if(yelse printf(\"%d\

printf(\"%d\\n\

}

程序的运行结果是( )。

A.2

B.1

C.41

D.331

正确答案:B

解析: B、注意if-else配对问题,else总是和它上面为未配对的if形成一个语句。

如果x>y成立,则继续进行下面的一个if-else语句的判断,

如果不成立,整个if语句结束,直接到输出语句执行。

在这道题中,x>y 不成立,所以直接到输出x++; 而x++ 表示 先用x的值输出,之后x+1 x变为2。但是输出值是1

3、有以下程序

main()

{int a=1,b=2,c=3,d=0;

If (a==1&&b++==2)

If(b!=2||c--!=3)

printf(“%d%d%d\\n”,a,b,c);

else printf(“%d%d%d\\n”,a,b,c);

else printf(“%d%d%d\\n”,a,b,c);

}

程序运行后的输出结果是( )。

A.1 3 3

B.3 2 1

C.1 2 3

D.1 3 2

正确答案:A

解析: A、If (a==1&&b++==2) 先用b的值2进行判断,条件成立,但执行完后b的值是3

If(b!=2||c--!=3) b的值是3,b!=2 都是1 后面c-- 不再计算了,c仍然是3

4、有以下程序

main()

{ int a=5,b=4,c=3,d=2;

if(a>b>c)

printf(\"%d\\n\

else if((c-1>=d)==1)

printf(\"%d\\n\

else

成立,碰见逻辑或运算,1与任何数或运算

printf(\"%d\\n\;

}

执行后输出结果是( )。

A.4

B.3

C.编译时有错,无结果

D.2

正确答案:B

5、若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是(A.(x-y)<-10||!(y-x)>10

B.x-y>-10&& x-y<10

C.(x-y)*(x-y)<100

D.abs(x-y)<10

。 )

正确答案:A

6、有下面程序段

int k=2;

while (k=0) { printf(“%d”,k); k则下面描述中正确的是( ) 。

A.while循环执行10次

B.循环是无限循环

C.循环题语句一次也不执行

D.循环体语句执行一次

正确答案:C

7、下面程序的输出结果是 ( )。 main ( )

{ int x=9;

--;}

for (; x>0; x--)

{ if (x%3==0) { printf(“%d”,--x); continue ; }

}

}

A.741

B.852

C.963

D.8721

正确答案:B

8、int a=1,b=2, c=3, t;

while (aprintf(“%d,%d,%d”,a,b,c);

A.1,2,0

B.2,1,0

C.1,2,1

D.2,1,1

正确答案:C

9、下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择( ) 填空。

main ( )

{ int m=0,n=0;

char c;

while (( _________ ) != ’\\n’)

{

if (c>=’A’ && c<=’Z’) m++;

if (c>=’a’ && c<=’z’) n++;

}

}

A.c=getchar( )

B.getchar( )

C.c==getchar( )

D.scanf(“%c”,&c)

正确答案:A

10、下述语句执行后,变量k的值是(int k=1;

while (k++<10) ;

A.10

B.11

C.9

D.无限循环,值不定

。 )

正确答案:B

11、下面程序的输出结果是 ( )。

main ( )

{ int k=0,m=0,i,j;

for (i=0; i<2; i++)

{ for (j=0; j<3; j++)

k++ ;

k-=j ;

}

m = i+j ;

printf(“k=%d,m=%d”,k,m) ;

}

A.k=0,m=3

B.k=0,m=5

C.k=1,m=3

D.k=1,m=5

正确答案:B

12、下面for循环语句( )。

int i,k;

for (i=0, k=-1; k=1; i++, k++)

printf(“***”);

A.判断循环结束的条件非法

B.是无限循环

C.只循环一次

D.一次也不循环

正确答案:B

13、语句while (!E); 括号中的表达式!E等价于 ( ) 。

A.E==0

B.E!=1

C.E!=0

D.E==1

正确答案:A

14、执行语句for (i=1;i++<4;) ; 后变量i的值是( )

A.3

B.4

C.5

D.不定

正确答案:C

15、下面程序的功能是在输入的一批正数中求最大者,输入0结束循环,选择( 空

)填

main ( )

{ int a,max=0;

scanf(“%d”,&a);

while ( ) {

if (maxscanf (“%d”,&a);

}

printf(“%d”,max);

}

A.a==0

B.a

C.!a==1

D.!a

正确答案:B

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

Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务