第四章 分支结构程序设计
一.选择题
1、逻辑运算符两侧的的运算对象的数据类型 。
A、只能是或1 B、只能是0或非0正数
C、只能是整型或是字符型数据 D、可以是任意类型数据
2、下列运算符中优先级最高的是 。
A、< B、+ C、&& D、!=
3、能正确表示“当x取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是 。
A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B、(x>=1)&&(x<=10)||(x>=200)&&(x<=210)
C、(x>=1)||(x<=10)||(x>=200)||(x<=210)
D、(x>=1)&&(x<=10)||(x>=200)||(x<=210)
4、判断char型变量CH是否为大写字母的正确表达式 。
A、’A’<=CH<=’Z’ B、(CH>=’A’)&(CH<=’Z’)
C、(CH>=’A’)&&(CH<=’Z’) D、(‘A’<=CH)AND(‘Z’>=CH)
5、设x,y和z是int变量,且x=3,y=4,z=5,则下面表达式中值为0的是 。
A、’x’&&’y’ B、x<=y
C、x||y+z&&y-z D、!(x<y)&&!(z||1)
6、已知x=43,ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是 。
A、0 B、语法错 C、1 ` D、“假”
7、执行以下语句后a,b的值分别为 。
int a,b,c;
a=b=c=1;
++a||++b&&++c;
A、2,2 B、1,
8、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值分别是 。
if(x>y)
z=x;x=y;y=z;
A、x=10,y=20,z=30 B、x=20,y=30,z=30
C、x=20,y=30,z=10 D、x=20,y=30,z=20
9、当a=1,b=3,c=5,d=4时。执行完下面一段程序后x 的值是 。
if(a<b)
if(c<d)x=1;
else
if(a<c)
if(b<d) x=2;
else x=3;
else x=6;
else x=7;
A、1 B、2 C、3 D、6
10、以下程序的运行结果是 。
main()
{int k=4,a=3,b=2,c=1;
printf(“\n%d\n”,k<a?k:c<b?c:a);
A、4 B、3 C、2 D、1
11、执行以下程序后,变量a,b,c的值分别为 。
int x=10,y=9;
int a,b,c;
a=(--x==y++)?--x:++y;
b=x++;
c=y;
A、a=9,b=9,c=9 B、a=8,b=8,c=10
C、a=9,b=10,c=9 D、a =1,b=11,c=10
12、关系运算符中优先级最低的运算符是 。
A、“>=”和“<=” B、“>”和“<”
C、“==”和“!=” D、“<=”和“<”
13、逻辑运算符中,运算优先级按从高到低依次为 。
A、&&,!,|| B、||,&&,!
C、&&,||,! D、 !,&&,||
14、对C程序在作逻辑运算时判断操作数真、假的表述,下列哪一个是正确的 。
A、0为假非0为真 B、只有1为真
C、-1为假1为真 D、0为真非0为假
15、表达式 x==0&&y!=0||x!=0&&y=0等价于( )。
A、x*y==0&&x+y!=0 B、x*y==0&&(x+y==0)
C、x==0||y==0 D、x*y=0||x+y=0
16、表达式!x||a==b等价于( )。
A、!((x||a)==b) B、!(x||y)==b
C、!(x||(a==b)) D、(!x)||(a==b)
17、下列各语句序列中,能够且仅输出整型变量a、b中最大值的是 。
A、if(a>b) printf("%d\n",a); printf("%d\n",b);
B、printf("%d\n",b); if(a>b) printf("%d\n",a);
C、if(a>b) printf("%d\n",a); else printf("%d\n",b);
D、if(a<b) printf("%d\n",a); printf("%d\n",b);
18、下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是 。
A、if(u>s)t=u; t=s; B、t=s; if(u>s)t=u;
C、if(u>s)t=s; else t=u; D、t=u; if(u>s)t=s;
19、下列语句应将小写字母转换为大写字母,其中正确的是 。
A、if(ch>='a'&ch<='z') ch=ch-32; B、if(ch>='a'&&ch<='z')ch=ch-32;
C、ch=(ch>='a'&&ch<='z')?ch-32:''; D、ch=(ch>'a'&&ch<'z')?ch-32:ch;
20、若要求在if后一对圆括号中表示a不等于0的关系,则正确表示这一关系的表达式为 。
A、a<>0 B、!a C、a=0 D、a
21、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。
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