若有定义:int x=0, *p=&x;, 则语句 printf("%d\n",*p);的输出结果是()。A.随机值B.0C.x 的地

题目

若有定义:int x=0, *p=&x;, 则语句 printf("%d\n",*p);的输出结果是( )。

A.随机值

B.0

C.x 的地址

D.p的地址

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

int y=1, x, *p, a[ ]={2,4,6,8,10}; p=&a[1]; for(x=0;x<3;x++) y + = * (p + x); printf("%d\n",y); 程序的输出结果y的值是__________ 。


正确答案:
19

第2题:

有以下程序 fun(int x) { int p; if(x=0||x=1) return(3); p=x-fun(x-2); return p; } main0 { printf("%d\n",fun(7));} 执行后的输出结果是______。

A.7

B.3

C.2

D.0


正确答案:C
解析:函数fun是—个递归调用函数,首先主函数将实参7传递给函数fun中的形参x,由于7≠0,7≠1,不满足if条件,所以执行下面的p=x-fun(x-2);语句,此语句继续调用它本身,直到当x=1时,返回函数值3代入到调用它的表达式中,依此类推……,最终p的值为2。

第3题:

有以下程序

fun(int x)

{ int p;

if(x==0||x==1) return(3);

p=x-fun(x-2);

return p;

}

main()

{ printf("%d\n",fun(7)); }

执行后的输出结果是

A)7

B)3

C)2

D)0


正确答案:C
答案 C
解析:因为 fun(int x) 是一个递归函数,所以主函数中的调用 fun(7) 经过 3 次递归调用,其过程可以描述为 “ fun(7)=7-fun(5)=7-(5-fun(3))=7-(5-(3-fun(1)))=7-(5-(3-3))=7-5=2 ”

第4题:

若有下列定义和语句: int u=011,v=0x11,w=11; printf("%o,%x,%d\n",u,v,w); 则输出结果是( )。

A.9,17,11

B.9,11,11

C.11,11,11

D.11,17,11


正确答案:C
“%o”表示八进制无符号型输出整型数据(即不带前导O);“%x”是示以十六进制无符号型输出整型数据(即不带前导ox或OX);“%d”表示输出带符号的十进制整型数。

第5题:

若有以下程序

main()

{ int p,a=5;

if(p=a!=0)

printf("%d\n",p);

else

pfintf("%d\n",p+2);

}

执行后输出结果是【 】。


正确答案:√
1 解析:首先计算if语句后面的表达式,根据运算符的优先级可知,先算“a!=o”,该值为1,再把1赋值给p,结果为1(真),执行其后的printf语句,输出的值为1。

第6题:

有以下程序

fun(int x)

{ int p;

if(x= =1) return (3);

p=x-fun(x-2);

return p;

}

main()

{ printf("%d\n",fun(7));}

执行后的输出结果是

A.7

B.3

C.2

D.0


正确答案:C
解析:因为fun(int x)是一个递归函数,所以主函数中fun(7)经过三次递归调用,其过程可以描述为"fun(7)=7-fun(5)=7-(5-fun(3))=7-(5-(3-fun(1)))=7-(5-(3-3))=7-5=2",所以最后的输出结果为2。

第7题:

若有定义:int X=0,* P=&x;,则语句printf(”%d\n”,* P.的输出结果是( )。

A.随机值

B.0

C.X的地址

D.P的地址


正确答案:B
题中定义的语句等价于以下语句。故本题定义一个整型变量x和一个指向整型的指针P,并把变量X的地址赋值给P,即P为指向整型变量x的指针,则*P表示P所指向的整型变量x的数值。

第8题:

设有定义: float x=123.4567; ,则执行以下语句后的输出结果是 【 6 】 。

printf("%f\n",(int)(x*100+0.5)/100.0);


正确答案:
答案 123.460000
解析:表达式( int ) (x*100+0.5) 的值为 12346 ,然后再除以 100.0 ,其结果为 123.460000 。

第9题:

设有如下定义:int x=1,y=-1;则下列语句的输出结果是______。printf("%d\n",(x--&++y));

A.1

B.0

C.-1

D.2


正确答案:B

第10题:

设有定义:float x=123.4567;,则执行以下语句后的输出结果是[ ]。

printf("%f\n"(int)(x*100+0.5)/100.1;


正确答案:123.46
123.46 解析:输出语句的表达式:(int)(x*100+0.5)/100.0是指先运算表达式中的“x*100+0.5”,然后将其结果强制转换为int型,即:(int)(l23.4567*100+O.5)=(int)12346.17=12346,接下来进行”/100.0”的运算即:12346/100.0=123.46,原因是除运算是双目运算,当—边是整型数,—边是实型数时,系统自动将整型转换为实型数,然后进行运算,又因为最后的的输出格式是float类型的实数,所以结果为123.460000。

更多相关问题