【C语言_4】字符类型常量与变量
原创
©著作权归作者所有:来自51CTO博客作者秃头程序媛的原创作品,请联系作者获取转载授权,否则将追究法律责任
一、字符常量
#include<stdio.h>
int main()
{
printf("HelloWorld");//HelloWorld是字符串,是由字符组成的
return 0;
}
1.字符常量是由单引号包括
‘a' 'b' 'c' '1' '2' '3'都是字符常量
字符常量通常只有一个字符
多个字符用字符串表示
2.如何用单个字符输出HelloWorld?
//错误示范
#include<stdio.h>
int main()
{
printf("H");
printf("e");
printf("l");
printf("l");
printf("l");
printf("o");
printf("W");
printf("o");
printf("r");
printf("l");
printf("d");
return 0;
}//用双引号包括的仍然是字符串
那么直接改成单引号可以吗?
不行,编译会报错。
因为printf的第一个参数必须是字符串。
#include<stdio.h>
int main()
{
printf("%c%c%c%c%c%c%c%c%c%c",'H','e','l','l','o','W','o','r','l','d');
}
//占位符:整数类型%d,浮点类型%f,字符类型%c
运行结果:
3.字符类型占用字节
//用c编译器运行;将字符常量看作
#include<stdio.h>
int main()
{
printf("a=%d\n", sizeof('a'));
printf("b=%d\n", sizeof('b'));
printf("c=%d\n", sizeof('c'));
return 0;
}
运行结果:
//用c++编译器运行
#include<stdio.h>
int main()
{
printf("a=%d\n", sizeof('a'));
printf("b=%d\n", sizeof('b'));
printf("c=%d\n", sizeof('c'));
return 0;
}
运行结果:
二、字符变量
1.字符变量占用字节
#include<stdio.h>
int main()
{
char n='A';
printf("char=%d\n",sizeof(char));
printf("n=%d\n",sizeof(n));
return 0;
}
运行结果:
三、整数与字符关系
#include<stdio.h>
int main()
{
printf("%d %d %d",'a','b','c');
//s使用整型占位符进行打印
return 0;
}
运行结果:
1.字符类型是整型类型?
是的,因为字符型变量在内存中是用ASCII值保存的,也就是说是以整型形式保存的。ASCII表有128个字符,所以只要一个字节就可以表示所有的ASCII字符了。所以字符型变量占1个字节的空间。
2.ASCII
图片来自百度
3.例题
定义一个字符变量letter,将其初始化为大写字母A,通过ASCII中的关系,将大写字母A,转化为小写字母a,并将小写字母a打印出来。
#include<stdio.h>
int main()
{
char letter='A';
letter=letter+32;
printf("%c",letter);
return 0;
}
运行结果: