if语句练习题文档格式.docx
《if语句练习题文档格式.docx》由会员分享,可在线阅读,更多相关《if语句练习题文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
A)有语法错不能通过编译B)可以通过编译但不能通过连接
C)输出***D)输出$$$
6.以下程序的运行结果是______
{intm=5;
if(m++>
5)printf(“%d\n”,m);
elseprintf(“%d\n”,m--);
A)4B)5C)6D)7
7.当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;
elsex=3;
elsex=6;
elsex=7;
A)1b)2c)3d)6
8.有一个函数关系见下表:
x
y=
x<
x-1
x=0
x>
x+1
下面程序段中能正确表示上面关系的是()
A)y=x+1;
=0)
if(x==0)y=x;
elsey=x-1;
b)y=x-1;
if(x!
0)y=x+1;
elsey=x;
c)if(x<
if(x<
0)y=x-1;
elsey=x+1;
d)y=x;
9.以下程序的输出结果是______
{inta=100,x=10,y=20,okl=5,ok2=0;
if(!
ok1)
a=1;
if(ok2)a=10;
a=-1;
printf(“%d\n”,a);
A1B0C-1D值不确定
10.以下程序输出结果是_______
{intx=2,y=-1,z=2;
if(y<
0)z=0;
elsez+=1;
printf(“%d\n”,z);
A.3B.2C.1D.0
11.为避免在嵌套的条件语句if-else中产生二义性,C语言规定:
else子句总是与___配对.
A.缩排位置相同的ifB.其之前最近的if
C.其之后最近的ifD.同一行上的if
12.以下不正确的语句为______
A.if(x>
B.if(x=y)&
(x!
=0)x+=y;
C,if(x!
=y)scanf(“%d”,&
x);
elsescanf(“%d”,&
D.if(x<
12.阅读以下程序
#include<
stdio.h>
{floata,b;
scanf(“%f”,&
a);
0.0)b=0.0;
elseif((a<
0.5)&
(a!
=2.0))b=1.0/(a+2.0);
elseif(a<
10.0)b=1.0/a;
elseb=10.0;
printf(“%f\n”,b);
若运行时输入2.0<
回车>
则上面程序的输出结果是_____
A)0.000000B)0.500000C)1.000000D)0.250000
13.若运行时输入:
16<
则以下程序的运行结果是()
{intyear;
printf(“Inputyouyear:
”);
scanf(“%d”,&
year);
if(year>
=18)
printf(“you$4.5yuan/xiaoshi”);
elseprintf(“your$3.0yuan/xiaoshi”);
14.若运行时输入:
2<
{charclass;
printf(“enter1for1stclasspostor2for2ndpost”);
scanf(“%c”,&
class);
if(class==’1’)printf(“1stclasspostageis19p”);
elseprintf(“2ndclasspostageis14p”);
15.若运行时输入:
4.4<
则以下程序的运行结果是( )
{floatcostprice,sellingprice;
printf(“entercostprice$:
costprice);
if(costprice>
=5)
{sellingprice=costprice+costprice*0.25;
printf(“sellingprice(0.25)$%6.2f”,sellingprice);
{sellingprice=costprice+costprice*0.30;
printf(“sellingprice(0.30)$%6.2f”,sellingprice);
}}
16.以下程序的运行结果是()
{if(2*2==5<
2*2==4)printf(“T”);
elseprintf(“F”);
17.请阅读以下程序:
{intt,h,m;
t);
h=(t/100)%12;
if(h==0)h=12;
printf(“%d:
”,h);
m=t%100;
if(m<
10)printf(“0”);
printf(“%d”,m);
if(t<
1200||t==2400)
printf(“AM”);
elseprintf(“PM”);
若运行时输入:
1605<
时,程序的运行结果是()
18.以下程序实现:
输入圆的半径r和运行标志m,按照运行标志进行指定计算.请在()内填入正确的内容.
标志运算
a面积
c周长
b二者均计算
#definepi3.14159
{charm;
floatr,c,a;
printf(“inputmarkacorb&
r\n”);
scanf(“%c%f”,&
m,&
r);
if
(1)
{a=pi*r*r;
printf(“areais%f”,a);
if
(2)
{c=2*pi*r;
printf(“circleis%f”,c);
if(3)
c=2*pi*r;
printf(“area&
circleare%f%f”,a,c);
19.若运行时输入:
5999<
则以下程序的运行结果(保留小数后一位)是()
{intx;
floaty;
=0&
=2999)y=18+0.12*x;
=3000&
=5999)y=36+0.6*x;
=6000&
=10000)y=54+0.3*x;
printf(“%6.1f”,y);
20.以下程序实现输出x,y,z三个数中的最大者.请在()添入正确内容.
{intx=4,y=6,z=7;
int
(1)
if
(2)u=x;
elseu=y;
if(3)v=u;
elsev=z;
printf(“v=%d”,v);
21.以下程序实现:
输入三个整数,按从大到小的顺序进行输出.请在()内填入正确内容
{intx,y,z,c;
scanf(“%d%d%d”,&
x,&
y,&
z);
{c=y;
z=c;
{c=x;
x=z;
y=c;
printf(“%d,%d,%d”,x,y,z);
22.以下程序对输入的两个整数,按从大到小顺序输出.请在()内填正确内容.
main()
{intx,y,z;
scanf(“%d,%d,”,&
{z=x;
(2)}
printf(“%d,%d”,x,y);
23.以下程序对输入的一个小写字母,将字母循环后移5个位置后输出.如’a’变成’f’,’w’变成’b’.请在()填入正确内容
#include“stdio.h”
{charc;
c=getchar();
if(c>
=’a’&
c<
=’u’)
(1)
elseif(c>
=’v’&
=’z’)
(2)
putchar(c);
24.输入一个字符,如果它是一个大写字母,则把它变成小写,如果是小写,则变成大写,其他字符不变,请在()填正确内容
{charch;
ch);
if
(1)ch=ch+32;
elseif(ch>
ch<
=’z’)
(2)
printf(“%c”,ch);
25.以下程序的运行结果是()
{inta,b,c;
ints,w,t;
s=w=t=0;
a=-1,b=3,c=3;
0)s=a+b;
{if(b>
=0)w=a-b;
0)w=a-b;
elset=c;
printf(“%d%d%d”,s,w,t);
26.以下程序的运行结果是()
{inta,b,c,d,x;
a=c=0;
b=1;
d=20;
if(a)d=d-10;
elseif(!
b)
c)x=15;
elsex=25;
printf(“%d\n”,d);
27.以下程序的运行结果是()
{intx,y=1,z;
if(y!
=0)x=5;
printf(“\t%d\n”,x);
if(y==0)x=4;
elsex=5;
x=1;
if(y>
0)x=4;
28.以下程序的运行结果是()
{intx,y=-2,z=0;
if((z=y)<
elseif(y==0)x=5;
elsex=6;
printf(“\t%d\t%d\n”,x,z);
if(z=(y==0))
x=5;
x=4;
if(x=z=y)x=4;
29.阅读下面程序:
{ints,t,a,b;
scanf(“%d,%d”,&
a,&
b);
s=1;
t=1;
if(a>
0)s=s+1;
b)t=s+t;
elseif(a==b)t=5;
elset=2*s;
printf(“s=%d,t=%d”,s,t);
为使输出结果t=4,输入量a和b应满足的条件是()
30.请阅读下面程序:
{ints,t,a,b;
为使输出结果s=1,t=5,输入量a和b应满足条件是()
31.下面程序根据以下函数关系,对输入的每个x值,计算出y值,在()填正确内容
x
Y
=10
x(x+2)
-1<
=2
2x
=-1
{intx,y;
scanf(“%d,&
if
(1)y=x*(x+2);
elseif
(2)y=2*x;
elseif(x<
=-1)y=x-1;
else(3);
=-1)printf(“%d”,y);
elseprintf(“error”);
32.下面程序根据以下函数关系,对输入的每个x值,计算出相应的y值.在()
填正确内容
y
x=a或x=-a
-a<
a
sqrt(a*a-x*x)
-a或x>
#include“math.h”
{intx,a;
scanf(“%d%d”,&
if
(1)y=0;
elseif
(2)y=sqrt(a*a-x*x);
printf(“%f”,y);
33.以下程序的功能是计算一元二次方程ax2+bx+c=0的根,在()填正确内容
{floata,b,c,t,disc,twoa,term1,term2;
printf(“entera,b,c:
scanf(“%f%f%f”,&
b,&
c);
if
(2)printf(“noanswerduetoinputerror\n”);
elseprintf(“thesinglerootis%f\n”,-c/b);
else{disc=b*b-4*a*c;
twoa=2*a;
terml=-b/twoa;
t=abs(disc);
term2=sqrt(t)/twoa;
if(3)
printf(“complexroot\nrealpart=%fimagpart=%f\n”,terml,term2);
elseprintf(“realroots\nrootl=%froot2=%f\n”,terml+term2,term1-term2);
34.以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型.在()填正确内容.
#include“math.h”
{floata,b,c;
floats,area;
scanf(“%f%f%f”,&
if([1])
{s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“%f”,area);
if([2])
printf(“等边三角形”);
elseif([3])
printf(“等腰三角形”);
elseif((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
printf(“直角三角形”);
elseprintf(“一般三角形”);
elseprintf(“不能组成三角形”);
35.某邮局对邮寄包裹有如下规定:
若包裹的长宽高任一尺寸超过1米或重量超过30千克,不予邮寄;
对可以邮寄的包裹每件收手续费0.2元,再加上根据下表按重量wei计算的资料:
重量(千克)收费标准(元/公斤)
wei<
=100.80
10<
wei<
=200.75
20<
=300.70
请在程序的[]内填入正确的内容.
main()
{floatlen,wei,hei,wid,mon,r;
scanf(“%f%f%f%f”,&
len,&
wid,&
hei,&
wei);
if(len>
1||wid>
1||hei>
1||wei>
30)[1];
elseif(wei<
10)r=0.8;
=20)r=0.75;
=30)[2];
if(r==-1)printf(“error\n”):
else{[3];
printf(“%f”,mon);
}}
36.以下程序的功能是判断输入的年份是否是闰年.请在[]内填入正确的内容.
{inty,f;
scanf(“%d”,&
if(y%400==0)f=1;
elseif([1])f=1;
else[2];
if(f)printf(“%dis”,y);
elseprintf(“%disnot”,y);
printf(“aleapyear\n”);
37.有四个数a,b,c,d,要求按从大到小的顺序输出.请在[]内填入正确内容
{inta,b,c,d,t;
scanf(“%d%d%d%d”,&
c,&
d);
b){t=a;
a=b;
b=t;
if([1]){t=c;
c=d;
d=t;
c){t=a;
a=c;
c=t;
if([2]){t=b;
b=c;
if(b<
d){t=b;
b=d;
d){t=c;
printf(“%d%d%d%d\n”,a,b,c,d);
38.以下程序的运行结果是__
{inta=2,b=3,c;
c=a;
b)c=1;
elseif(a==b)c=0;
elsec=-1;
printf(“%d\n”,c);
39.编制程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上数字,否则输出两数之和.
40.试编程判断输入的正整数是否既是5又是7的整倍数.若是,则输出yes,否则输出no
41.编程序:
根据以下函数关系,对输入的每个x值,计算出相应的y值
Y
=0
0<
X
10<
=20
10
20<
40
-0.5x+20
42.编程实现:
输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一
(1)能同时被3,5,7整除
(2)能被其中两个数整除(要指出那两个数)
(3)能被其中一个数整除(指出那一个)
(4)不能被3,5,7任一个整除