if分支结构
if分支结构
一、选择题
1、执行下列语句后c等于()
int a,b,c; a=b=c=0;
if(a=b)
c++;
else c=!c;
A、0
B、-1
C、1
D、不确定
2、执行下列语句后C等于()
int a,b,c; a=b=c=0;
if(!a)
b++;
else if(b)
c++;
if(b)
c+=1;
else c+=2;
A、0
B、1
C、-2
D、3
3、下列语句表示的逻辑是()
y=1;
if(!x) y=0;
else if(x<0) y=-1;
A、-1 x<0
B、0 x<0
C、 1 x<0
D、-1 x<0
y= 0 x=0 y= -1 x=0 y= 0 x=0 y= 1 x=0
1 x>0 1 x>0 -1 x>0 0 x>0
4、下列条件表达式中,()可以判断c是否为大写字母
A、’A’<=c<=’Z’
B、”A”<=x<=”Z”
C、’A’<=c&&c<=’Z’
D、”A”<=c&&c<=”Z”
5、下列程序可以正确地交换i,j值的是( )
A、if(i>j)
B、if(i>j);
C、if(i>j)
D、if(i>j);
i=j; j=i; i=j; j=i; t=i; i=j; j=t; t=i; i=j; j=t;
6、对下面三条语句,正确的论断是()
(1)if(a)s1; else s2; (2)if(a==0) s2; else s1; (3)if(a!=0) s1; else s2;
A、三者相互等价
B、三者相互不等价
C、只有(2)和(3)等价
D、以上三个说法都不正确
7、以下程序的运行结果是()
main()
{ int k=4,a=3,b=2,c=1;
printf(“\n%d\n”,k A、1 B、2 C、3 D、4 8、以下程序的输出是() main() { int x=10; if(x=20) printf(“Yes”); else if(x<20) printf(“%d\n”,x); else printf(“exit”);} A、Yes B、10 C、exit D、无输出结果 9、有程序如下,则() void main() { int x=5,y=1,z=0; if(x=y+z) p rintf(“”); else printf(“!!!”);} A、有语法错误,不能通过编译 B、输出 C、输出!!! D、可以编译,但不能通过连接,因而不能运行 10、对下述程序,()是正确的判断 main() { float x,y;scanf(“%f,%f”,&x,&y); if(x>y) x=y; y=x; else x++; printf(“%f,%f”,&x,&y);} A、有语法错误,不能通过编译 B、若输入4和3,则输出4和4 C、若输入数据3和4,则输出4和5 D、若输入4和3,输出3和4 11、对于条件表达式(x)(i++):(i--)来说,其中的表达式x等价于() A、x==0 B、x==1 C、x!=0 D、x!=1 二、程序分析 1、若整型变量w=1,x=2,y=3,z=4,则条件表达式w>xw:z>yz:x的值为__________。 2、main() { int a,b,c; a=2;b=3;c=1; if(a>b) if(a>c) printf(“%d”,a); else printf(“%d”,b); printf(“end”);}输出结果为______________。 3、main() { int a,b,c; a=2;b=3;c=1; if(a>b) {if(a>c) printf(“%d”,a);} else printf(“%d”,b); printf(“end”);}____________。 4、main() { int a=0,b=0,c=0; if(++a>0||++b>0) ++c; p rintf(“%d,%d,%d”,a,b,c);} 5、main() { int x,i; for(i=1;i<=100;i++) { x=i; if(++x%2==0) if(++x%3==0) if(++x%7==0) printf(“%d”,x);} 6、程序执行结果是_____________ main() { int a=2,b=-1,c=2; if(a if(b<0) c=0; else c++; printf(“%d”,c);} 7、 main() { int a=-1,b=4,k; k=(a++<=0)&&(!(b--<=0)); printf(“%d,%d,%d”,k,a,b);} 8、、根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型 main() { float a,b,c,,s,area; scanf(“%f,%f,%f”,&a,&b,&c); if(_______________________________) { s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“%f”,area); if(___________________________________________) printf(“等边三角形”); else if(___________________________________) printf(“等腰三角形”); else if(__________________________________________________) printf(“直角三角形”); else printf(“一般三角形”);} else printf(“不能构成三角形”);} 三、编程题 1、求分段函数的值 y=|x-5| 当x<-5 y=2x2-3当-5≤x<1 y=+8当x≥1 2、根据以下函数关系,对输入的每个x值,计算出相应的y值 -x x<0 y= s+5 0<=x<10 x+10 10<=x<20 x+20 20<=x 3、今年1月1日是星期四,任意输入今年的日期,求是星期几