问题1 A 关系运算符有左结合性 先求"a"<c 即为0 (假)再看后面 0<z 成立 为1(真)
然后输出LOW
问题2 D b+c的值会赋值给a 故一直为假 0 输出 $$$
问题3 6 首先m++先取值为5再自增1 所以(m>5不成立 ) 执行else 此时m为6
由于m--也是先取值在自减 故取值为6
问题4 20 30 30 if语句不成立 直接执行后面两句 先把y=20赋给x 再把z=30赋给y
故x=20 y=30 z=30
问题5 1).&score 2). score/10 3). break 4). 9 5). 8 6). 7 7).6
#include<stdio.h>
void main()
{
int score,mark;
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;
}
}
问题6
#include<stdio.h>
int main()
{
int y;
scanf ("%d",&y);
if(((y%4==0)&&(y%1!=0))||(y%400==0))//判断闰年的俩个标准
printf ("%d是闰年",y);
else
printf ("%d不是闰年",y);
return 0;
}
问题7
#include <stdio.h>
int main()
{
int a,b,c,ma,mi;
printf("请输入三个数:");
scanf("%d %d %d",&a,&b,&c);
if(a>b){ //先比较a,b中最大的是ma
ma=a;
}else {
ma=b;}
if(ma<c){//再ma和c比较大小
ma=c;
}
if(a<b){
mi=a;
}else mi=b;
if (mi>c){
mi=c;
}
printf("最大值为%d,最小值为%d",ma,mi);
return 0;
}
问题8
#include <stdio.h>
int main()
{
char o;//定义符号char
double a,b;
printf ("请输入符号(+,-,*,/):");
scanf("%c",&o);
printf("输入两个数字");
scanf("%lf%lf",&a,&b);
switch(o){ //用switch多分支选择符号
case'+':
printf("%.1lf+%.1lf=%.1lf\n",a,b,a+b);
break;
case'-':
printf("%.1lf-%.1lf=%.1lf\n",a,b,a-b);
break;
case'*':
printf("%.1lf%.*1lf=%.1lf\n",a,b,a*b);
break;
case'/':
printf("%.1lf/%.1lf=%lf\n",a,b,a/b);
break;
}
return 0;
}