题目 请计算90的十六进制形式请计算-90的十六进制形式char型数据在微机中存储值为0xc0,则printf以%d打印值为int a = 10, b = 20;要求编写一段程序,结束后,a = 20, b = 10(三杯水交换) 答案 1. 请计算90的十六进制形式 十进制数90的二进制数为 0b 0101 1010 故其对应的十六进制数为 0x5A 2. 请计算-90的十六进制形式 十进制数90的二进制数为 0b 1101 1010 其反码为 0b 1010 0101 补码为 0b 1010 0110 故其对应的十六进制数为 0xA6 3. char型数据在微机中存储值为0xc0,则printf以%d打印值为 十六进制0xc0的二进制为0b 1100 0000 char型有符号位,故其为负数,其为补码 %d为10进制输出,其输出为原码输出, 0xc0的原码为 0b 1100 0000 故其以%d打印的值为-64 4. int a = 10, b = 20;要求编写一段程序,结束后,a = 20, b = 10(三杯水交换) #include<stdio.h> int main() { int a = 10, b = 20; //定义交换变量 printf("a = %d, b = %d\n", a, b) int c = 0; //定义中间变量 c = a; //开始交换 a = b; b = c; printf("a = %d, b = %d\n", a, b) //交换结束输出 }