c语言long int表示范围_C语言编程第9讲——这些C语言整数类型的知识点你掌握了吗...

d58da73ec0184faafddce20b05633d06.png

1、char其实是一种整数类型

在C语言中,字符使用整数来表示。

例如下面的代码:

#include int main(){    char letter = '2';    printf("Letter is %d.", letter);    return 0;}

在编译后运行的结果是:

Letter is 50.

解释:

对于语句char letter = '2';和char letter = 50;在计算机看来,是完全相同的意思。

字符对应的整型值,在ASCII中定义。

ASCII:American Standard Code for Information Interchange,美国信息交换标准代码,用于定义拉丁字母的计算机编码。

ASCII定义了128个字符对应的整数表示,取值范围为0-127。

c878e432824962ad0f285c55f92e1464.png

2、我们使用的char、short、int、long类型,可以认为是省略了signed前缀的类型

例如下面的程序:

#include int main(){    signed char letter = 'a';    signed short shortValue = 12;    signed int intValue = 80000;    signed long longValue = 987654321;    printf("letter is %d.", letter);    printf("shortValue is %d.", shortValue);    printf("intValue is %d.", intValue);    printf("longValue is %ld.", longValue);    return 0;}

程序编译后运行的结果为:

letter is 97.shortValue is 12.intValue is 80000.longValue is 987654321.

解释:

(1)signed表示后面的char、short、int、long为有符号类型;

(2)对于有符号类型的char、short、int、long,signed可以省略。

18d28e08be33daebcc32c9e51e108ba4.png

3、char、short、int、long类型,如果加上unsigned前缀,表示无符号类型

下面是定义无符号类型整数的方法:

    unsigned char letter = ‘8’;    unsigned short shortValue = 12;    unsigned int intValue = 80000;    unsigned long longValue = 987654321;

4、整数在计算机中用补码表示

补码表示规则:

对于无符号整数,用二进制表示整数时,所有bit均表示数值;

对于有符号整数,用二进制表示整数时,第一个bit为0表示正数,第一个bit为1表示负数。

例如,将0xFF赋值给unsigned char类型,表示255:

程序#include int main(){    unsigned char charValue = 0xFF;    printf("charValue is %d.", charValue);    return 0;}编译后运行结果为:charValue is 255.

将0xFF赋值给char类型,表示-1:

程序#include int main(){    char charValue = 0xFF;    printf("charValue is %d.", charValue);    return 0;}编译后运行结果为:charValue is -1.
56b222ef74042e9b3b12a09dfb041c69.png

5、short类型可以用short int表示,long类型可以用long int表示

例如:

程序#include int main(){    short int shortValue = 123;    long int longValue = 98765;    printf("shortValue is %d.", shortValue);    printf("longValue is %ld.", longValue);    return 0;}编译后运行的结果为:shortValue is 123.longValue is 98765.

因此:

signed short int 等价于short int,也等价于short

unsigned short int 等价于unsigned short

396ffafde4330be29e2a29af87fc767c.png
相关资源:c语言知识点总结
已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页