C语言——基本数据类型(整型、字符型、浮点型)

C语言——基本数据类型(整型、字符型、浮点型)整数类型 int short long longlong unsigned char 和浮点数类型 float double longdouble 整型

大家好,欢迎来到IT知识分享网。

前言

按计算机的存储方式可分为两大基本类型:整数类型浮点数类型

一、整数类型

1.分类

类型 所占字节数
short int(或 short) 2
int 4
long int(或 long) 4(32位)、8(64位),规定 sizeof(int) >= sizeof(long)
long long int(或 long long) 8
unsigned int(或 unsigned) 4

2.取值范围

short:[-32768,32767]

int:[-,]

long:[-,](32位)

long long:[-,]

unsigned int:[0,]

3.打印

转换说明 打印的类型
%hd short
%ld long
%lld long long
%ho、%hx 八进制、十六进制打印 short
%lo、%lx 八进制、十六进制打印 long
%u unsigned int
%lu unsigned long

二、字符:char类型

用于存储字符

可以看成是一个字节的整形

1.数字和字母对应的 ASCII 码值

标准 ASCII 码的范围是 0~127

  • 0~9 ———— 48~57
  • A~Z ———— 65~90
  • a~z ———— 97~122
char ch1 = 'A';//'A'表示字符常量 char ch2 = 65;//这样写也表示字符A 

2.取值范围

有符号字符型:1000 0000(-128) —— 0111 1111(127)

无符号字符型:0000 0000(0) —— 1111 1111(255)

最高位(最左边)为符号位

3.打印:%c

三、浮点数类型

1.float 和 double

  • float:单精度浮点型,占据 4 字节;
  • double:双精度浮点型,占据 8 字节;
  • long double:长双精度浮点型,占据 8 字节或 16 字节;

浮点数的e计数法,如:1.23E7 表示 3.16×10⁷

浮点数的存储方式是分为符号部分、小数部分和指数部分的

注意:23、23.0、2.3E1,他们的值虽然都是 23,都是后两者是浮点型常量

存储: 8 位用于表示指数的值和符号,剩下的 24 位用于表示非指数部分及其符号

注意:浮点数赋给 int 型变量时,会直接截断小数部分,而不进行四舍五入

例如:

#include<stdio.h> int main() { 
    int num = 66.54; printf("%d\n", num);//66 //浮点数赋给 int 型变量时,会直接截断小数部分,而不进行四舍五入 return 0; } 

默认情况下,编译器假定浮点型常量是 double 类型的精度,浮点数后面加上 f 或者 F 后缀可将浮点数常量看作 float 类型,如float num1 = 2.34f; 或者 float num2 = 2.456E2F;,使用 l 或 L 后缀看作 long double 类型

2.打印浮点值

转换说明 打印的类型
%f float 和 double(十进制)
%a 或者 %A float 和 double(十六进制)
%e 指数计数法的浮点数
%lf long double

例如:

#include<stdio.h> int main() { 
    float num = 1234.56; printf("%%f ----> %f\n\n", num); printf("%%e ----> %e\n", num); printf("%%E ----> %E\n\n", num); printf("%%a ----> %a\n", num); printf("%%A ----> %A\n", num); return 0; } 

(%a)对十六进制浮点数的打印,对比十进制,用 p 和 P 分别代表 e 和 E,用 2 的幂代替 10 的幂(p 计数法)

运行结果:

在这里插入图片描述

分别以 %.3f、%8.3f、%-8.3f、%08.3f 的方式打印

  • %.3f 的 “.3” 表示打印的浮点数小数点后保留3位,且第三位四舍五入
  • %8.3f 的 8 表示打印的浮点数宽8字符右对齐(小数点也算在内)
  • %-8.3f 的 负号表示打印的结果左对齐
  • %08.3f 的 0 表示右对齐 8 字符宽后,前面的空位补 0

例如:

#include<stdio.h> int main() { 
    float num = 56.03478; printf("%f\n", num); printf("%.3f\n\n", num); printf("%6.3f\n", num); printf("%8.3f\n", num);//宽8字符右对齐,小数点后保留3位,且第三位四舍五入,负号表示左对齐 printf("%-8.3f\n\n", num);//负号表示左对齐 printf("%08.3f\n", num);//08.3 首位的 0 表示右对齐 8 字符宽后,前面的空位补 0 return 0; } 

运行结果:

在这里插入图片描述

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/125832.html

(0)
上一篇 2025-09-23 19:45
下一篇 2025-09-23 20:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信