c语言作业三(物联1234laichulian)
1.下面程序运行结果为( 。请解原因。
void main ()
char c =‘a’:if(a’ < c <='z)
printf(“LOw”);
else
printf (“UP”);
1
A. LOW
B.UP
C.LOWUP
D.程序语法错误
答案:A
原因:‘a’ < c <='z中先判断‘a’<c为真,结果为ture(1),1<'z’判断结果也为真,输出LOW.
2.请阅读以下程序,该程序()。请对选项进行解释。
void main()
inta= 5,b=0,c=0;if(a=b+c)printf("/n");elseprintf(“SS$/n”);
A.有语法错不能通过编译B.可以通过编译但不能通过连接
C.输出D.输出SSS
答案:d
原因:在这个程序中,使用了赋值操作符(=)而不是相等操作符(==),所以条件判断a=0,程序将一直输出"sss"
3,填空:以下程序运行结果是
void main()
int m = 5:
if(m++ > 5)
printf(“%d/n”, m);else printf(“%d/n”, m–);
结果:6
原因:在m++>5中先判断m是否会大于5,判断后m自增1,m=6.因为该判断为非,所以输出m=6,然后m再自减。
4.已知 int x = 10,y = 2,z = 30; 以下语执行后x = ,y= , z= 。请解释。
if(x>y)z=x;x=y; y=z;
结果:x=2,y=10,z=10
原因:运行步骤如下
1.z=x(z=10)
2.x=y(x=2)
3y=z(y=10)
5.下面的程序的功能是根据输入的百分制成绩 score,转换成相应的五分制成绩grade并打印输出。转换的标准为:
当90≤score≤100时,grade为A;当80≤score<90时,grade为B;当70≤score<80时,grade为C;当60≤score<70时,grade为D;当score<60时,grade为E;请填空: (1)(3)(2)(5)(6)(4)(7)
#include <stdio.h>
void main ( )
{
int score, mark;
scanf(“%d”,(1));
mark =(2);
switch (mark)
default: printf (“%d–E”, score); (3)
case 10:
case (4) : printf (%d–A", score); break;
case (5): printf(“%d–B”, score); break;
case (6) : printf(“%d–C”, score); break:
case (7): printf (“%d–D”, score); break:
答案;(1)&score
(2)score/10
(3)break
(4)9
(5)8
(6)7
(7)6
6.程序实现:输入1个年份 year,判断year是否是闰年?
#include<stdio.h>
int main()
{
int year;
printf("请输入一个年份:\n");
scanf("%d",&year);
if((year % 4 == 0 && year / 100 != 0 )|| year % 400 == 0)//判断是不是闰年
{
printf("它是闰年\n");
}
else
{
printf("它不是闰年\n");
}
return 0;
}
8.程序实现:输入3个数numA,numBnumC,计算这三个数的最大值,最小值。
#include <stdio.h>
int main()
{
float numA, numB, numC, max, min;
printf("请输入三个数:");
scanf("%f %f %f", &numA, &numB, &numC);
max = numA;
min = numA;
if (numB > max) { //判断A,B的大小
max = numB;
}
if (numC > max) { //判断C与A,B中最大值的大小
max = numC;
}
if (numB < min) { //判断A,B的大小
min = numB;
}
if (numC < min) { //判断C与A,B中最小值的大小
min = numC;
}
printf("最大值:%.2f,最小值:%.2f\n", max, min);
return 0;
}
7.程序实现:仿照课堂 PPT,实现一个简单的计算器程序 (只要求计算加减乘除)。要求用户从键盘输入如下形式的表达式:操作数1 运算符p 操作数2,比如:1+2,1/212等,能够输出对应的结果,比如:1+2=3,1/2=0.500000.12=2.
#include<stdio.h>
main()
{
float a,b;
char op;
printf("请输入一个运算式:\n");
scanf("%f%c%f",&a,&op,&b);
if(op=='+')
{
printf("%f%c%f=%f",a,op,b,a+b);
}
else if(op=='-')
{
printf("%f%c%f=%f",a,op,b,a-b);
}
else if(op=='*')
{
printf("%f%c%f=%f",a,op,b,a*b);
}
else if(op=='/')
{
printf("%f%c%f=%f",a,op,b,a/b);
}
return 0;
}