C语言学习-char型数据
字符型数据
1.1字符型常量
用单引号括起来的一个字符型常量,且只能包含一个字符,例如'a'、'A'、'1'、' '是正确的字符型常量,而'abc'、"a"是错误的字符型常量。转义字符也是一种字符型常量,以“\”开头的特殊字符称为转义字符。各种转义字符及其作用如表:
转义字符 | 作用 |
---|---|
\n | 换行 |
\b | 退格 |
\x2 | 反斜杠 |
1.2字符型变量
Markdown更多语法
Markdown图片链接生成方法
一个字符型常量存放到一个字符型变量中时,实际上并不是把该字符的字型放到内存中,而是把该字符的ASCII码值放到存储单元中。如图所示,在计算机中存储的只是二进制的数据,当我们要输出字符'a'时,实际上计算机是从ASCII码表中查找对应的字符。
printf("%c\n",'a');
和printf("%c\n",97);
效果完全一致。对于字符型变量,无论是赋ASCII码值还是赋字符,使用%c打印输出时得到的都是字符,使用%d打印输出时得到是都是ASCII码值。
例如,将小写字母转换为大写字母时,由ASCII码表发现小写字母与大写字母差值为32,因此将a减去32就可以得到大写字母A。
#include<stdio.h> int main() { char c, d; c = 97; d = 'a'; printf("c=%c,d=%c\n", c, d);//打印都是字母a printf("c=%d,d=%d\n", c, d);//打印都是97 c = c - 32; //小写字母转大写字母 printf("c=%c\n",c); //打印字母A return 0; }
1.3 字符串型常量
字符串型常量是一对双引号括起来的字符序列,例如"CHINA"、"a"等都是合法的字符串型常量,但注意,'a'是字符型常量,而"a"是字符串型常量,两者是不同的。C语言中没有定义字符串变量的关键字。
1.4 多种数据类型混合输入
当我们让scanf函数一次读取多种类型的数据时,对于字符型数据要格外小心,因为当一行数据中存在字符型数据读取时,读取的字符并不会忽略空格和'\n'(回车符),所以使用方法为scanf("%d %c%f",&i, &c, &f);
。编写代码时,我们需要在%d和%c之间加入一个空格。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具