字符型
来源:互联网 发布:js防水涂料1型和2型 编辑:程序博客网 时间:2024/04/29 21:16
字符型
字符主要是用来存储单个字母(大小写)、转义字符(‘\c’),因为char占据一个字节的内存空间,所以无法存储中文,在Windows系统中如果想要存储中文字符,可以使用wchar_t来存储,占据两个字节,如下应用案例所示。
#include <stdio.h>/* 字符和宽字符的案例 @author tony ittimeline@163.com @date 2017/11/19 11:10 @website www.ittimeline.net */void wchar_sample() { char en = 'I'; char zh = '中'; printf("zh=%c\n",zh); //char不能存储中文字符,这里会出现乱码 wchar_t val = L'我'; //宽字符 2个字节 printf("char占据的字节数量为%d\t wchar_t占据的字节数量为%d\n",sizeof(en),sizeof(val)); system("pause"); };
C语言提供了putchar和printf函数来实现字符的输出,如果在程序中输出字符,可以使用如下的应用案例实现。
#include <stdio.h>/* 打印字符的两种方式 @author tony ittimeline@163.com @date 2017 / 10 / 31 15:11 @website www.ittimeline.net*/void print_char() { char char_val = 'A'; putchar(char_val); printf("%c",char_val); printf("%d,%d",sizeof(char_val),sizeof('A'));}
而通过使用getchar()和putchar()函数就可以实现字符的输入输出,如下应用案例所示。
#include <stdio.h>/* 输入输出字符案例 @author tony ittimeline@163.com @date 2017/10/31 11:36 @website www.ittimeline.net*/void get_put_char_sample() { char input = getchar();//读取输入的单个字符 保存在字符变量input中 putchar(input);//打印单个字符 getchar();//等待输入任意字符退出程序 回车算是一个字符 getchar();//防止程序退出,再加上一个getchar()函数}
转义字符是以’\’开头,被赋予了特殊的含义的字符,常用的转义字符包括
路径转义
\n 换行
\t tab
\a 发声音
如下程序所示,是实现一个发声音的应用程序
#include <stdio.h>#include <Windows.h>/* 转义字符的使用案例 转义字符被赋予了特殊的含义,一般是以\开头的字符 常用的转义字符有\n,\t。分别实现换行和制表符的功能 @author tony ittimeline@163.com @date 2017/10/31 14:15 @website www.ittimeline.net*/void escape_character() { //c语言是使用0和非0来实现循环条件的判断 while (-1) //加上循环可以实现规律间隔的执行某段操作 { putchar('\a');//发声音 '\a' 是一个警告音,警告音不可过快的发出,否则无效 具体的警告音由操作系统和用户设置有关 Sleep(1000);//暂停一秒时间间隔执行采用线程睡眠函数Sleep();时间单位是毫秒 }}
日常开发中间最常用的就是路径的转义了,如下应用案例所示
#include <stdio.h>#include <stdlib.h>/* 转义字符的使用场景:路径转义 @author tony ittimeline@163.com @date 2017/11/11 17:17 @website www.ittimeline.net*/void convert_char() { //64位系统的x(86)路径前面需要增加空格 system("\"C:\\Program Files (x86)\\Tencent\\QQ\\Bin\\QQScLauncher.exe\""); getchar();}
计算机底层存储的都是数字,而存储字符时,实际上存储的是字符对应的编号,C语言中字符对应的编号由ASC||码表规定。
#include <stdio.h>/* 字符在内存中的存储 @author tony ittimeline@163.com @date 2017/11/19 11:36 @website www.ittimeline.net*/void char_store() { char ch = 'a'; printf("ch=%c\n",ch); printf("字符a对应的整数编码是%d\t,占据的字节数量为%d\n",ch,sizeof(ch)); char zero = '0'; printf("字符0对应的整数编码是%d\n", zero); char A = 'A'; printf("字符A对应的整数编码是%d\n", A);}
根据输出结果显示小写字母a对应的整数为97,大写字母A对应的整数为65,字符0对应的整数为48。
因此实现大小写的相互转换就非常简单了,如下应用程序所示。
#include <stdio.h>#include <stdlib.h>/* 大小写字符的转换 大写字母转换为小写字母 +32 小写字母转换为大写字母-32 @author tony ittimeline@163.com @date 2017 / 10 / 31 15:11 @website www.ittimeline.net*/void convert() { char upper = 'A'; char lower = upper + 0X20; //十六进制的20换算成十进制就是2*16^1=32 printf("大写字母%c对应的小写字母是%c\n",upper,lower); system("pause");
在日常开发中,字符串是使用频率最高的数据类型,C语言中的字符串使用可以通过字符数组或者是指针,不提供字符串相加的运算
#include <stdio.h>#include <stdlib.h>/* 字符串的使用案例 @author tony ittimeline@163.com @date 2017 / 10 / 31 15:11 @website www.ittimeline.net*/void str_opeartor() { //初始化一个字符串 字符串是以\0结尾 char str[5] = {'c','a','l','c','\0'}; printf("str占据的字节数量为为%d",sizeof(str)); system(str); system("pause");}
字符串的应用案例:加密解密,如下程序所示
#include <stdio.h>/* 字符串加密 @author tony ittimeline@163.com @date 2017/11/19/11:40 @website www.ittimeline.net*/void str_encryption() { //初始化一个字符串 字符串是以\0结尾 char str[5] = { 'c','a','l','c','\0' }; printf("加密之前str = %s\n",str); for (int i = 0; i < 5;i++) { str[i] += 1; } printf("加密之后str = %s\n", str); system("pause");}
阅读全文
0 0
- 字符型
- 字符型
- 字符型
- 字符数组和 字符型指针
- 字符数组与字符型指针变量
- 2.5 字符型数据(字符)
- 字符型转换
- 字符型数据
- 字符型常量
- 链式队列 字符型
- Qt 数型转字符型
- 排除型字符组
- 双字符型变量
- java字符型练习
- 阻塞型字符设备
- 字符型数据
- Java的字符型
- 字符型数据
- Android -- RecyclerView(超简单)实现可展开列表
- js数组常用操作方法汇总——entries
- 如何改变Redis用不好的误区
- 深入学习HBase架构原理
- oracle 递归查询
- 字符型
- 23.编程题、卖东西、日期提取、线程、数字
- 手记_老司机带你探讨java内部类_咕泡
- JavaScript之Object类型
- Spring MVC restful 路径小数点问题
- 24.网络、反射、数据库
- 笔记56 | 管理网络的使用
- 顺时针打印矩阵
- 英文学习20171221