当前位置:
文档之家› C语言第五章选择结构程序设计(习题册答案).pdf
C语言第五章选择结构程序设计(习题册答案).pdf
7、条件“2<x<3 或 x<-10”的 C 语言表达式是 x<-10||x>2&&x<3
。
8、判断 char 型变量 ch 是否为大写字母的正确表达式是 (ch>=‘A’)&&(ch<=‘Z’) 。
9、当 a=3,b=2,c=1 时,表达式 f=a>b>c 的值是 0 。
10、当 a=5,b=4,c=2 时,表达式 a>b!=c 的值是 1 。
4、逻辑运算符两侧的运算对象不但可以是 0 和 1,或者是 0 和非 0 的整数,也可以是任何
类型的数据。系统最终以 0 和 非 0 来判定它们属于“真”或“假”。
5、设 y 为 int 型变量,请写出描述“y 是偶数”的表达式 (y%2==0) 。
6、设 x,y,z 均为 int 型变量,请写出描述“x 或 y 中有一个小于 z”的表达式 x<z||y<z 。
A)有语法错不能通过编译
B)可以通过编译但不能通过连接
C)输出***
D)输出$$$
三、写出下列程序的运行结果
1、若运行时输入:2<回车>,则以下程序的运行结果是 2nd class postage is 14p
#include <stdio.h>
void main(void) {
二、选择题
1、逻辑运算符两侧运算对象的数据类型( D )。
A)只能是 0 或 1
B)只能是 0 或非 0 正数
C)只能是整型或字符型数据
D)可以是任何类型的数据
2、以下关于运算符优先顺序的描述中正确的是( C )。
A)关系运算符<算术运算符<赋值运算符<逻辑与运算符
B)逻辑与运算符<关系运算符<算术运算符<赋值运算符
D) if(x<y) {x++; y++;}
10、已知 int x=10,y=20,z=30;以下语句执行后 x,y,z 的值是( B )。
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
B)!(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122)
C)c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122
D)!(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122)
5、能正确表示“当 x 的取值在[1,100]和[200,300]范围内为真,否则为假”的表
11、以下 if 语句语法正确的是( B ) 。
A) if(x>0)
printf(“%f”,x)
else printf(“%f”,-x);
B) B) x>0)
{ x=x+y; printf(“%f”,x); }
else printf(“%f”,-x); C) C) if(x>0)
{ x=x+y; printf(“%f”,x); }; else printf(“%f”,-x);
A)0
B)语法错
C)1
D)“假”
8、设有:int a=1,b=2,c=3,d=4,m=2,n=2;
执行(m=a>b)&&(n=c>d)后 n 的值为( B )。
A)1
B)2
C)3
D)4
9、以下不正确的 if 语句形式是( C )。
A) if(x>y&&x!=y);
B) if(x==y) x+=y;
C) if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);
D) D) if(x>0)
{ x=x+y; printf(“%f”,x) }
else printf(“%f”,-x);
12、请阅读以下程序:
main()
{
int a=5,b=5,c=0; if(a==b+c) printf(“***\n”); else printf(“$$$\n”); }
以下程序( C )。
11、已知 A=7.5,B=2,C=3.6,表达式 A>B&&C>A||A<B&&!C>B 的值是 0 。
12、若 a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2 的值是
1
。
13、有 int x,y,z;且 x=3,y=-4,z=5,则表达式(x&&y)==(x||z)的值为 1 。
达式是( C )。
A) (x>=1)&&(x<=100)&&(x>=200)&&(x<=300) B) (x>=1)||(x<=100)||(x>=200)||(x<=300) C) (x>=1)&&(x<=100)||(x>=200)&&(x<=300)
D) (x>=1)||(x<=100)&&(x>=200)||(x<=300)
14、有 int x,y,z;且 x=3,y=-4,z=5,则以下表达式的值为 1 。
!(x>y)+(y!=z)||(x+y)&&(y-z)
15、有 int a=3,b=4,c=5,x,y;,则以下表达式的值为 0 。
!(x=a)&&(y=b)&&0
16、if (!k) a=3;语句中的!k 可以改写为 k= =0 ,使其功能不变。
6、设 x、y 和 z 是 int 型变量,且 x=3,y=4,z=5,则下面表达式中值为 0 的是( D
A)‘x’&&‘y’
B) x<=y C) x||y+z&&y-z
D) !((x<y)&&!z||1)
7、已知 x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是( C )。
C)赋值运算符<逻辑与运算符<关系运算符<算术运算符
D)算术运算符<关系运算符<赋值运算符<逻辑与运算符
3、下列运算符中优先级最高的是( B )。
A)<
B)+
C)&&
D)!=
4、为判断字符变量 c 的值不是数字也不是字母时,应采用下述表达式( D )。
A)c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122
第五章 选择结构程序设计
基础练习(A)
一、填空题
1、关系表达式的运算结果是 逻辑 值。C 语言没有逻辑型数据,以 1 代表“真”,
以 0 代表“假”。
2、逻辑运算符!是 单目 运算符,其结合性是由 右结合性 。
3、C 语言提供的三种逻辑运算符是 && 、 || 、 !
。其中优先级最高的
为 ! ,优先级最低的为 | | 。