else min=b;
可用条件运算符来处理的等价式子为 min=(a
10、设有变量定义:int a=5,c=4;则(--a==++c)?--a:c++的值是 5 ,此时c的存储单元
的值为 6 。 二、判断题
1、在switch语句中,每一个的case常量表达式的值可以相同。( 错 ) 2、在switch语句中,各个case和default的出现次序影响执行结果。( 对) 3、在switch语句中,多个case可以共用一组执行语句。(对 ) 4、 条件表达式能取代一般if的语句。( 错 ) 5、 case后的常量表达式类型一定与表达式类型匹配。( 对 ) 三、写出以下程序的运行结果 1、 main() -1 { int a=2,b=3,c; c=a; if(a>b) c=1; else if(a==b) c=0; else c=-1; printf(“%d\\n”,c); }
2、 main() 2 0 0 { int a,b,c; int s,w,t; s=w=t=0; a=-1; b=3; c=3; if(c>0) s=a+b; if(a<=0) { if(b>0) if(c<=0) w=a-b; } else if(c>0) w=a-b; else t=c; printf(“%d %d %d”,s,w,t); }
3、 switch(grade) { case ‘A’: printf(“85-100\\n”); case ‘B’: printf(“70-84\\n”); case ‘C’: printf(“60-69\\n”);
技术创新引领行业潮流 高效管理创造人文价值 打造受人尊敬的国际化企业
竭力为客户提供满意的产品和服务 以人为本 诚信务实 勇于创新 乐于奉献
case ‘D’: printf(“<60\\n”); default: printf(“error!\\n”); }
若grade的值为 ’C’,则输出结果是 60-69 〈60 error!
能力提高(B)
一、写出下列程序的运行结果
1、 #include 5
5 1
void main(void) { int x,y=1,z; if(y!=0) x=5; printf(“\\t%d\\n”,x); if(y==0) x=4; else x=5; printf(“\\t%d\\n”,x); x=1; if(y<0) if(y>0) x=4; else x=5; printf(“\\t%d\\n”,x); }
2、 #include 4 -2 4 0 4 -2 void main(void) { int x,y=-2,z; if((z=y)<0) x=4; else if(y==0) x=5; else x=6; printf(”\\t%d\\t%d\\n”,x,z);
if(z=(y==0)) x=5; x=4; printf(“\\t%d\\t%d\\n”,x,z); if(x=z=y) x=4; printf(“\\t%d\\t%d\\n”,x,z); }
3、 #include a=2,b=1 main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break;
技术创新引领行业潮流 高效管理创造人文价值 打造受人尊敬的国际化企业
竭力为客户提供满意的产品和服务 以人为本 诚信务实 勇于创新 乐于奉献
case 1: b++; break; } case 2: a++; b++; break; } printf(“a=%d,b=%d”,a,b); }
二、根据程序的功能,将以下程序补充完整
以下程序计算某年某月有几天。其中判别闰年的条件是:能被4整除但不能被100整除的年是闰年,能被400整除的年也是闰年。请在 内填入正确内容。 main() { int yy,mm,len; printf(“year,month=”); scanf(“%d %d”,&yy,&mm); switch(mm) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: len=31 ; break; case 4: case 6: case 9: case 11: len=30; break; case 2: if(yy%4==0&&yy0!=0||yy@0==0) len=29 ; else len=28 ; break; default: printf(“input error”); break; } printf(“the length of %d %d is %d\\n”,yy,mm,len);
技术创新引领行业潮流 高效管理创造人文价值 打造受人尊敬的国际化企业