short bi;bi= 0x12345678Lbi等于多少short a = 1000;char b = 'A';long c;c = a + b;c等于多少?int ai;ai = 2.56;ai等于多少?double x;x = 1;x等于多少?请解释一下,谢谢!尤其是第一二个题,不要只写答案了
上面的x = 1.000000000000000 才对 补充:首先short是短整型,所占字节数是2(表示的范围为-32768~32767)bi是从16进制的长整型转换而来的,在内存中会截取后16位(0101011001111000)转化成10进制,即22136至于第二个因为short和char都在long的表示范围内,相加即可,A的ASCII码为65,故c=1065
你要知道,c语言是一个强类型的语言,也就是说当类型不匹配的时候通常情况下不用特别说明,系统都可以自动进行转换。比如当你把一个字符型的变量赋给一个整形时,系统会得到该字符的asc码值(数据在内存当中都以asc码的二进制形式保存),然后将该值赋给整形变量。当然,必要的时候需要你自己给出转换的方式,就是把数据转换成什么类型。
bi = 0x5678 (16进制)= 22136(10进制); 长整形到short截取后面两个字节.c=1065; 这个应该没有悬念,直接加就可以了. 'A'的ASCII码是65.ai=2; 因为变量类型是int, 所以浮点数转换为整数是取整, 注意,不是四舍五入.x=1.000,后边几个0是显示位数决定的.