全国计算机等级考试二级C-第六章 字符型数据.ppt_第1页
全国计算机等级考试二级C-第六章 字符型数据.ppt_第2页
全国计算机等级考试二级C-第六章 字符型数据.ppt_第3页
全国计算机等级考试二级C-第六章 字符型数据.ppt_第4页
全国计算机等级考试二级C-第六章 字符型数据.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全国计算机等级考试二级c,第六章 字符型数据,2010年10月- 2011年3月,第六章 字符型数据,6.1字符型常量,课后习题,6.2字符变量,6.3字符的输入和输出,6.4程序举例,字符常量是用单引号括起来的一个字符。 例如: a、b、=、+、? 都是合法字符常量。 在语言中,字符常量有以下特点: 字符常量只能用单引号括起来,不能用双引号或其它括号。 字符常量只能是单个字符,不能是字符串。 字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算。如5和5 是不同的。5是字符常量,不能参与运算。,6.1.1字符常量,字符常量在内存中占一个字节,存放的是字符的ascii代码值。c语言规定,所有字符常量都作为整型量来处理,在计算机内部,其对应的整数值就是ascii字符集中该字符的序号( 即ascii代码值).,转义字符是一种特殊的字符常量。转义字符以反斜线“开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各例题printf函数的格式串中用到的“n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。 常用的转义字符及其含义,6.1.2转义字符常量,广义地讲,语言字符集中的任何一个字符均可用转义字符来表示。表中的ddd和xhh正是为此而提出的。ddd和hh分别为八进制和十六进制的ascii代码。如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)可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。在语言中没有相应的字符串变量。这是与basic 语言不同的。但是可以用一个字符数组来存放一个字符串常量。在数组一章内予以介绍。 4)字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符“0“ (ascii码为0)。这是字符串结束的标志。 例如: 字符串 “c program“ 在内存中所占的字节为:,字符常量a和字符串常量“a“虽然都只有一个字符,但在内存中的情况是不同的。 a在内存中占一个字节,可表示为:,“a“在内存中占二个字节,可表示为:,综上所述,字符常量a与字符串常量“a“是两回事: (1)定界符不同:字符常量使用单引号,而字符串常量使用双引号; (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:01111000 b: 01111001 所以也可以把它们看成是整型量。语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,也允许把整型量按字符量输出。 整型量为二字节量,字符量为单字节量,当整型量按字符型量处理时,只有低八位字节参与处理。,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“时,对应输出的变量值为字符,当格式符为“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。字符变量类型定义的格式和书写规则都与整型变量相同。,字符变量的类型关键字为char,一般占用1字节内存单元。 一、变量值的存储 字符变量用来存储字符常量。将一个字符常量存储到一个字符变量中,实际上是将该字符的ascii码值(无符号整数)存储到内存单元中。 例如, char ch1, ch2; /*定义两个字符变量:ch1,ch2*/ ch1=a; ch2=b; /*给字符变量赋值*/,二、特性 字符数据在内存中存储的是字符的ascii码 一个无符号整数,其形式与整数的存储形式一样,所以语言允许字符型数据与整型数据之间通用。 (1)一个字符型数据,既可以字符形式输出,也可以整数形式输出。 案例 字符变量的字符形式输出和整数形式输出。 main() char ch1,ch2; ch1=a; ch2=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+200); printf(“ch1+200=%cn“, ch1+200); printf(“ch1+256=%dn“, ch1+256); printf(“ch1+256=%cn“, ch1+256); ,程序运行结果: ch1=a,ch2=b ch1+200=297 ch1+200=) ch1+256=353 ch1+256=a,6.3字符的输入和输出,在使用语言库函数时,要用预编译命令 #include 将有关“头文件”包括到源文件中。 使用标准输入输出库函数时要用到 “stdio.h”文件,因此源文件开头应有以下预编译命令: #include 或 #include ”stdio.h” 具体见书本p69-70页(前面已介绍),6.3.1调用printf和scanf函数输出和输入字符,一、 putchar函数是字符输出函数,其功能是在显示器上输出单个字符。 其一般形式为: putchar(字符变量) 例如: putchar(a); (输出大写字母a) putchar(x); (输出字符变量x的值) putchar(101); (也是输出字符a) putchar(n); (换行) 对控制字符则执行控制功能,不在屏幕上显示。 使用本函数前必须要用文件包含命令: #include 或 #include “stdio.h”,6.3.2调用putchar和getchar函数输出和输入字符,【例】输出单个字符。 #include main() char a=b,b=o,c=k; putchar(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(getc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论