早教吧作业答案频道 -->其他-->
C语言选择已知sizeof(int)的值为2,为将10!的值存储到变量f中(10!3628800),变量f的类型应声明为()A.longintB.intC.shortintD.unsignedintA若有声明“inti,k=1;unsignedj;”,则下列语句执行时会出现
题目详情
C语言选择
已知sizeof(int)的值为2,为将10!的值存储到变量f中(10!3628800),变量f的类型应声明为( )
A.long int
B.int
C.short int
D.unsigned int
A
若有声明“int i,k=1;unsigned j;”,则下列语句执行时会出现无限循环的语句是____A_____
A. for(j=15;j>0;j-=2) k++;
B. for(j=0;j<15;j+=2) k++;
C. for(i=0;i<15;i+=2) k++;
D. for(i=15;i>0;i-=2) k++;
这两题是这么做的啊?
"因为j为无符号整形,所以在j==1时,执行j-=2后,j会是一个大整数。因此会形成死循环。 ”是什么意思?
已知sizeof(int)的值为2,为将10!的值存储到变量f中(10!3628800),变量f的类型应声明为( )
A.long int
B.int
C.short int
D.unsigned int
A
若有声明“int i,k=1;unsigned j;”,则下列语句执行时会出现无限循环的语句是____A_____
A. for(j=15;j>0;j-=2) k++;
B. for(j=0;j<15;j+=2) k++;
C. for(i=0;i<15;i+=2) k++;
D. for(i=15;i>0;i-=2) k++;
这两题是这么做的啊?
"因为j为无符号整形,所以在j==1时,执行j-=2后,j会是一个大整数。因此会形成死循环。 ”是什么意思?
▼优质解答
答案和解析
第一题,sizeof(int) == 2 说明在当前平台或者编译器下,int型数据类型占2个字节,而10的阶乘的数存在两个字节中会溢出(2个字节能表示的最大整数为65536),所以需要存储在long int(4个字节)。而int(2个字节),short int(2字节或1字节),unsigned int(2字节)都不符题意。
第二题,因为j为无符号整形,所以在j==1时,执行j-=2后,j会是一个大整数。因此会形成死循环。
补充:
无符号整形只能表示正整数。
j==1,在计算机内存中的二机制表示为0x 00 00 00 01
j-=2后,j应该等于-1,在计算机中的表示为: 0x ff ff ff ff,这是采用补码表示方式。但由于j的类型为unsigned int,所以计算机会将0x ff ff ff ff转换成正整数4294967295(计算器算的)。这是j的值不会等于-1,而是等于 4294967295。
第二题,因为j为无符号整形,所以在j==1时,执行j-=2后,j会是一个大整数。因此会形成死循环。
补充:
无符号整形只能表示正整数。
j==1,在计算机内存中的二机制表示为0x 00 00 00 01
j-=2后,j应该等于-1,在计算机中的表示为: 0x ff ff ff ff,这是采用补码表示方式。但由于j的类型为unsigned int,所以计算机会将0x ff ff ff ff转换成正整数4294967295(计算器算的)。这是j的值不会等于-1,而是等于 4294967295。
看了 C语言选择已知sizeof(...的网友还看了以下:
如图所示电路,M、N是一对间距为d的平行金属板,且将N板接地.已知电源电动势E=36伏,内阻不计, 2020-04-26 …
将n只球(1至n号)随机地放进n只盒子(1至n号)中去,求E(X)将n只球(1至n号)随机地放进n 2020-05-13 …
一个不等式证明已知n∈N+,求证:(2n+1)^n≥(2n)^n+(2n-1)^n下面是我的证明, 2020-05-13 …
数学问题 将N表示成4个小于1的自然数之积已知N=88...8(1000个)00...0(10 2020-05-16 …
C语言编程:输入两个正整数m和n,求它们的最大公约数.提示:采用辗转取余算法.m除以n的余数为零, 2020-05-17 …
•已知文法G[Z]为:Z→aZb|ab求该文法确定的语言.•已知语言为:L(G)={abna|n≥ 2020-06-14 …
三、(每小题3分,共12分)阅读下面的文言文,完成9~12题。太宰问于子贡曰:“夫子圣者欤?何其多 2020-06-16 …
已知n∈N,数列{dn}满足dn=[3+(-1)的n次方]/2,数列{an}满足an=d1+d2+ 2020-07-09 …
已知n阶(n≥3)行列式丨A丨=a,将丨A丨中每一列减去其余所有各列得到的行列式记成丨B丨.证明: 2020-07-16 …
我国曾经著名的“三大荒”,如今已经变成了“三大仓”,下图是我国“三大荒地”分布示意图。读图,回答1〜 2020-11-08 …