【PTA选择/基础巩固/期末复习】C语言循环(二)第一部分

2-1

假设变量s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0),则与以下程序段功能等价的赋值语句是()。

s = a;  
for(b = 1; b <= c; b++) 
      s = s + 1; 

A.s = a + b;

B.s = a + c;

C.s = s + c;

D.s = b + c;

2-2

下列程序段的输出结果是()。

int main(void) 
{
      for(int i = 1; i < 6; i ++) {
            if( i % 2 != 0) { 
                  printf("#");
                  continue;  
            }
      printf("*");     
      }
      printf("\n");    
     
      return 0;
}

A.#*#*#

B.#####

C.*****

D.*#*#*

2-3

如下程序的执行结果是

#include <stdio.h>
int main (void)
{
    int i, sum = 0;
    for ( i = 1; i <= 3; sum ++ )
        sum += i ;
    printf ("%d\n", sum);
    return 0;
}

A.6

B.3

C.死循环

D.0

2-4

设变量已正确定义,则以下能正确计算f=n!的程序段是

A.

f=0;

for(i=1;i<=n;i++)

f*=i;

B.

f=1;

for(i=1;i<n;i++)

f*=i;

C.

f=1;

for(i=n;i>1;i++)

f*=i;

D.

f=1;

for(i=n;i>=2;i--)

f*=i;

2-5

下面程序运行时如果输入“-1 2 3 3 6 2<回车>”,则输出结果是

#include <stdio.h>
int main(void)
{
    int t, a, b, i;
    for (i = 1; i <= 3; i++) {
        scanf("%d%d", &a, &b);
        if (a > b)t = a - b;
        else if (a == b)t = 1;
        else t = b - a;
        printf("%d", t);
    }
    return 0;
}

A.304

B.314

C.134

D.316

2-6

执行下面的程序后变量a的值是

#include <stdio.h>
int main(void)
{
    int a, b;
    for (a = 1, b = 1; a <= 100; a++) {
        if (b > 10)break;
        if (b % 3 == 1) {
            b += 3;
            continue;
        }
        b -= 3;
    }
    printf("%d\n", a);
    return 0;
}

A.5

B.6

C.7

D.8

2-7

以下程序段的输出结果是

int i;
for (i = 1; i <= 5; i++) {
    if (i % 2)printf(" <");
    else continue;
    printf(" >");
}
printf("$");

A.< > < > < >$

B.< < < $

C.< > < > $

D.< < < > > > $

2-8

若变量已正确定义,要求程序段完成求5!的计算,以下不能完成此操作的是

A.for (i = 1, p = 1; i <= 5; i++) p *= i;

B.for (i = 1; i <= 5; i++) {p = 1; p *= i;}

C.i = 1; p = 1; while (i <= 5) {p *= i; i++;}

D.i = 1; p = 1; do {p *= i; i++;} while (i <= 5);

2-9

若有关变量已经被恰当定义,下面循环语句的循环体将执行____次。

for(i=0, j=5; ++i!=--j; ) 
printf(“%d %d”, i, j);

A.6

B.3

C.0

D.无限

2-10

以下( )循环并非重复5次?

A.

int i;
for (i=1; i<6; i++) {}

B.

int i;
for (i=0; i<5; i++) {}

C.

int i;
for (i=0; i<=5; i++) {}

D.

int i;
for (i=1; i<=5; i++) {}

2-11

下列程序的运行结果:

#include<stdio.h>

int main( )
{    int i,j,x=0;
     for (i=0;i<2;i++)
     {     x++;
           for(j=0;j<3;j++)
           {   if (j%2) continue;
               x++;
           }
           x++;
     }
     printf("x=%d",x);

     return 0;
}

A.x=4

B.x=8

C.x=6

D.x=12

2-12

以下程序的输出结果是:

#include<stdio.h>
int main()
{    int a, b;
     for(a=1, b=1; a<=100; a++)
     {   if(b>=10) break;
         if(b%3==1)
         {  b+=3;
            continue;
         }
     }
     printf("%d",a);
     return 0;
}

A.1

B.6

C.5

D.4

2-13

以下程序的输出结果是:

#include<stdio.h>
int main()
{    int x=10,y=10,i;
     for(i=0;x>8;y=++i)
        printf("%d,%d  ",x--,y);
     return 0;
}

A.10,1 9,2

B.9,8 7,6

C.10,10 9,1

D.10,9 9,0

2-14

对于(1)(2)两个循环语句,____是正确的描述。

(1) while(1);
(2) for(; ;);

A.(1)(2)都是无限循环

B.(1)是无限循环,(2)错误

C.(1)循环一次,(2)错误

D.(1)(2)皆错误

2-15

以下程序的输出结果是:

#include<stdio.h>
int main()
{    int a=0,i;

     for(i=1;i<5;i++)
     {     switch(i)
           {    case 0:
                case 3:a+=2;
                case 1:
                case 2:a+=3;
                default:a+=5;
            }
       }
       printf("%d\n",a);

       return 0;
}

A.31

B.13

C.10

D.20

2-16

请读程序:

#include<stdio.h>

int main()
{     int x,i;
      for(i=1;i<=50;i++)
     {    x=i;
          if(x%2==0)
          if(x%3==0)
          if(x%7==0)
            printf("%d",i);
       }

       return 0;
}

则上面程序的输出结果是:

A.28

B.27

C.42

D.41

2-17

以下代码,语法正确的是:

A.while ( ) ;

B.for( ) ;

C.for( ; ; ) ;

D.do { } while( );

2-18

以下代码,语法正确的是:

A.while ( ) ;

B.for( ) ;

C.do ; while(1);

D.do while(1);

2-19

下列程序段的输出结果是()。

#include<stdio.h>
int main()
{
      for(int i = 1; i < 7; i ++) {
            if( i % 3 != 0) {
                  printf("#");
                  continue;
            }
            printf("*");
      }
      return 0;
}

A.#*#*#*

B.######

C.******

D.##*##*

2-20

有以下程序的功能是_____________。

#include <stdio.h>
int main()
{
    int i,s=0;
  for(i=1;i<10;i+=2)
        s+=i+1;
  printf("%d\n",s);
  return 0;
}

A.自然数1~9的累加和

B.自然数1~10的累加和

C.自然数1~9中奇数之和

D.自然数1~10中偶数之和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值