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中偶数之和