值域范围及转义字符

1、bool _Bool (布尔类型 真 true 假 false ) 1字节

注意:

布尔常量: true false 占 4个字节
布尔类型 要添加 #include<stdbool.h>

2、数据类型的值域范围
signed char -128~127
unsigned char 0~255
unsigned short 0~65535
unsigned int 0~4294967295

unsigned char a = 257; // 0-255
char b = 129 // b =

printf(“a:%hhu\n”,a); //a == 1 //%u —>int %hu half int %hhu half half int
printf(“b:%hhd\n”,b); //b:-127

注意:
1) %u 打印的时候, 值域的范围: unsigned int 0-4294967295
2) %hhu 打印的时候, 值域的范围: unsigned char 0-255

(1)unsigned char a = 255; // 0 - 255
char b = 255; // -128 ~ +127
printf("%d %u\n",a,a); // 255 255
printf("%d %u\n",b,b); // -1 4294967295

(2)unsigned short a = -1; // 0-65535
int b = a; //65535
printf("%d\n",b);// 65535

(3)unsigned char a = -1; //0-255 a—>255
unsigned int b = -1; // 0- 4294967295
printf("%d %u\n",a,b); //a = 255 b =4294967295

3、转义字符

所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。它告诉编译器需要用特殊的方式进行处理。

    '\ddd' ddd表示1到3位八进制数,打印效果为该数字对应的ASCII字符,如: '\34'==>'('
    '\xhh' hh表示1到2位十六进制数,打印效果为该数字对应的ASCII字符,如: '\x22' ==>'"'

	'\n'   换行
	'\t'   横向跳格(Tab)
	'\r'   回车,返回行首
	'\\'   反斜杠
	'%%'   %

#include<stdio.h>

int main(int argc,char*argv[])
{
int a;

scanf("%d",&a);

printf("%c\n",a);

return 0;

}
结果
china@ubuntu:/mnt/hgfs/share$ gcc 66.c -o 66
china@ubuntu:/mnt/hgfs/share$ ./66
33
!
注意:041 33 21 !
八进制 十进制 十六进制 ASCII码
这程序只能输入十进制数得出对应的ASCII码
而‘\41’\后面默认八进制和十六进制要想的出!则要输入八进制和十六进制

#include<stdio.h>

int main(int argc,char*argv[])
{
int a=’\41’
printf(“a=%c”,a);
return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值