C语言—char类型

作者:追风剑情 发布于:2019-7-18 22:22 分类:C

示例


#include <stdio.h>
int main(void)
{
	//美国最常用的是ASCII编码
	//其他国家的计算机系统可能使用完全不同的编码
	//标准ASCII码的范围是0~127,只需7位二进制数即可表示。
	char c = 'A';
	char c_ASCII = 65; //'A'
	//用%c打印字符,用%d打印字符对应的ASCII码
	printf("c=%c=%d c_ASCII=%c=%d \n", c, c, c_ASCII, c_ASCII);

	char c1 = 'ABC';//只会存储最后一个字符'C'
	printf("c1=%c \n", c1);

	//非打印字符,如下面的蜂鸣字符
	char beep = '\a';
	char beep_ASCII = 7;//十进制
	//用八进制ASCII码表示时,可以省略前面的0
	char beep_ASCII_0 = '\7';//八进制表示的字符'\7','\07','\007'
	char beep_ASCII_x = '\x7';//十六进制表示的字符'\x7','\x07','\x007'
	printf("beep=%c, beep_ASCII=%c, beep_ASCII_0=%c, beep_ASCII_x=%c \n", 
		beep, beep_ASCII, beep_ASCII_0, beep_ASCII_x);

	//A=65=\101,用转义序列表示可以嵌入到字符串中
	printf("ASCII char=\101 \n");

	//有些编译器把char实现为有符号类型,这意味着char可表示的范围是-128~127
	//有些编译器把char实现为无符号类型,这意味着char可表示的范围是0~255
	//编译器如何实现char类型,可查阅limits.h头文件

	//根据C90标准,C语言允许关键字char前面使用signed或unsigned
	//用char类型处理小整数时很有用
	signed char sc = -1;
	unsigned char usc = 2;
	printf("sc=%d, usc=%d", sc, usc);

	getchar();
	return 0;
}


运行测试

1111.png

整型常量的例子
类型 十六进制 八进制 十进制
char \0x41 \0101 N.A.
int 0x41 0101 65
unsigned int 0x41u 0101u 65u
long 0x41L 0101L 65L
unsigned long 0x41UL 0101UL 65UL
long long 0x41LL 0101LL 65LL
unsigned long long 0x41ULL 0101ULL 65ULL

示例:字符数组

#include <stdio.h>
#include <stdint.h>
//引入bool类型,C99标准新增
#include <stdbool.h>
#include <windows.h>
#include <string.h>

#define PRAISE "Your name is"

int main(void)
{
	char arr[4] = {'a', 'b', 'c', '\0'};
	printf("arr=%s\n", arr);

	char name[4];
	printf("What's your name?\n");
	//最多读取3个字符存储到name中,留1个位置存放'\0'
	scanf_s("%s", name, 4);
	printf("%s %s \n", PRAISE, name);

	fflush(stdin);//清除缓冲区
	while (getchar() != 10);
	getchar();
	return 0;
}

运行测试
1111.png
输入字符大于等于数组长度的话将不会赋值给name
222.png

标签: C语言

Powered by emlog  蜀ICP备18021003号   sitemap

川公网安备 51019002001593号