【C语言】第二章 信息编码与数据类型 题解

it2024-04-04  66

第二章 信息编码与数据类型

1.略

2.略

3.略

4.略

5.略

6.略

7.答案如下: (1)合法标识符:Long、int_a、sum、x001、computer、AGE、_print、nCount、fun_array、If、main、for_int、Float (2)关键词:switch、while、struct (3)其他不合法标识符:10_1010(数字开头所以不对)、1_abc(数字开头所以不对)、union age(包含空格所以不对)、“string”(包含引号格所以不对)

8.运行结果:2147483647, -2147483549 解读:int最大值为2^31-1,即2147483647,所以a就是MAX_INT,其二进制补码为01111111111111111111111111111111,加100(00000000000000000000000001100100)等于10000000000000000000000001100011,这是补码,反码为10000000000000000000000001100010,原码为11111111111111111111111110011101,即-(2147483647-64-32-2)=-2147483549。

9.运行结果:2200000000, -2094967296 解读:int最大值为2^31-1,即2147483647;unsigned int最大值为2^32-1,即4294967295。2147483647<2200000000<4294967295,其无符号二进制是10000000001000010101011000000000,转为int后10000011001000010101011000000000被认为是补码,其反码为10000011001000010101010111111110,对应原码为11111100110111101010101000000001,十进制为-(2147483647-33554432-16777216-2097152-65536-16384-4096-1024-256-128-64-32-16-8-4-2-1)=-2094967296。

10.解析如下: (1)正确 (2)错误,类型不匹配 (3)错误,不同类型变量的声明不能用逗号运算符分隔 (4)错误,应该写成int a = 10, b = 10; c = 10;或者int a,b,c; a=b=c=10; (5)错误,不能将字符串赋值给字符类型变量 (6)正确,写成l也行,但L更容易分辨 (7)正确 (8)错误,类型不匹配 (9)正确,只不过x并没有被赋值 (10)正确,这两种写法都是OK的

Chapter03 基本运算与顺序结构

返回索引页

最新回复(0)