C语言面试题及详细答案.docxVIP

  • 6
  • 0
  • 约1.27万字
  • 约 17页
  • 2026-04-26 发布于河北
  • 举报

C语言面试题及详细答案

一、基础语法题(共5题,侧重实际应用)

1.题目:简述C语言中int、char、float、double四种基本数据类型的大小(32位系统)及取值范围,说明为什么不能用char类型直接存储大于127的数值?

答案:

32位系统下,四种基本类型的大小及取值范围如下:

int:4字节,取值范围-231~231-1(-2147483648~2147483647);

char:1字节,默认分为有符号(signedchar)和无符号(unsignedchar),默认通常是signedchar,取值范围-128~127;unsignedchar取值范围0~255;

float:4字节,取值范围约±3.4×10?3?~±3.4×103?(精度6~7位有效数字);

double:8字节,取值范围约±1.7×10?3??~±1.7×103??(精度15~16位有效数字)。

不能用char类型直接存储大于127的数值,核心原因是:默认的signedchar最高位是符号位(0表示正数,1表示负数),剩余7位表示数值,最大能表示的正数二进制),对应十进制127。若存储大于127的数值(如128),二进制此时符号位为1,会被解析为负数(-128),导致数值溢出、存储错误。若需存储0~255的数值

文档评论(0)

1亿VIP精品文档

相关文档