C语言第三章作业 选择结构程序设计.docx
《C语言第三章作业 选择结构程序设计.docx》由会员分享,可在线阅读,更多相关《C语言第三章作业 选择结构程序设计.docx(10页珍藏版)》请在冰点文库上搜索。
C语言第三章作业选择结构程序设计
第三章作业选择结构程序设计
一、单选题
1.有如下嵌套的if语句
if(a
if(aelsek=c;
if(belsek=c;
以下选项中与上述if语句等价的语句是
A)k=(a
a:
b;k=(b<c)?
b:
c;
B)k=(a
((b<c)?
a:
b):
((b>c)?
b:
c);
C)k=(a
((a<c)?
a:
c):
((b<c)?
b:
c);
D)k=(a
a:
b;k=(a<c)?
a:
c;
2.以下选项中与if(a==1)a=b;elsea++;语句功能不同的switch语句是
A)switch(a)
{case1:
a=b;break;
default:
a++;
}
B)switch(a==1)
{case0:
a=b;break;
case1:
a++;
}
C)switch(a)
{default:
a++;break;
case1:
a=b;
}
D)switch(a==1)
{case1:
a=b;break;
case0:
a++;
}
3.设变量x和y均已正确定义并赋值。
下列if语句中,在编译时将产生错误信息的是
()。
A)if(x++);B)if(x>y&&y!
=0);
C)if(x>0)x--D)if(y<0){;}
elsey++;elsex++;
4.以下程序段中,与语句:
k=a>b?
(b>c?
1:
0):
0;功能相同的是
A)if((a>b)&&(b>c))k=1;
elsek=0;
B)if((a>b)||(b>c)k=1;
elsek=0;
C)if(a<=b)k=0;
elseif(b<=c)k=1;
D)if(a>b)k=1;
elseif(b>c)k=1;
elsek=0;
5.以下是if语句的基本形式:
if(表达式)
语句
其中“表达式”
A)必须是逻辑表达式
B)必须是关系表达式
C)必须是逻辑表达式或关系表达式
D)可以是任意合法的表达式
6.有以下程序
#include
main()
{intx;
scanf(“%d”,&x);
if(x<=3);
elseif(x!
=10)
printf(“%d\n”,x);
}
程序运行时,输入的值在哪个范围才会有输出结果
A)不等于10的整数
B)大于3且不等于10的整数
C)大于3或等于10的整数
D)小于3的整数
7.有以下程序
#include
Main()
{
inta=1,b=2,c=3,d=0;
if(a==1&&b++==2)
if(b!
=2||c--!
=3)
printf(“%d,%d,%d\n”,a,b,c);
elseprintf(“%d,%d,%d\n”,a,b,c);
elseprintf(“%d,%d,%d\n”,a,b,c);
}
程序运行后的输出结果是
A)1,2,3
B)1,3,2
C)1,3,3
D)3,2,1
8.有以下程序段
inta,b,c;
a=10;b=50;c=30;
if(a>b)a=b,b=c;c=a;
printf("a=%db=%dc=%d\n”,a,b,c);
程序的输出结果是()。
A)a=10b=50c=10B)a=10b=50c=30
C)a=10b=30c=10D)a=50b=30c=50
二、看程序,写运行结果
1.#include
voidmain()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
case3:
a++;b++;
}
printf(“a=%d,b=%d\n”,a,b);
}
程序的运行结果是【】
2.#include
voidmain()
{inta=1,b=2,c=3,d=0;
if(a==1)
if(b!
=2)
if(c==3)d=1;
elsed=2;
elseif(c!
=3)d=3;
elsed=4;
elsed=5;
printf(“%d\n”,d);
}
程序远行后的输出结果是 【】
3.#include
voidmain()
{intx=1,y=2,z=3;
if(x>y)
if(yelseprintf("%d",++y);
printf("%d\n",x++);
}
程序的运行结果是【】。
4.#include
main()
{inta,b,d=241;a=d/100%9;b=(-1)&&(-1);
printf(“%d,%d”,a,b);}
程序的运行结果是【】。
5.#include
voidmain()
{intx=2,y=-1,z=2;
if(xif(y<0)z=0;
elsez+=1;
printf(“%d\n”,z);}
程序的运行结果是【】。
6.#include
voidmain()
{intx,y=1;
if(y!
=0)x=5;
printf("%d\t",x);
if(y==0)x=3;
elsex=5;
printf("%d\t\n",x);
}
程序的运行结果是【】。
7.#include
voidmain()
{intx=1,y=1,z=0;
if(z<0)
if(y>0)x=3;
elsex=5;
printf("%d\t",x);
if(z=y<0)x=3;
elseif(y==0)x=5;
elsex=7;
printf("%d\t",x);
printf("%d\t",z);
}
程序的运行结果是【】。
8.#include
voidmain()
{inta=2,b=7,c=5;
switch(a>0)
{case1:
switch(b<0)
{case1:
printf("@");break;
case2:
printf("!
");break;
}
case0:
switch(c==5)
{case0:
printf("*");break;
case1:
printf("#");break;
case2:
printf("$");break;
}
default:
printf("&");
}
printf("\n");
}
程序的运行结果是【】。
三、程序填空
1.输入两个数,并判断是否相等
#include
voidmain()
{inta,b;
printf("Enterintegera:
");
scanf("%d",&a);
printf("Enterintegerb:
");
scanf("%d",【】);
if(a==b)
printf("a==b\n");
else
printf("a!
=b\n");
}
2.输入3个实数a,b,c要求按从大到小的顺序输出三数。
#include
main()
{floata,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a
{t=a;【】;b=t;}
If(【】)
{t=a;a=c;c=t;}
if(b{【】;b=c;c=t;}
printf("%f,%f,%f",a,b,c);}
}
3.以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型.在()填正确内容.
#include
#include“math.h”
voidmain()
{
floata,b,c,s,area;
scanf("%f%f%f",&a,&b,&c);
if(【】)
{s=0.5*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%6.2f",area);
if(【】)
{printf("等边三角形");}
elseif(【】)
{printf("等腰三角形");}
elseif((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
{printf("直角三角形");}
else{printf("一般三角形");}
}
else{printf("不能组成三角形");}
}