将长整型(long)数据转换为较短的整数类型(int)数据,要进行()

题目
单选题
将长整型(long)数据转换为较短的整数类型(int)数据,要进行()
A

类型的自动转换

B

类型的强制转换

C

无需转换

D

无法实现

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

第1题:

VB中数据类型Long表示长整型,占( )字节。

A.4

B.2

C.8

D.16


正确答案:A

第2题:

下列关于自动类型转换的说法中,正确的是( )。

A.int类型数据可以被自动转换为char类型数据

B.char类型数据可以被自动转换为int类型数据

C.boolean类型数据不可做自动类型转换,但是可以做强制类型转换

D.long类型数据可以被自动转换为short类型数据


正确答案:B
解析:根据自动类型转换的优先级顺序,int类型的数据不可以自动转换为char类型数据,long类型也不可以自动转换为short类型,boolean的值只有true和false两个值,不能做类型转换,包括自动和强制。

第3题:

将较长的数据类型转换为较短的整数类型,要进行( )。

A.类型的自动转换

B.类型的强制转换

C.无需转换

D.无法实现


正确答案:B

第4题:

● 在C程序中,若表达式中的算术运算对象的类型不同,则需要先统一为相同类型后再进行计算。例如,表达式“a-b”中,若a是双精度浮点型变量,b是整型变量,为了尽可能保证运算精度,通常进行的处理是 __ 。

A.读取b的值并转换为双精度浮点型数据,然后进行两个浮点数的相减运算,变量a的值不变

B.读取a的值并转换为整型数据,然后进行两个整数的相减运算,变量b的值不变

C.将b重新定义为双精度浮点型变量(其值自动转换为双精度型数据),再进行两个浮点数的相减运算

D.将a重新定义为整型变量(其值自动转换为整型数据),再进行两个整数的相减运算


正确答案:A
在C程序中,若表达式中的算术运算对象的类型不同,为了保证运算精度,应该将精度较小的向精度较大的靠拢,因此在本题中,应该将b的值并转换为双精度浮点型数据,然后进行两个浮点数的相减运算,而a的值不变。参考答案A

第5题:

阅读以下说明和c函数,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明】

c语言常用整型(int)或长整型(1ong)来说明需要处理的整数,在一般情况下可以满足表示及运算要求,而在某些情况下,需要表示及运算的整数比较大,即使采用更长的整型(例如,long long类型,某些c系统会提供)也无法正确表示,此时可用一维数组来表示一个整数。假设下面要处理的大整数均为正数,将其从低位到高位每4位一组进行分组(最后一组可能不足4位),每组作为1个整数存人数组。例如,大整数2543698845679015847在数组A中的表示如下(特别引入-1表示分组结束):

在上述表示机制下,函数add_large_number(A,B,c)将保存在一维整型数组A和B中的两个大整数进行相加,结果(和数)保存在一维整型数组c中。

【c函数】

Void add_large_number(int A[], int B[], int c[])

{

int i,cf; /*cf存放进位*/

int t,*p; /*t为临时变量,p为临时指针*/

cf= ( 1) ;

for(i=0 ; A[i]>-l&&B[i]>-1;i++){

/*将数组A、B对应分组中的两个整数进行相加*/

t=(2) ;

C[i]=t%i0000;

cf= (3) ;

}

if( (4))P=B;

else P=A;

for(;P[i]>-1;i++){/*将分组多的其余各组整数带进位复制入数组C*/

C[i]=(p[i]+cf)%i0000; cf=(p[i]+cf)/10000;

}

if(cf>0) C[i++]=cf;(5)=-1; /*标志”和数”的分组结束*/


正确答案:(1)0 (2)A[i]+B[i]+cf (3)t/10000 (4)A[i]==-l或B[i]>-1(5)C[i]
(1)0 (2)A[i]+B[i]+cf (3)t/10000 (4)A[i]==-l或B[i]>-1(5)C[i] 解析:题目用整型数组表示大数组,一个数组元素表示4位的整数。在这种表示方式下进行两个大整数的相加运算时,需要对进位的处理多加考虑。已知cf表示进位情况,那么在开始进行相加之前,cf的初始值应该为O,所以空(1)的答案为“O”。大家都知道在进行加法操作的时候,需要从个位开始进行对齐然后从末位进行相加。对于保存在整型数组中的大整数,我们从最低位A[0]和B[0]开始相加,并且根据程序中c[i]=t%10000对t的使用,可以推断出空(2)的答案为“A[i]+B[i]+cf”。需要注意的是,在进行运算的同时,需要对前面相加产生的进位cf进行相加,同时也要计算出此次相加产生的进位,所以空(3)进位的计算的答案应该为“t/10000”。但是每次进行相加的两个整数的位数不一定相同,对于位数比较长的那个整数,我们应该把相加之后剩余的位数连带进位记录下来,保存到数组c中的对应位置,从程序中可以看出临时指针p指向的是位数比较长的这个数组。根据题目中的两个for循环设置的满足循环的条件可以看出如果数组中的整数已经相加结束,肯定满足A[i]==-1否则B[i]==-1,所以空(4)处的判断条件应该为“A[i]:=-1”或者“B[i]>-l”。当两个整数相加之后会产生进位,新的数据的位数可能会比原来的长,这时候我们就需要把多出来的这一位(即最后一次相加产生的进位)作为和数来进行处理。函数在最后用一个if语句对这种情况进行了处理,而空(5)的语句应该是对存放相加之和的数组设置结束标志,所以空(5)的答案为c[i]。

第6题:

自定义类型转换是由按优先关系从低级数据转换为高级数据,优先次序为( )。

A.char-int long-folat-double

B.int-Iong-float-double-char

C.long-float-int-double-char

D.以上都不对


正确答案:A

第7题:

下列关于自动类型转换的说法中,正确的一个是______。

A.int类型数据可以被自动转换为char类型数据

B.char类型数据可以被自动转换为int类型数据

C.long类型数据可以被自动转换为short类型数据

D.boolean类型数据不可以做自动类型转换,但是可以做强制转换


正确答案:B
解析:根据自动类型转换的优先级顺序,int类型不可以自动转换为char类型,long类型也不可以自动转换为short类型,boolean只有true和false两个值,不能做类型转换,包括自动和强制。

第8题:

VB中的数据类型Long表示( )

A.布尔型

B.整型

C.字符串型

D.长整型


正确答案:D

第9题:

Java语言中数据类型之间的自动类型转换是由优先关系从低级数据类型转换成高级数据类型,下面选项中自动类型转换优先级由低到高排列正确的是

A.char→long→int→double→float

B.char→int→long→double→float

C.char→int→long→float→double

D.char→int→float→double→long


正确答案:C
解析:自动类型转换是按优先关系从低级数据转换成高级数据,规定的优先次序是char→int→long→float→double。对自动类型转换的优先关系不了解。

第10题:

下列关于类型转换的说法中,正确的是( )。

A.将较长的数据类型转换为较短的数据类型可以用自动类型转换

B.将较长的数据类型转换为较短的数据类型只能用强制类型转换

C.强制类型转换可以保证数据完整性

D.boolean类型数据只能和int类型进行强制类型转换


正确答案:B
解析:自动类型转换是系统按照优先级顺序表进行的,强制类型转换会导致多出来的那部分数据丢失。Java语言中boolean类型数据不能做类型转换。

更多相关问题