c打印无符号整数_第三章数据和C

博客介绍了C语言中变量和常量数据的概念,包括位、字节和字等存储单位。说明了变量声明、初始化的注意事项,以及printf()函数使用要点。还介绍了八进制、十六进制的表示和打印方式,不同整数类型的范围,无符号数值的表示,字符类型存储,以及浮点值上溢和下溢情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

155ce8c99a5a2b3196682e9200f0cd66.png

变量和常量数据

常量:预先设定好的数据,在整个程序运行过程中没有变化。

变量:程序运行期间可能会被赋值或改变

d759815adee49ae19e2254028e40a93c.png

位、字节和字:描述计算机数据单元或存储单元的术语

最小的存储单元是位(bit),可以存储0或1。虽然1位存储的信息有限,但计算机中位的数量十分庞大。位是计算机内存的基本构建块。

字节(byte)是常用的计算机存储单位。对于几乎所有的机器,1字节均为8位。这是字节的标准定义,至少在衡量存储单位时是这样。既然1位可以表示0或1,那么8位字节就有256种可能的0、1组合。通过2进制编码,便可表示0-255的整数或一组字符。

字(word)是设计计算机时给定的自然存储单位,对于8位的微型计算机,1个字长只有8位。从那以后,个人计算机字长增至16位、32位,直到目前的64位。计算机的字长越大,其数据转移越块,允许的内存访问也更多。

初始化的变量和未初始化的变量最好不要放在同一条声明中

声明:为变量创建和标记存储空间,并为其指定初始值。

使用printf()函数时,要确保转换说明的数量与待打印值的数量相等。

8进制:前缀为0;16进制:前缀为0x或0X

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int x = 100;


    printf("dec = %d; octal = %o; hex = %xn",x,x,x);
    printf("dec = %d; octal = %#o; hex = %#xn",x,x,x);
    return 0;
}

打印八进制:%o或%#o,%#o会显示前缀

打印16进制:%x或%#x,%#x会显示前缀

int:范围:[-32767,32767],占16位或32位

short int / short类型:占用的存储空间可能比int少,适用于较小数值的场合以节省空间,为有符号类型,范围:[-32767,32767],占16位

long int / long类型:占用的存储空间可能比int多,适用于较大数值的场合,为有符号类型,范围:[-2147483647,2147483647],占32位

long long int / long long占用的存储空间可能比long多,适用于更大数值的场合,为有符号类型,范围:[-9223372036854775807,9223372036854775807],占64位

无符号数值在前面加unsigned : unsigned short/unsigned int 最小取值范围是[0,65535],unsigned long 最小取值范围是[0,4294967295],unsigned long long 的最小取值范围是[0,18446744073709551615]

打印:

f9174c359338211168247814bb17bb58.png

char类型用于存储字符(如字母或标点符号)

字符常量:用单引号括起来的单个字符;

注:用双引号的话编译器会认为是字符串。

37680c31d859e1af02aca81400422a87.png

0f2ef1af2f5f2ae6e91d1c1a300dfed9.png

e95091c1ce7fb8c73b3468d9416a5ab9.png
/* 可移植整数类型名*/

74ac9e22a8c7edb78c016513ea7f8080.png
float ,double,long double

1350bced62eda5a053e14ad6954df61f.png

浮点值上溢(overflow):当计算导致数字过大,超出当前类型能表达的范围时,就会发生上溢。显示该值为inf或infinity

浮点值下溢(underflow):float数以指数和尾数来存储,在计算过程中损失了原末尾有效位上的数字。

f587a87c4136bd23f5de3f130ef6ba63.png

475a38eef62dbad229a99275ccf7c192.png

680456bac5231d75d9564ed009757318.png

8862d71c6b911de89574441d1a2fd6df.png

e6adb7f73351a81b633800c3fc733998.png

0c6a6c3e1148995afbe8d3da951d84c9.png

e80d8aee2c29cffbed0ef65ae4d7ea9f.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值