C语言程序设计 第5章 习题 答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A. 4、5、6
B.5、6、6 C. 4、6、4
D. 5、6、5
2、输入一整数,判断其是奇数还是偶数并输出。
void main()
{ int a;
scanf("%d",&a);
if (a%2==0) printf("偶数");
else printf("奇数");
}
3、由键盘输入一个字符,判断是字母、数字还是其他字符。
else printf(“%f”,-x);
C. if (x>0){x++;printf(“% f”,x);}; D. if (x>0){x++;printf(“% f”,x)};
else printf(“%f”,-x);
else printf(“%f”,-x);
(4)阅读以下程序,则( D )。 main()
(2) # include<stdio.h> void main( ) { int x=1,y=2,z=0,i=3; if(x<y)z=1; else if (x<i)z=2; printf(“z=%d\n”,z); }
(3) # include<stdio.h> void main( ) { int x=10,y=5; switch(x) { case 1:x++; default:x+=y; case 2:y--; case 3:x--; } printf(“x=%d,y=%d\n”,x,y); }
scanf(“%d”,&a);
if(a++>5) printf(“%d\n”,a);
else printf(“%d\n”,a--);
}
A. 6
B. 7 C. c
D. 4
(6)已知 a、b、c 的值分别为 4、5、6,执行以下语句后 a、b、c 的值分别是( )。
if (a>b)a=b;b=c;c=a;
else printf("其他字符");
}
4、编写程序,求分段函数 y 的值,x 的值由键盘输入
x
x≤0
y= ﹛
2x 3x2-6x+7
0<x<1 x≥1
void main()
{ int x,int y;
printf("请输入 X 的值:");
scanf("%d",&x);
printf("\n");
if(x>=0)
{ if(0<x<1) y=-2*x;
else y=x }
else { y=x*x-6*x+7; }
printf("Y 的值为:%d",&y);
}
5、输入三个数,按由大到小的顺序输出。
#include<stdio.h>
void main()
{ int a,b,c,temp=0;
printf("please input a,b,c: ");
{ int a=5,b=0,c=0;
if(a=b+c)printf(“***\n”);
else printf(“$$$\n”);
}
A. 有语法错误不能编译 B.可以通过编译但不能通过连接 C.输出*** D.输出¥$$$
(5)下列程序执行时,若键盘输入 5,则输出为( )。
main()
{ int a;
int main()
{ float s,sum=0;
printf("输入工资数:");
scanf("%f",&s);
switch((int)s/500)
{ case 0:sum=s;break;
case 1:sum=s*0.95;break;
case 2:
case 3:sum=s*0.92;break;
#include "stdio.h"
void main()
{ char temp;
temp=getch();
if(temp>百度文库'a'&&temp<='z') printf("小写字母");
else if(temp>='A'&&temp<='Z') printf("大写字母");
else if(temp>='0'&&temp<='9') printf("数字");
13、用条件运算符代替下面程序段的 if else 语句。 if(f) printf(“YES!\n”) else printf(“NO!\n”) f? yes : no
(4) # include<stdio.h> void main( ) { int a=0,b=0,c=0; if(x++||++b)++c; printf(“\na=%d,b=%d,c=%d\n”,a,b,c); } 11、用 if()…else if()…形式代替下面程序段中的 switch 语句。 switch(k) { case 2: case 9:printf(“error!\n”);break; case 3:printf(“error!\n”);break; case 10:printf(“error!\n”);break; default:printf(“try again!\n);
case 4:
case 5:sum=s*0.90;break;
case 6:sum=s*0.85;break;
default:sum=s*0.85;
}
printf("实发工资数:%.2f\n",sum);
}
10、写出以下程序的运行结果。 (1)
# include<stdio.h> void main( ) { int x=1,y=2,z=0,i=3; if(x<y) z=1; else if (x<i) z=2; printf(“z=%d\n”,z); }
C.if(x!= y)scanf(“%d”,&x);else scanf(“%d”,&y) D. if(x=y)&&(x!=0)x+=y;
(3)以下 if 语句语法正确的是(B )。
A.if (x>0)printf(“% f”,x)
B. if (x>0){x++;printf(“% f”,x);}
else printf(“%f”,-x);
#include "stdio.h"
void main()
{ int n,i;
scanf("%d",&n);
if (n%3==0||n%5==0) { printf("Can\n"); }
else printf("Can not!\n");
}
7、输入 1-7 中的一个数,判别并输出它对应的一个星期中的哪一天。
} 12、用 switch 形式代替下面程序段中的 if()…else if()…语句(k 为整数)。
if(k==0)printf(“error!\n”); else if(k>=1&&k<=3) printf (“right!\n”);
else if(k==4||k==5) printf(“just OK!\n”) else printf(“try again!\n”)
#include <stdio.h>
main()
{ int a;
scanf("%d",&a);
switch (a)
{ case 1:printf(“Monday\n");break;
case 2:printf(“Tuesday\n"); break;
case 3:printf(“Wendnesday\n"); break;
x
y
2<x<=10 -1<x<=2 X<=-1
x(x+2) 2x x-1
#include "stdio.h"
void main()
{ int x,y;
scanf("%d",&x);
if (x>=-1)
if(-1<=x<=2) y=2x;
else y=x*(x+2)
else y=x-1;
printf("y=%d",y);
case 4:printf(“Thursday\n"); break;
case 5:printf(“Friday\n"); break; case 6:printf(“Saturday\n"); break; case 7:printf(“Sunday\n"); break; default:printf("Error\n"); } } 8、编写程序根据以下的函数关系,对输入 x 值输出相应的 y 值。
}
9、设工资税率如下,其中 s 代表工资,r 代表税率:
s<500
r=0%
500<=s<1000
r=5%
1000<=s<2000
r=8%
2000<=s<3000
r=10%
3000<=s
r=15%
编一程序实现从键盘输入一个工资数,输出实发工资数。要求使用 switch 语句。
#include<stdio.h>
习题
1、选择题
(1)为了避免在嵌套对 if()…else 中产生歧义,C 语言规定一般 else 子句总是与( B)对。
A.缩排位置相同的 if B. 其之前最近的 if C. 其之后最近的 if D. 同一行上的 if
(2)以下不正确的语句为( D )。
A.if(x>y);
B. if(x<y){x++;y++}
scanf("%d %d %d",&a,&b,&c);
if(a>b) {temp=a;a=b;b=temp;}
if(a>c){temp=a;a=c;c=temp;}
if(b>c){temp=b;b=c;c=temp;}
printf("从小到大为:%d,%d,%d\n",a,b,c);
}
6、由键盘输入一个整数,判断其能否即被 3 整除又被 5 整除。
相关文档
最新文档