版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计第6章字符型数据6.1字符类型
前几章学习的整型、实型都是数值型。除数值型外,还有一类数据是计算机经常处理的数据,这就是字符型。
字符型数据包含的是一个字符集。一般用的是ASCII码字符集,见附录7。
字符集中的每一个字符都有一个序号,称为ASCII码。ASCII码大的字符比ASCII码小的字符值大。字符类型的标识符是char。字符常量定义:用单引号括起来的单个普通字符或转义字符.
字符常量的值:该字符的ASCII码值<转义字符及其含义:转义字符含义\n\v\r\a\‘\ddd\t\b\f\\\“\xhh转义字符含义换行垂直制表回车响铃单引号3位8进制数代表的字符水平制表退格换页反斜线双引号2位16进制数代表的字符如‘\101’-----------‘A’‘\012’-----------’\n’
‘\x61’-----------’a’‘\60’-----------’0’‘\483’----------()如‘A’——65,‘a’——97,‘0’——48,‘\n’——10如‘a’‘A’‘?’‘\n’‘\101’转义字符:反斜线后跟一个字符或一个代码值表示例转义字符举例main(){printf("\101\x42C\n");printf("Isay:\"Howareyou?\"\n");printf("\\CProgram\\\n");printf("Turbo\'C\'");}运行结果:(屏幕显示)ABCIsay:”Howareyou?”\CProgram\Turbo‘C’字符常量与字符串常量不同字符串常量定义:用双引号(“”)括起来的字符序列存储:每个字符串尾自动加一个‘\0’作为字符串结束标志hello\0例字符串“hello”在内存中aa\0例‘a’“a”例空串“”\0例:charch;ch=“A”;例:charch;ch=‘A’;没有字符串变量,用字符数组存放字符型变量char变量名1,[变量名2,......变量名n];
如:charc1,c2;一个字符型变量的值只能是一个单个字符;在内存中占一个字节;字符变量存放的是字符的ASCII码;char与int数据间可进行算术运算;
原因:
由于字符型变量在内存中是以字符的ASCII码—一个无符号整数的形式来存放的,所以在一定范围内,字符型数据和整型数据是可以互相通用的,二者的区别仅在于:字符型常量占一个字节,而整型常量占两个字节。例‘B’-’A’=1‘a’+1=98=‘b’‘A’+32=97=‘a’‘9’-’0’=57-48=99+’0’=9+48=57=‘9’【例1】将小写字母转化为大写字母。main(){charc1,c2;c1='x';c2='y';c1=c132;c2=c232;printf("\n%c,%c",x1,x2);}程序的输出结果是:X,Y大小写字母之间,它们的ASCII码正好相差32。scanf语句读入字符用“%c”格式符时,空格和转义字符作为有效字符输入如scanf(“%c%c%c”,&c1,&c2,&c3);
若输入abc
则ac1,
c2,bc3格式:getchar()功能:从键盘读一字符返值:正常,返回读取的代码值;出错,返回EOF(-1)6.3.1字符输入函数例#include<stdio.h>main(){intc;printf("Enteracharacter:");c=getchar();printf("%c--->hex%x\n",c,c);}#include<stdio.h>main(){intc;chara;c=65;a='B';putchar(c);putchar('\n');putchar(a);}运行结果:AB6.3.2字符输出函数------putchar()格式:putchar(c)参数:c为字符常量、变量或表达式功能:把字符c输出到显示器上返值:正常,为显示的代码值;出错,为EOF(-1)程序举例
1.编写程序输入一行字符中所有的小写字母转换成大写字母,其他字符不变。#include<stdio.h>
voidmain(){charc;while((c=getchar())!=‘\n’){if(c>=‘a’&&c<=‘z’)c=c-32;putchar(c);}putchar(‘\n’);}2.编写程序统计输入的字符中的空格符,换行符和横向跳格符的个数.用!号结束.#include<stdio.h>#include<ctype.h>main(){longn=0;charch;while((ch=getchar())!=‘!’)if(isspace(ch))/*if(ch==‘‘||ch==‘\n’||ch==‘\t’)*/n++;printf(“n=%d\n”,n);}1.有以下程序(典型题)
#include<stdio.h>{charc1=‘A’,c2=‘a’;printf(“%d,%d\n”,c1,c2);}结果:65,97
2.有以下程序:#include<stdio.h>main(){charc;while((c=getchar())!=‘\n’){switch(c-’2’){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}}printf(“\n”);}若输入2473输出668977作业:上机完成.1.编写程序,输入一行字符(用回车结束)输出每个字符及与之对应的ASCII代码值,每行输出三对.2.编写程序统计输入的一行小写字母的个数.#include<stdio.h>main(){charch;intn=0;while((ch=getchar())!=‘\n’){if(n%3==0)printf(“\n”);n++;printf(“%cASCII=%d”,ch,ch);}putchar(‘\n’);}
#include<stdio.h>ma
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 过路套管如何施工方案(3篇)
- 金店求婚活动方案策划(3篇)
- 顶管施工方案审批(3篇)
- 高速防恐应急预案(3篇)
- 26年老年经济状况采集步骤课件
- 脾胃病科患者沟通技巧
- 化工蒸发工岗前沟通技巧考核试卷含答案
- 高压釜温控工岗前复测考核试卷含答案
- 井下胶轮车司机安全行为水平考核试卷含答案
- 淡水鱼类繁育工岗前前瞻考核试卷含答案
- 2026年6月江苏省无锡市新吴区事业单位招聘护士岗位《护理学》试题及答案
- 企业采购管理合规性审查检查清单
- 【新教材】人美版劳动六年级下册项目四 任务二 缎带绣美化束口袋(教学课件)
- (2026版)《中华人民共和国生态环境法典》培训
- 水库反恐怖防范工作制度
- 安全生产“六化”建设指导手册解读培训
- 2026幼儿园大班幼小衔接课件
- 安徽省市政设施养护维修工程计价定额2022 下册
- DB46∕T 722-2025 古树名木健康诊断技术规范
- 2026天津市津鉴检测技术发展有限公司招聘工作人员14人笔试备考试题及答案解析
- 2026四川省引大济岷水资源开发有限公司第一批次招聘27人备考题库附参考答案详解(满分必刷)
评论
0/150
提交评论