Chinaunix首页 | 论坛 | 博客
  • 博客访问: 471098
  • 博文数量: 98
  • 博客积分: 3265
  • 博客等级: 中校
  • 技术积分: 1227
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-23 00:29
文章分类

全部博文(98)

文章存档

2012年(6)

2011年(83)

2010年(9)

分类: C/C++

2011-03-19 12:08:56

#include

int choice;

IicInt(void)
{
    int i,j;

int a=0,b=0,c=0,d=0,e=2;
    
    switch(choice)
    {
       case 1:
  a=2;
  b=a--; //b=2,自增减运算符“++”“--”只改变自身的值,且事后生效
  c=a; //经过a--之后,a的值=?//a=1
       break; //case的作用域到break之前

       case 2:          
  a=2;
  b=a-1; //b=1,这里a-1的值并不保留,当时生效
  c=a; //经过a-1之后,a的值=?//a=2
       break;

case 3:
for(j=0;j<10;j++)
{
for(i=0;i<10;i++)
{ if(a==5)
break; //break只能跳出该层循环
a++;
}
a++;
}
        break;

        case 4:           
            for(j=0;j<10;j++)
{
for(i=0;i<10;i++)
{
if(a==5)
{
return a; //return能跳出所有的循环,将结果返回
}
a++;
}
a++;
}
        break;

case 5:
for(i=0;i<10;i++)
{ //--自增减运算符,“事”“后”生效
if((e--)==0) //if中e=2的话,需要循环多少次e=0?
{
d=i; //d=2,需要循环3次,e=0
break; //break只能跳出一重循环
}
a++;
}
//无break,将继续执行case6,7.....直到default

        case 6:
for(i=0;i<10;i++)
{ //“事”“前”生效
if((e=e-1)==0) //if中e=2的话,需要循环多少次e=0?
{
d=i; //d=1,需要循环2次,e=0
break; //break只能跳出一重循环
}
a++;
}
break;
case 7:
for(i=0;i<10;i++)
{
while((e--)!=0) //while中e=2的话,需要循环多少次e=0?
{
d=i; //d=1,需要循环2次,e=0
break;
}
}
break;

case 8:
for(i=0;i<10;i++)
{
while((e=e-1)!=0) //while中e=2的话,需要循环多少次e=0?
{
d=i; //d=0,需要循环1次,e=0
break;
}
}
break;

case 9:
a=2; if(a & 0x8) //if(0)//并不能改变a的值 b=a; else c=a; //c=2; d=a&0x8; //d=0 c=1; //c=1 c=a; //c=2//a的值并不会变

        default:
            break;      
    }
}


void main(void)
{
int z,k;
printf("请输入1~9,进行测试\n");
for(k=0;k<9;k++)
{
scanf("%d",&choice);
z=IicInt(); //这里z=5
}
}

 switch_.rar   VC++6.0调试通过
阅读(1636) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~