第七章测试1.
程序功能:输入n的值(n<10),计算1!+2!+3!+......+n!,并输出计算结果。
程序中空白处应该填________。
#include <stdio.h>
int main()
{
int i, n;
long sum=0,fac=1; //fac存储每个加项(阶乘)的值
printf("请输入n的值:");
scanf("%d",&n);
for( i=1; i<=n; i++)
{
___________ //后一加项与前一加项的关系
sum=sum+fac;
}
printf("和为%ld",sum);
return 0;
}
A:fac=fac*i; B:fac++; C:sum=sum*i; D:fac=fac+sum;
答案:A
2.
若有整型变量i,j,则以下程序段中内循环体“printf("ok");”的循环次数为________。
for (i=5; i; i--)
{
for (j=0; j<4; j++)
{
printf("ok");
}
}
A:20 B:24 C:30 D:25 3.
以下程序段的输出结果是________。
int i=0, a=0;
while (i < 20)
{
for (; ;)
{
if (i % 10 == 0)
{
break;
}
else
{
i--;
}
}
i += 11;
a += i;
}
printf("%d", a);
A:11 B:33 C:32 D:21 4.
假定a和b为int型变量,则执行以下语句后b的值为________。
a = 1;
b = 10;
do
{
b -= a;
a++;
} while (b-- < 0);
A:9 B:-2 C:-1 D:8 5.
设x和y均为int型变量,则执行下面的循环后y的值为
for (y=1, x=1; y<=50; y++)
{
if (x >= 10)
{
break;
}
if (x % 2 == 1)
{
x += 5;
continue;
}
x -= 3;
}
A:2 B:6 C:4 D:8 6.
设i,j,k均为整型变量,则执行如下语句后,k的值为________。
for (i=0, j=10; i<=j; i++, j--)
{
k = i + j;
}
A:11 B:9 C:8 D:10 7.
以下程序段的输出结果是________。
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", a);
A:10 B:20 C:31 D:13 8.
以下程序段运行时,如果从键盘输入1298再回车,则输出结果为
int n1, n2;
scanf("%d", &n2);
while (n2 != 0)
{
n1 = n2 % 10;
n2 = n2 / 10;
printf("%d", n1);
}
A:8921 B:1298 C:9 D:1 9.
以下程序段的输出结果是________。
int i=10, j=0;
do
{
j = j + i;
i--;
} while (i > 2);
printf("%d", j);
A:52 B:48 C:54 D:25 10.
for(;;)和while(1)构成的都是无限循环。
A:对 B:错