C语言入门习题
第四章 选择结构程序设计
一、选择题 1、有以下程序
main()
{ int i=1,j=2,k=3;
if(i++==1&&(++j==3||k++==3))
printf("%d %d %d\n",i,j,k);} 程序运行后的输出结果是
A)1 2 3 B)2 3 4 C)2 2 3 D)2 3 3 2、以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是
A) if((a>B) &&(b>C) ) k=1; B) if((a>B) ||(b>C) ) k=1
else k=0;
C) if(a<=B) k=0; D) if(a>B) k=1;
else if(b<=C) k=1; else if(b>C) k=1; else k=0;
3、 若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是
A) abs(x-y)<10 B) x-y>-10&& x-y<10 C) @(x-y)10 D) (x-y)*(x-y)<100 4、 下列条件语句中,功能与其他语句不同的是
A) if(a) printf("%d\n",x); else printf("%d\n",y);B) if(a==0) printf("%d\n",y); else printf("%d\n",x); C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);D) if(a==0) printf("%d\n",x); else printf("%d\n",y); 5、有定义语句:int a=1,b=2,c=3,x; 则以下选项中各程序段执行后,x的值不为3的
A) if (c
6、已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是 A) 6 B) 0 C) 2 D) 1
y
7、有一函数,
A) if(x>0) y=1; B) y=0; C)y=0; D)if(x>=0)
else if(x==0) y=0; if(x>0) y=1; if(x>=0); if(x>0) y=1; else y=-1; else if(x<0) y=-1; if(x>0) y=1; else y=0;
else y=-1; else y=-1;
8、以下程序的输出结果是
main()
{ int a=5,b=4,c=6,d;printf("%d\n",d=a>b?(a>c?a:c):(b));}A) 5 B) 4 C) 6 D) 不确定
9、 有以下程序
main()
{ int a=5,b=4,c=3,d=2; if(a>b>c)printf("%d\n",d);
else if((c-1>=d)==1)printf("%d\n",d+1);
else printf("%d\n",d+2);}执行后输出结果是 A) 2 B) 3 C) 4 D) 编译时有错,无结果
10、以下程序的输出结果是 main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);} A) 1 B) 0 C) 非0的数 D) -1
二、填空题 6.设x,y,z均为int型变量,请写出描述“x或y中有1.当a=3,b=2,c=1时,表达式f=a>b>c的值是________。 一个小于z”的表达式________。 2.当a=5,b=4,c=2时,表达式a>b! =c的值是________。 7.设x,y,z均为int型变量,请写出描述“x,y和z3.在C语言中,表示逻辑“真”值用________。 中有两个为负数”的表达式________。 4.设y为int型变量,请写出描述“y是奇数”的表达式8.已知A=7.5,B=2,C=3.6,表达式 A>B && C>A | | AB的值是________。 5.C语言提供的三种逻辑运算符是________、________、9.若a=6,b=4,c=2,则表达式 ! (a-b)+c-1 && b+c/2________。 的值是________。 10.若a=2,b=4,则表达式 !(x=a)| |(y=b)&& 0________。 的值是________。 14.设a=3,b=4,c=5,则表达式 a | | b+c && b= =c的11.若a=1,b=4,c=3,则表达式 !(ac)后;n的值为________,m的值为13.若a=5,b=2,c=1,则表达式 a-b
1x 0
0x 0 1x 0,以下程序段中不能根据x值正确计算出y值的是