- 下列哪一个循环会导致死循环?()
正确答案: C 你的答案: D (错误)
A.for(int k=0;k<0;k++)
B.for(int k=10;k>0;k–)
C.for(int k=0;k<10;k–)
D.for(int k=0;k>0;k++)
C正确,A和D都是不执行循环,因为条件不满足所以直接结束,B是满足条件,循环会执行,但会结束,C的话是不管怎么减K,K一直是小于10的,所以永远无限循环
- 下列程序执行func(15,20)的结果为( )
int func(int i, int j){
if (i <= 0 || j <= 0)
return 1;
return 2 * func( i-3, j/2);
}
正确答案: D 你的答案: C (错误)
A.8
B.16
C.24
D.32
i j
15 20
12 10 2*
9 5 2^2
6 2 2^3
3 1 2^4
0 0 2^5 =32
- C 语言的当型循环是先执行循环后判断条件。请问这句话的说法是正确的吗?
正确答案: B 你的答案: B (正确)
正确
错误
这个题是个概念的问题,循环分为当型和直到型。当型就是常用的while,直到型是do while
- 以下代码输出的值是:
int x=4;
void incre()
{
static int x=1;
x*=x+1;
printf(“%d”,x);
}
int _tmain(int argc,_TCHAR* argv[])
{
int I;
for(i=1;i<x;i++){
incre();
}
return 0;
}
正确答案: A 你的答案: B (错误)
A.2642
B.2
C.4
D.5
int x=4 不变,for循环执行3次,调用3次incre()方法,在incre()方法里面的x变量的值一直在变。
每次调用incre()就执行一次 x=x*(x+1);
第一次:x=1*(1+1)=2
第二次:x=2*(2+1)=6
第三次:x=6*(6+1)=42
- 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。该程序的功能是将形参n所指变量中,各位上为奇数的数去掉,剩余的数按原来从低位到高位的顺序组成一个新数。
unsigned