收藏 分销(赏)

C语言第六章-字符型数据(ppt文档).ppt

上传人:天**** 文档编号:2492942 上传时间:2024-05-30 格式:PPT 页数:25 大小:231KB
下载 相关 举报
C语言第六章-字符型数据(ppt文档).ppt_第1页
第1页 / 共25页
C语言第六章-字符型数据(ppt文档).ppt_第2页
第2页 / 共25页
C语言第六章-字符型数据(ppt文档).ppt_第3页
第3页 / 共25页
C语言第六章-字符型数据(ppt文档).ppt_第4页
第4页 / 共25页
C语言第六章-字符型数据(ppt文档).ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

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语言中的转义字符注意(1)转义字符常量

3、,如n、101、141只代表一个字符。(2)反斜线后的八进制数可以不用0开头。如:101代表的就是字符常量A,141代表的常量a。也就是说,在一对单引号内,可以用反斜线后跟一个八进制数来表示一个ASCII字符。(3)反斜线后的十六进制数只可由小写字母x开头,不允许用大写字母X,也不能用0 x开头。如:x41代表字符常量A。三 字符串常量字符串常量是由双引号括起来的一串字符。如:”ABCD”。C语言中,系统会在每个字符串最后自动加一个字符0作为字符串结束标志。字符常量和字符串常量区别:字符常量如101在内存占一个字节;字符串常量如”Z”占两个字节,而”ABCn”占五个字节。注:“”代表空串,占一

4、个字节。字符常量与字符串常量不同&字符串常量定义:用双引号(“”)括起来的字符序列存储:每个字符串尾自动加一个 0 作为字符串结束标志h e l l o 0例 字符串“hello”在内存中a a 0例 a“a”例 空串 “”0例:char ch;ch=“A”;例:char ch;ch=A;四.字符串运算字符型数据都是以整型量进行处理的。因此字符型数据可以参与任何整数运算。在运算过程中,将字符替换为对应的ASCII码值之后再进行运算。如:D-C的值为1。因为我们用D和C的ASCII码68、67分别替换D、C之后,将等价于求68-67的值。记:大写字母+32=小写字母6.2 字符变量字符变量用来保

5、存字符型数据。定义基本格式如下:char 变量名;其中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

6、=A,A二.使用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”,&a,&b,&c);注意:我们以前学过空格符、回车符和横向跳格符统统被当作是间隔符,用于区别输入数据的各个数

7、据。但是在进行字符数据输入的时候,空格符、回车符、横向跳格符都是合法有效的字符,都将被读入并赋值给相应的变量。因此在上述程序中,不能在输入的各个字符之间加间隔符。如输入:A B C是不能正确的将这3个字符常量赋给相应的变量,这样输入的结果是将A赋给变量a,空格符赋给变量b,B赋给变量c。正确的做法应该是:ABC即可。说明:(1)在格式控制中已经有空格,如上例改为:Scanf(“%c%c%c”,&a,&b,&c);此时既可以直接输入字符,例如:ABC或者:A B C或者ABC此时无法为变量a、b、c赋空格符、回车符和跳格符。(2)在格式控制中指定了输入数据的宽度,如上例改为:scanf(“%3c

8、%3c%3c”,&a,&b,&c);此时输入形式必须严格按照宽度进行输入。输入形式可以限定为:A B C 其中,每个字符之间必须有两个空格(或者是回车)。(3)格式控制中出现交叉输入的情况。如上例改为:main()int a,b;char x,y;scanf(“%d%c%d%c”,&a,&x,&b,&y);我们可以这样输入:10A20B 也可以:10A 20B但不能这样输入:10 A 20 B因为计算机将10赋给a之后,接下来碰到一个非数值型的空格符,系统会把空格符自动的赋给变量x,而对变量b赋值的时候,计算机判断两种类型不匹配,输入不成功。最后b和y都没有接收数据。四.使用getchar函数

9、输入数据使用getchar函数输入字符型数据的时候,不需要格式说明。调用形式如下:c=getchar();函数的一对圆括号不可缺少,里面无需任何参数。这条输入语句表示等待用户从键盘读入一个字符,并将该字符赋值给字符变量c。在输入时,空格符、回车符都能被读入。例6.1 有以下程序:#include“stdio.h”main()char c;while(c=getchar()!=?)putchar(-c);程序运行时,如果从键盘输入:Y?N?,则输出结果为:_。输出结果:X字符处理程序举例#includeint main()char ch1,ch2,ch3,ch4,ch5,ch6;ch1=N;ch

10、2=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:大小写字母的转换、字符的输入与输出示例#includeint main()char ch1,ch2;scanf(“%c”,&ch1);ch2=ch1+32;printf(%c,%cn,ch1,ch2);printf(%d,%dn,ch1,ch2);ch1=102;ch2=ch1-

11、32;printf(%c,%cn,ch1,ch2);printf(%d,%dn,ch1,ch2);return 0;如果从键盘输入:A则输出结果为:A,a65,97f,F102,70ch1=getchar();putchar(ch1);putchar(ch2);putchar(n);putchar(ch1);putchar(ch2);putchar(n);真题(13)以下选项中能用作C程序合法常量的是A)1,234 B)123C)123 D)x7G真题(8)有以下程序(说明:字符0的ASCII码值为48)#include main()char c1,c2;scanf(%d,&c1);c2=c1

12、+9;printf(%c%cn,c1,c2);若程序运行时从键盘输入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)aBcDeF D)abcdef真题(26)有以下程序段有以下程序段main()while(getchar()!=n);以下叙述中正确的是以下叙述中正确的是A)此此while语句将无限循环语句将无限循环B)getchar()不可以出现在不可以出现在while语句的条件表达式中语句的条件表达式中C)当执行此当执行此while语句时,只有按回车键程序才能继续执行语句时,只有按回车键程序才能继续执行D)当执行此当执行此while语句时,按任意键程序就能继续执行语句时,按任意键程序就能继续执行

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服