工学

单选题设x为unsignedint类型,则执行下列语句输出结果是()?x=65535;printf(""%d/n"",x);A ASCII字符B 65535C 0D -1

题目
单选题
设x为unsignedint类型,则执行下列语句输出结果是()?x=65535;printf(""%d/n"",x);
A

ASCII字符

B

65535

C

0

D

-1

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

第1题:

有下列程序,其中%u表示按无符号整数输出。 main() {unsigned int x=0xFFFF;/*x的初值为十六进制数*/ printf("%u\n",x); } 程序运行后的输出结果是( )。

A.-1

B.65535

C.32767

D.0xFFFF


正确答案:B
解析:“%u”格式符表示以十进制形式输出无符号整形变最。本题中无符号整形变量x=0xFFFF表示的是十六进制无符号整型变量的最大值65535,所以最后输出的结果为65535。

第2题:

若有定义: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的数值。

第3题:

设有定义: 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 。

第4题:

设int x=10,y=3,z;,以下语句的输出结果是______。printf("%d\n",z=(x%y,x/y));

A.1

B.0

C.4

D.3


正确答案:D

第5题:

设有定义: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。

第6题:

设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是()

A.x++;printf((“%d\n”,x);

B.n=++x;printf((“%d\n”,n);

C.++x;printf((“%d\n”,x);

D.n=x++;printf((“%d\n”,n);


正确答案:D
本题考察自增运算符,++x表示先将x值加1后再用,x++表示先使用x值,用后加1,所以本题中ABC选项都会输出x+1的值,只有D选项会输出x值。

第7题:

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

A.1

B.0

C.-1

D.2


正确答案:B

第8题:

若有下列定义(设int类型变量占2个字节): float x=123.4567; 则下列语句: printf("x=%5.2f",x); 输出的结果是( )。

A.x=123.46

B.123.4567

C.x=123.4567

D.123.46


正确答案:A
解析: 本题考查printf函数的格式。“%5.2f格式符中的“f”表示以带小数点的形式输出单精度或者双精度数;“5”表示指定数据输出宽度为5;“2”表示指定输出数据小数位占两位数,并对截去的第一位小数做四舍五入处理。

第9题:

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

A.随机值

B.0

C.x的地址

D.p的地址


正确答案:B
解析:由定义*p=&x,p指向x的地址,*p=x,因此输出的是x的值。

第10题:

设变量均已正确定义并赋值,以下与其他三组输出结果不同的一组语句是( )。

A.x++;printf("%dkn",x);

B.n=++x;printf("%d\n",n);

C.++x;printf("%d\n",x);

D.n=x++;printf("%6d\n",n);


正确答案:D
本题考查++运算操作符,当++在变量前面时,是先加l再赋值,当++在变量后面时,是先赋值再加l,所以答案选择D。

更多相关问题