答案第四章 选择结构程序设计
- 格式:doc
- 大小:131.00 KB
- 文档页数:11
第四章 选择结构程序设计
一、选择题
1.下列运算符中优先级最高的是 B 。(0级)
A)> B) + C) && D)!=
2.以下关于运算符优先级的描述中,正确的是 A 。(0级)
A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算
B)&&(逻辑与)>算术运算>关系运算>赋值运算
C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算
D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)
3.逻辑运算符的运算对象的数据类型 D 。(0级)
A)只能是0或1 B)只能是.T.或.F.
C)只能是整型或字符型 D)任何类型的数据
4.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 B 。(1级)
A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
5.以下程序的运行结果是 B 。(1级)
main( )
{
int c,x,y;
x=1;
y=1;
c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
A)110 B)211 C)011 D)001
6.以下程序的运行结果是 A 。(1级)
main( )
{
int c,x,y;
x=0;
y=0;
c=0;
c=x++&&y++;
printf(“\n%d%d%d\n”,x,y,c);
}
A)100 B)211 C)011 D)001
7.判断字符型变量ch为大写字母的表达式是 C 。(1级)
A)‟A‟<=ch<=‟Z‟ B)(ch>=‟A‟)&(ch<=‟Z‟) C)(ch>=‟A‟)&&(ch<=‟Z‟) D)(ch>=‟A‟)AND(ch<=‟Z‟)
8.判断字符型变量ch为小写字母的表达式是 D 。(1级)
A)‟a‟<=ch<=‟z‟ B)(ch>=a)&&(ch<=z)
C)(ch>=‟a‟)||(ch<=‟z‟) D)(ch>=‟a‟)&&(ch<=‟z‟)
9.以下if语句书写正确的是 B 。(1级)
A)if(x=0;) B)if(x>0)
printf(”%f”,x); {x=x+1; printf(”%f”,x);}
else printf(”%f”,-x); else printf(”%f”,-x);
C)if(x>0); D)if(x>0)
{x=x+1; printf(”%f”,x);} {x=x+1; printf(”%f”,x) }
else printf(”%f”,-x); else printf(”%f”,-x);
10.分析以下程序:
main( )
{ int x=5,a=0,b=0;
if(x=a+b) printf(“** **\n”);
else printf(“## ##\n”);
以上程序 D 。(1级)
A)有语法错,不能通过编译 B)通过编译,但不能连接
C)输出** ** D)输出## ##
11.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 A 。(1级)
main( )
{ int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x);
else printf(“%d\n”,x--);
}
A)7和5 B)6和3 C)7和4 D)6和4
12.写出下面程序的执行结果 D 。(1级)
main( )
{int x,y=1;
if(y!=0) x=5;
printf(“%d\t”,x);
if(y= =0) x=3;
else x=5;
printf(“%d\t\n”,x);
}
A)1 3 B)1 5 C)5 3 D)5 5
13.写出下面程序的执行结果 A 。(2级)
main()
{int x=1,y=1,z=0;
if(z<0)
if(y>0) x=3;
else x=5; printf("%d\t",x);
if(z=y<0) x=3;
else if(y= =0 ) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
A)1 7 0 B)3 7 0 C)5 5 0 D)1 5 1
14.假定所有变量均已正确说明,下列程序段运行后x的值是 B 。(1级)
a=b=c=0;x=35;
if(!a) x= -1;
else if(b);
if(c) x=3;
else x=4;
A)34 B)4 C)35 D)3
15.写出下面程序的运行结果是 。(2级)
main()
{int x,y=1,z;
if(y!=0) x=5;
printf("x=%d\t",x);
if(y= =0) x=3;
else x=5;
printf("x=%d\t\n",x);
x=1;
if(z<0)
if(y>0)x=3;
else x=5;
printf("x=%d\t\n",x);
if(z=y<0)x=5;
else x=7;
printf("x=%d\t",x);
printf("%d\t\n",z);
if(x=y=z)x=3;
printf("x=%d\t",x);
printf("z=%d\t\n",z);
}
A)x=5 x=5 B)x=5 x=5
x=1 x=1
x=7 z=0 x=5 z=0
x=3 z=1 x=3 z=0
C)x=5 x=5 D)x=5 x=5
x=5 x=1
x=7 z=0 x=7 z=0
x=3 z=1 x=3 z=0 16.若有以下函数关系
x<0 → y=2x
x>0 → y=x
x=0 → y=x+1
下面程序段能正确表示以上关系的是 改正后C 。(2级)
A)y=2*x; B)y=2*x;
if(x!=0) if(x<=0)
if(x>0)y=x; if(x= =0) y=x+1;
else y=x+1; else y=x;
C)if(x>=0) (D)y=x+1;
if(x>0) y=x; if(x<=0)
else y=x+1; if(x<0) y=2*x;
else y=2*x; else y=x;
17.若有以下变量定义:
float x; int a,b;
则正确的switch语句是 D 。(1级)
A)switch(x)
{ case 1.0:printf("*\n");
case 2.0:printf("* *\n");
}
B)switch(x)
{ case 1,2:printf("*\n");
case 3:printf("* *\n");
}
C)switch(a+b)
{ case 1:printf("*\n");
case 2*a:printf("* *\n");
}
D)switch(a+b)
{ case 1:printf("*\n");
case 1+2:printf("* *\n");
}
18. 以下关于运算符优先顺序的描述正确的是 C 。(02~03第一学期试题)
A)关系运算符
B)逻辑运算符
C)赋值运算符
D)算术运算符
19. 能正确表示a>=10或a<=0的关系表达式是 D 。(02~03第一学期试题)
A)a>=10 or a<=0 B)a>=10 | a<=0
C)a>=10 && a<=0 D)a>=10 | | a<=0
20. 以下不正确的if 语句形式是 C 。(02~03第一学期试题)
A)if ( x > y && x != y ) ;
B)if ( x = = y ) x + = y ;
C)if ( x != y ) scanf ( “%d”, &x) else scanf ( “%d”, &y);
D)if ( x < y ) { x++; y++;}
21. 当 a = 1, b = 3 , c = 5, d = 4 时, 执行完下面程序段后 x 的值为 B 。(02~03第一学期试题)
if ( a < b )
if ( c < d ) x = 1 ;
else
if ( a < c )
if ( b < d ) x =2 ;
else x = 3 ;
else x = 6 ;