若有以下程序: #include main( ) { int i=5; do { if(i%3==1) if(i%5==2) {printf("*%d",i);break; } i++

admin2015-08-09  20

问题 若有以下程序:
    #include
    main( )
    {  int  i=5;
    do
    {  if(i%3==1)
    if(i%5==2)
    {printf("*%d",i);break;  }
    i++:
    }  while(i!=0);
    printf("\n");
    }
    则程序的运行结果是(    )。

选项 A、*2*6
B、*3*5
C、*5
D、*7

答案D

解析 do…while语句是先执行后判断,所以第一次先执行循环体,判断i%3==1的条件,由于i为5,所以余数为2,条件不成立,执行i++,i的值为6,判断while条件为真,第二次执行循环体,同第一次循环体的执行过程一样,i的值变为7,判断while条件为真,第三次执行循环体,此时i%3==1条件成立,判断i%5==2也成立,打印+与i的值,即*7,然后执行break语句,跳出循环。所以选择D选项。
转载请注明原文地址:https://kaotiyun.com/show/sLDp777K
0

最新回复(0)