字符常量
#define _CRT_SECURE_NO_WARNINGS // 去掉安全检查
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
/*
字符常量
定义:用单引号括起来的单个普通字符或转义字符.
普通字符指大小写字母和数字
*/
putchar('A');
putchar('B');
putchar('C');
putchar('\n'); // 换行
putchar('\t'); // 制表
putchar('1');
putchar('2');
putchar('3');
putchar('A');
putchar('B');
putchar('C');
putchar('\\'); // 单斜杠
putchar('\"'); // 双引号
putchar('\''); // 单引号
putchar('\a'); // 响铃
putchar('\x41'); // 十六进制41对应十进制65,对应字符A
putchar('\101'); // 八进制101对应十进制65,对应字符A,可以通过这种方式找到字符打印出来
putchar('\x42'); // 十六进制42对应十进制66,对应字符B
putchar('\102'); // 八进制102对应十进制66,对应字符B
system("pause");
return 0;
}
字符串常量
字符常量与字符串常量
#define _CRT_SECURE_NO_WARNINGS // 去掉安全检查
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
/*
字符串常量
定义:
用双引号括起来的字符序列,如: “hello,world” “A” “”
每个字符串尾自动加个‘\0’作为字符串结束标志
*/
printf("hello, world\n");
// 每个字符串尾自动加个‘\0’作为字符串结束标志,空字符串有一个‘\0’字符,所以占一个字节
printf("%d\n",sizeof(""));
// 有一个字符1,加一个\0组成一个字符串,占两个字节
printf("%d\n", sizeof("1"));
char ch = 'A'; // 'A'纯粹就是一个字符
//char bc = "A"; // 字符A加/0组成字符串,占两个字节
system("pause");
return 0;
}
#include<stdio.h>
// 字符方式实现hello
int main() {
printf("hello\n");
putchar('h');
putchar('e');
putchar('l');
putchar('l');
putchar('o');
printf("\n");
// ASCII码
putchar(104);
putchar(101);
putchar(108);
putchar(108);
putchar(111);
printf("\n");
// 八进制
putchar('\150');
putchar('\145');
putchar('\154');
putchar('\154');
putchar('\157');
printf("\n");
// 十六进制
putchar('\x68');
putchar('\x65');
putchar('\x6c');
putchar('\x6c');
putchar('\x6f');
return 0;
}
字符‘1’和整数1的区别
#include<stdio.h>
// 字符1与整数1的区别
int main() {
// 字符’1’只是代表一个形状为’1’的符号,在需要时按原样输出,在内存中以ASCII码形式存储,占1个字节
char ch = '1'; // 16进制:31 二进制:0011 0001
// 整数1是以整数存储方式(二进制补码方式)存储的,占2个或4个字节
short sh = 1; // 16进制:0001 二进制: 0000 0000 0000 0001
// 字符占一个字节,短整数占两个字节
printf("%d, %d\n", sizeof(ch), sizeof(sh));
printf("%x, %x\n", &ch, &sh);
// 字符1按照%d也就是求字符的编号,ASCII码49;按照%c就是求该字符本身,也就是'1'
printf("%d, %c\n", ch, ch);
// 整数1按照%d就是整数1,按照%c就是求编号为1的字符
printf("%d, %c\n", sh, sh);
return 0;
}
image.png
#include<stdio.h>
// 字符变量的计算
int main() {
char ch = 'A';
// %c就是按字符方式打印,%d就是按字符的ASCII码打印
printf("%c, %d\n", ch, ch);
// 字符型变量在内存中占一个字节,由于存储的是字符的二进制ASCII码,与整型存储方式类似,
// 因此字符型变量和整型数据可以相互运算
ch = ch + 1; // ch是字符'A',对应整数65,65+1=66,66对应字符'B'
printf("%c, %d\n", ch, ch);
return 0;
}
网友评论