全国计算机等级考试二级C第六章 字符型数据.ppt

上传人:仙人指路1688 文档编号:2335809 上传时间:2023-02-12 格式:PPT 页数:20 大小:443KB
返回 下载 相关 举报
全国计算机等级考试二级C第六章 字符型数据.ppt_第1页
第1页 / 共20页
全国计算机等级考试二级C第六章 字符型数据.ppt_第2页
第2页 / 共20页
全国计算机等级考试二级C第六章 字符型数据.ppt_第3页
第3页 / 共20页
全国计算机等级考试二级C第六章 字符型数据.ppt_第4页
第4页 / 共20页
全国计算机等级考试二级C第六章 字符型数据.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《全国计算机等级考试二级C第六章 字符型数据.ppt》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C第六章 字符型数据.ppt(20页珍藏版)》请在三一办公上搜索。

1、全国计算机等级考试二级C,第六章 字符型数据,2010年10月-2011年3月,第六章 字符型数据,6.1字符型常量,课后习题,6.2字符变量,6.3字符的输入和输出,6.4程序举例,字符常量是用单引号括起来的一个字符。例如:a、b、=、+、?都是合法字符常量。在语言中,字符常量有以下特点:字符常量只能用单引号括起来,不能用双引号或其它括号。字符常量只能是单个字符,不能是字符串。字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算。如5和5 是不同的。5是字符常量,不能参与运算。,6.1.1字符常量,字符常量在内存中占一个字节,存放的是字符的ASCII代码值。C语言规定,所有

2、字符常量都作为整型量来处理,在计算机内部,其对应的整数值就是ASCII字符集中该字符的序号(即ASCII代码值).,转义字符是一种特殊的字符常量。转义字符以反斜线开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各例题printf函数的格式串中用到的“n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。常用的转义字符及其含义,6.1.2转义字符常量,广义地讲,语言字符集中的任何一个字符均可用转义字符来表示。表中的ddd和xhh正是为此而提出的。ddd和hh分别为八进制和十六进制的ASCII代码。

3、如101表示字母A,102表示字母B,134表示反斜线,xOA表示换行等。【例3.8】转义字符的使用。main()int a,b,c;a=5;b=6;c=7;printf(“ab ctderfn”);printf(“hijktLbMn”);注意:P68(1)-(3),6.1.3字符串常量,字符串常量是由一对双引号括起的字符序列。例如:CHINA,“C program”,$12.5 等都是合法的字符串常量。字符串常量和字符常量是不同的量。它们之间主要有以下区别:1)字符常量由单引号括起来,字符串常量由双引号括起来。2)字符常量只能是单个字符,字符串常量则可以含一个或多个字符。3)可以把一个字符常

4、量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。在语言中没有相应的字符串变量。这是与BASIC 语言不同的。但是可以用一个字符数组来存放一个字符串常量。在数组一章内予以介绍。4)字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符0(ASCII码为0)。这是字符串结束的标志。例如:字符串 C program 在内存中所占的字节为:,字符常量a和字符串常量a虽然都只有一个字符,但在内存中的情况是不同的。a在内存中占一个字节,可表示为:,a在内存中占二个字节,可表示为:,综上所述,字符常量a与字符串常量“a是两回事:(1)定界符不同:字

5、符常量使用单引号,而字符串常量使用双引号;(2)长度不同:字符常量的长度固定为1,而字符串常量的长度,可以是0,也可以是某个整数;(3)存储要求不同:字符常量存储的是字符的ASCII码值,而字符串常量,除了要存储有效的字符外,还要存储一个结束标志0。,6.1.4可对字符量进行的运算,每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以ASCII码的形式存放在变量的内存单元之中的。如x的十进制ASCII码是120,y的十进制ASCII码是121。对字符变量a,b赋予x和y值:a=x;b=y;实际上是在a,b两个单元内存放120和121的二进制代码:a:01111000b:011

6、11001 所以也可以把它们看成是整型量。语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,也允许把整型量按字符量输出。整型量为二字节量,字符量为单字节量,当整型量按字符型量处理时,只有低八位字节参与处理。,6.1.4可对字符量进行的运算(续),【例】向字符变量赋以整数。main()char a,b;a=120;b=121;printf(%c,%cn,a,b);printf(%d,%dn,a,b);本程序中定义a,b为字符型,但在赋值语句中赋以整型值。从结果看,a,b值的输出形式取决于printf函数格式串中的格式符,当格式符为c时,对应输出的变量

7、值为字符,当格式符为d时,对应输出的变量值为整数。,6.1.4可对字符量进行的运算(续),【例】main()char a,b;a=a;b=b;a=a-32;b=b-32;printf(%c,%cn%d,%dn,a,b,a,b);本例中,a,b被说明为字符变量并赋予字符值,语言允许字符变量参与数值运算,即用字符的ASCII 码参与运算。由于大小写字母的ASCII 码相差32,因此运算后把小写字母换成大写字母。然后分别以整型和字符型输出。,6.2字符变量,字符变量用来存储字符常量,即单个字符。字符变量的类型说明符是char。字符变量类型定义的格式和书写规则都与整型变量相同。,字符变量的类型关键字为

8、char,一般占用1字节内存单元。一、变量值的存储 字符变量用来存储字符常量。将一个字符常量存储到一个字符变量中,实际上是将该字符的ASCII码值(无符号整数)存储到内存单元中。例如,char ch1,ch2;/*定义两个字符变量:ch1,ch2*/ch1=a;ch2=b;/*给字符变量赋值*/,二、特性 字符数据在内存中存储的是字符的ASCII码 一个无符号整数,其形式与整数的存储形式一样,所以语言允许字符型数据与整型数据之间通用。(1)一个字符型数据,既可以字符形式输出,也可以整数形式输出。案例 字符变量的字符形式输出和整数形式输出。main()char ch1,ch2;ch1=a;ch2

9、=b;printf(“ch1=%c,ch2=%cn”,ch1,ch2);printf(“ch1=%d,ch2=%dn”,ch1,ch2);程序运行结果:ch1=a,ch2=b ch1=97,ch2=98,(2)允许对字符数据进行算术运算,此时就是对它们的ASCII码值进行算术运算。案例 字符数据的算术运算。/*程序功能:字符数据的算术运算*/main()char ch1,ch2;ch1=a;ch2=B;/*字母的大小写转换*/printf(“ch1=%c,ch2=%cn”,ch1-32,ch2+32);/*用字符形式输出一个大于256的数值*/printf(ch1+200=%dn,ch1+20

10、0);printf(ch1+200=%cn,ch1+200);printf(ch1+256=%dn,ch1+256);printf(ch1+256=%cn,ch1+256);,程序运行结果:ch1=A,ch2=bch1+200=297ch1+200=)ch1+256=353ch1+256=a,6.3字符的输入和输出,在使用语言库函数时,要用预编译命令#include 将有关“头文件”包括到源文件中。使用标准输入输出库函数时要用到“stdio.h”文件,因此源文件开头应有以下预编译命令:#include或#include”stdio.h”具体见书本P69-70页(前面已介绍),6.3.1调用pr

11、intf和scanf函数输出和输入字符,一、putchar函数是字符输出函数,其功能是在显示器上输出单个字符。其一般形式为:putchar(字符变量)例如:putchar(A);(输出大写字母A)putchar(x);(输出字符变量x的值)putchar(101);(也是输出字符A)putchar(n);(换行)对控制字符则执行控制功能,不在屏幕上显示。使用本函数前必须要用文件包含命令:#include或#include“stdio.h”,6.3.2调用putchar和getchar函数输出和输入字符,【例】输出单个字符。#includemain()char a=B,b=o,c=k;putch

12、ar(a);putchar(b);putchar(b);putchar(c);putchar(t);putchar(a);putchar(b);putchar(n);putchar(b);putchar(c);,二、getchar函数(键盘输入函数)getchar函数的功能是从键盘上输入一个字符。其一般形式为:getchar();通常把输入的字符赋予一个字符变量,构成赋值语句,如:char c;c=getchar();使用getchar函数还应注意几个问题:1)getchar函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符。2)使用本函数前必须包含文件“stdio.h”。3)在TC屏幕下运行含本函数程序时,将退出TC 屏幕进入用户屏幕等待用户输入。输入完毕再返回TC屏幕。4)程序最后两行可用下面两行的任意一行代替:putchar(getchar();printf(“%c”,getchar();,【例】输入单个字符。#includevoid main()char c;printf(input a charactern);c=getchar();putchar(c);,6.4 程序举例,见教材P71页 例6.1、例6.2、例6.3、例6.4、例6.5。,课后习题,P73-75页:一、选择题 二、填空题 三、改错题,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号