版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章 字符型数据,国际上通用的字符包括:大小写的英文字母、运算符、标点符号、十进制的数字符号,还有不可打印的控制符号,总共不超过128个,在计算机中只需要用7位二进制数就可以对这些字符进行编码,称之为字符的二进制编码。,6.1 字符型常量,字符常量 C语言中的字符常量是一对单引号括起来 的一个字符,以便和标识符区别开。如a, A, *, 9都是字符常量。 记:A的ASCII值为65,八进制为101 a的ASCII值为97,八进制为141 0的ASCII值为48,八进制为60 空格的ASCII值为32,八进制为40,说明:,(1)单引号中的大写字母和小写字母代表不同的字符常量,例如,B和b是不
2、同的字符常量。 (2)单引号中的空格符也是一个字符常量,但不能写成(两个连续的单引号)。 (3)字符常量只能包含一个字符,因此abc是非法的。 (4)字符常量只能用单引号括起来,不能用双引号括起来。例如,”a”不是字符常量,而是个字符串。 (5)字符常量在内存中占一个字节,存放的是字符的ASCII值,且所有字符常量都可以作为整型量处理。,二. 转义字符常量,转义字符又称反斜线字符,这些字符常量总是以一个反斜线开头后跟一个特定的字符,用来表示一个特定的ASCII字符,这些字符也必须括在一对单引号内。例如:n代表回车换行符、代表一个单引号。如表6.1列出了C语言中的转义字符。,表6.1 C语言中的
3、转义字符,注意,(1)转义字符常量,如n、101、141只代表一个字符。 (2)反斜线后的八进制数可以不用0开头。如:101代表的就是字符常量A,141代表的常量a。也就是说,在一对单引号内,可以用反斜线后跟一个八进制数来表示一个ASCII字符。 (3)反斜线后的十六进制数只可由小写字母x开头,不允许用大写字母X,也不能用0 x开头。如:x41代表字符常量A。,三 字符串常量,字符串常量是由双引号括起来的一串字符。如:”ABCD”。C语言中,系统会在每个字符串最后自动加一个字符0作为字符串结束标志。 字符常量和字符串常量区别: 字符常量如101在内存占一个字节;字符串常量如”Z”占两个字节,而
4、”ABCn” 占五个字节。 注: “”代表空串,占一个字节。,字符常量与字符串常量不同,字符串常量 定义:用双引号(“”)括起来的字符序列 存储:每个字符串尾自动加一个 0 作为字符串结束标志,例: char ch; ch=“A”;,四. 字符串运算,字符型数据都是以整型量进行处理的。因此字符型数据可以参与任何整数运算。在运算过程中,将字符替换为对应的ASCII码值之后再进行运算。 如:D-C的值为1。因为我们用D和C的ASCII码68、67分别替换D、C之后,将等价于求68-67的值。 记:大写字母+32=小写字母,6.2 字符变量,字符变量用来保存字符型数据。定义基本格式如下: char
5、变量名; 其中char为关键字,表示字符型数据,占用一个字节的存储空间。下面对字符变量a赋初值: a=A;,6.3 字符型数据的输入输出,在进行字符型数据输入输出的时候,除了之前学过的printf函数和scanf函数之外,C语言中还提供了putchar函数和getchar函数。注意这些输入输出函数都是包含在stdio.h里面,需要在程序的开头写上 #include ”stdio.h”,一. 使用printf输出数据,使用printf函数输出字符型数据的时候,格式说明符是%c。例如: main() char a; a=A; printf(“a=%c,%c”,a,A); 输出结果:a=A,A,二.
6、 使用putchar函数输出数据,使用putchar函数输出字符型数据的时候,不需要格式说明。调用形式如下: putchar(c); 以上调用中,C可以是字符变量名,也可以使字符常量,表示将括号里面的字符型数据以字符的形式输出到屏幕上。 putchar(65);putchar(D); putchar(n);putchar(A+35);,三. 使用scanf函数输入数据,使用scanf函数输入字符型数据的时候,格式说明是%c。例如: main() char a, b, c; scanf(“%c%c%c”, 注意:我们以前学过空格符、回车符和横向跳格符统统被当作是间隔符,用于区别输入数据的各个数据
7、。但是在进行字符数据输入的时候,空格符、回车符、横向跳格符都是合法有效的字符,都将被读入并赋值给相应的变量。因此在上述程序中,不能在输入的各个字符之间加间隔符。如输入:A B C 是不能正确的将这3个字符常量赋给相应的变量,这样输入的结果是将A赋给变量a,空格符赋给变量b,B赋给变量c。 正确的做法应该是:ABC即可。,说明:,(1)在格式控制中已经有空格,如上例改为: Scanf(“%c %c %c”, 此时既可以直接输入字符,例如: ABC 或者: A B C 或者 A B C 此时无法为变量a、b、c赋空格符、回车符和跳格符。,(2)在格式控制中指定了输入数据的宽度,如上例改为: sca
8、nf(“%3c%3c%3c”, 此时输入形式必须严格按照宽度进行输入。输 入形式可以限定为: A B C 其中,每个字符之间必须有两个空格(或者是 回车)。,(3)格式控制中出现交叉输入的情况。如上例改为: main() int a, b; char x, y; scanf(“%d%c%d%c”, 我们可以这样输入:10A20B 也可以:10A 20B 但不能这样输入:10 A 20 B 因为计算机将10赋给a之后,接下来碰到一个非数值型的空 格符,系统会把空格符自动的赋给变量x,而对变量b赋值的 时候,计算机判断两种类型不匹配,输入不成功。最后b和y 都没有接收数据。,四. 使用getcha
9、r函数输入数据,使用getchar函数输入字符型数据的时候,不需要格式说明。调用形式如下: c=getchar(); 函数的一对圆括号不可缺少,里面无需任何参数。这条输入语句表示等待用户从键盘读入一个字符,并将该字符赋值给字符变量c。在输入时,空格符、回车符都能被读入。,例6.1 有以下程序: #include “stdio.h” main() char c; while(c=getchar()!=?) putchar(-c); 程序运行时,如果从键盘输入:Y?N?,则 输出结果为:_。 输出结果:X,字符处理程序举例,#include int main( ) char ch1,ch2,ch3
10、,ch4,ch5,ch6; ch1=N; ch2=78; ch3=0 x4e; ch4=0116; ch5=x4e; ch6=116; printf(“%ct%ct%ctn”,ch1,ch2,ch3); printf(a); printf(“%ct%ct%ctn”,ch4,ch5,ch6); printf(a); return 0; , N N N N N N,字符处理程序举例,程序2.4 :大小写字母的转换、字符的输入与输出示例 #include int main( ) char ch1,ch2; scanf(“%c”, ,如果从键盘输入:A 则输出结果为: A,a 65,97 f,F 10
11、2,70,ch1=getchar();,putchar(ch1); putchar(ch2); putchar(n);,putchar(ch1); putchar(ch2); putchar(n);,真题,(13) 以下选项中能用作C程序合法常量的是 A) 1,234 B) 123 C) 123 D) x7G,真题,(8) 有以下程序(说明:字符0的ASCII码值为48) #include main() char c1,c2; scanf(%d, 若程序运行时从键盘输入48,则输出结果为 【8】 。,真题,(23) 有以下程序 main() char b,c; int i; b=a; c=A; for(i=0;i6;i+) if(i%2) putchar(i+b); else putchar(i+c); printf(n); ,程序运行后的输出结果是 A) ABCDEF B) AbCdEfC) aBcDe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脑梗塞患者的智能康复训练
- 2026年项目管理成熟度评估与改进指南
- 自闭症儿童的家庭干预计划
- 2026年康复治疗学专业实操实训报告
- 2026年社区新进护士岗前培训计划
- 练习9 《赏析小说的形象描写》同步练习 (含答案解析)2027年高考一轮总复习
- 2026届重庆市高三考前模拟预测语文试卷(原卷版及解析)
- 2026年幼儿园冬季用火取暖防一氧化碳中毒
- 2026年儿科医院感染管理质量持续改进
- 肉制品电商代运营合作协议
- LY/T 3455-2025竹牙刷
- 第19课 清朝君主专制的强化 课件 人教统编七年级历史下册
- 2024年新课标高考物理试卷(适用黑龙江、辽宁、吉林地区 真题+答案)
- 8S管理培训基础知识课件
- 小学科学教学仪器配备标准
- 城市智慧路灯(5G综合灯杆)建设工程项目(含方案设计及项目实施方案)
- SWITCH暗黑破坏神3超级金手指修改 版本号:2.7.4.84040
- 浙江省消防技术规范难点问题操作技术指南(2020版)
- GB/T 3179-2009期刊编排格式
- GB/T 28730-2012固体生物质燃料样品制备方法
- GB/T 24283-2018蜂胶
评论
0/150
提交评论