1233 zj
第一题
#include <stdio.h>
int main()
{
char c = 'a';
if('a'<c<='z')
{
printf("LOW");
}
else
{
printf("UP");
}
return 0;
}
逻辑运算符从左往右进行判断,字符串a小于c,此时变成了1与z的比较,根据ASCLL码,小写z的值为122,所以if的判断为真,输出LOW
第二题
#include <stdio.h>
int main()
{
int a =5,b=0,c=0;
if(a=b+c)
printf("***\n");
else
printf("$$$\n");
return 0;
}
if的判断条件为“a=b+c”,是一个关系运算,a被赋值为0,if的判断为假,所以输出else的$$$
第三题
#include <stdio.h>
int main()
{
int m = 5;
if(m++>5)
printf("%d\n",m);
else printf("%d\n",m--);
return 0;
}
m的初始值为5,m++后为6,if的判断为真,所以输出if内的语句,即6
第四题
#include <stdio.h>
int main()
{
int x=10,y=20,z=30;
if(x>y);z=x;x=y;y=z;
printf("%d,%d,%d",x,y,z);
return 0;
}
if中的条件x>y为假,由于if的后面没有花括号,所以if的条件判断只生效后面一句,所以函数跳过z=x,执行x=y,此时x=20,y=z,使得y=30,z的值依旧为30
第五题
#include <stdio.h>
int main()
{
int score=0,mark=0;
scanf("%d",&score);
mark=score/10; //可以直接丢掉小数点进行判断
switch(mark)
{
default: printf("%d--E",score);break;
case 10: //满分判断
case 9:printf("%d--A",score);break;
case 8:printf("%d--B",score);break;
case 7:printf("%d--C",score);break;
case 6:printf("%d--D",score);break;
}
return 0;
}
第七题
#include <stdio.h>
int main()
{
int a,b,c;
int max=0,min=0;
printf("请输入3个数字");
scanf("%d %d %d",&a,&b,&c);
if(a>=b)
if(a>=c)
max=a ;
else
max=c ;
else
if(b>=c)
max=b ;
else
max=c; //判断出最大值
if(a<=b)
if(a<=c)
min=a ;
else
min=c ;
else
if(b<=c)
min=b ;
else
min=c; //判断出最小值
printf("三个数的最大值为%d,最小值为%d\n",max,min);
return 0;
}
第七题
#include<stdio.h>
int main()
{
int a,b,c;
char op;
scanf("%d%c%d",&a,&op,&b); //写出算式的结构
switch(op) //进行符号的判断,直接输出对应的值
{
case '+': //加号判断
c=a+b;
printf("%d",c);
break;
case '-': //减号判断
c=a-b;
printf("%d",c);
break;
case '*': //乘法判断
c=a*b;
printf("%d",c);
break;
case '/': //除法判断
if(b==0)
printf("除数不能为0");
else{
c=a/b;
printf("%d",c);}
break;
}
return 0;
}