都有答案,但是不知道原因,帮忙分析一下哈
1.运行下面程序后,输出是( )。 main( )
{ int k=-3;
if (k<=0) printf("****\n")
else printf("####\n");
}
A) #### B) ****
C) ####**** D) 有语法错误不能通过编译
D
2.下面程序的输出结果是
#include <stdio.h>
main( )
{ int a=2,b=7,c=5;
switch(a>0)
{ case 1:switch(b<0)
{ case 1: printf("@"); break;
case 0: printf("!"); break;
}
case 0:switch(c==5)
{ case 0: printf("*"); break;
case 1: printf("#"); break;
default: printf("%%");break;
}
default: printf("&");
} printf("\n");
}
A) & B) !#&
C) %% D) @*&
B
3.运行下面程序时,若从键盘输入数据为"123",
则输出结果是( )。
main( )
{ int num,i,j,k,place;
scanf("%d",&num);
if (num>99)
place=3;
else if(num>9)
place=2;
else
place=1;
i=num/100;
j=(num-i*100)/10;
k=(num-i*100-j*10);
switch (place)
{ case 3: printf("%d%d%d\n",k,j,i);
break;
case 2: printf("%d%d\n",k,j);
break;
case 1: printf("%d\n",k);
}
}
A) 123 B) 1,2,3
C) 321 D) 3,2,1
C