




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本章开始,字符数据处理,北京理工大学,本章目录,第八章 字符数据处理,本章内容,字符与字符串 字符数组 字符串处理函数,返回主目录,一、字符型数据,字符常量:a,A,开头的字符序列 例:n表示换行;r表示回车; 字符串常量:用双引号括起来的字符序列。 例:”Ch”,”123”等。长度不限,末尾加0 字符变量:存放字符常量的变量,用char说明。 符号常量:以指定符号代表其后的“一串字符” 格式: #define 标识符 常量,8-1 字符与字符串,可以是任意 类型常量,8-1 字符与字符串,#define PA 3.14159 #define N 10 main( ) int aN; /*等于 int a10; */ printf(”%fn”,PA); /*等于printf(”%fn”,3.14159);*/ printf(”%fn”,PA*r*r); /*等于printf(”s=%fn”,3.14159*r*r);*/ ,例,二、字符数据的输入输出,格式化输入输出函数: scanf(),printf(),”%c” 使用库函数: getchar(),putchar(ch) #include “stdio.h”,8-1 字符与字符串,输入输出一个字符的两种方法:,从键盘上 读一个字符,输出到屏幕 一个字符,8-1 字符与字符串,#include ”stdio.h” main( ) char ch; ch=getchar( ); while(ch!=*) /* 以*作为输入字符序列的结束标志 */ ch=ch=a /* 输入下一个字符 */ ,运行程序: 输入:abcde$hijk?xyz123# 输出:ABCDE$HIJK?XYZ123,8-1 字符与字符串,例:输入若干字符,统计其中大写字母、小写字母、数字、空格以及其它字符的个数,并输出,#include ”stdio.h” main( ) char ch; int let1,let2,digit,space,other; let1=let2=digit=space=other = 0; while(ch=getchar( )!=!) /* !作输入结束标志 */ if(ch=a ,运行程序: 输入:China2000 Beijing0830#$%&! 输出:2, 10, 8, 1, 5,一、字符数组的定义 格式: 类型说明符 数组名维数说明;,例:char a4,b10; char c34; 表示a数组可以存放4个字符,C数组可以存放12个字符。,例:c34可存放三个字符串,每个字符串最多存放 4个字符。,二、字符数组的用途, 一维字符型数组作为一个字符串变量使用。 二维字符型数组相当于一个字符串数组,每行存放 一个字符串。,int a4,b10;,8-2 字符数组,按存储顺序截取字符,后边补3个 空字符0,三、字符型数组的初始化,第一维下标由引号确定,取长度为7,static char a7W,i,n,d,o,w,s; static char a W,i,n,d,o,w,s; static char a7D,o,s, ; static char b20”How do you do?”; static char c ”How do you do?”;,字符串,字符串组,加串结束标志0,8-2 字符数组(续),static char l37”BASIC”,”Pascal”,”C”; static char l 7”BASIC”,”Pascal”,”C”;,字符串的实际长度如何确定? C? 10、11、14、15 ?,C数组实际长度: How do you do?0 C数组长度:15,static char x7”Windows”;如何处理?,8-2 字符数组(续),讨论,static char c ”How do you do?”;,错!,8-2 字符数组(续),四、字符数组的输入与输出,1、单字符输入输出 (用格式符c控制 static char a3; for (i=0;i3;i+) scanf(“%c”,输入数据顺序: d o s 输出数据顺序: dos,2、字符串输入输出 (用格式符s控制 static char a7; scanf(“%sn”,a); printf(“%sn”,a); printf(“%sn”,a1); printf(“%sn”,”abcd”);,字符数组名 指明数组首地址,输入数据顺序: Windows 输出数据顺序: Windows indows abcd,8-2 字符数组(续),例: b3=”xyz”,c=H,a10=”abcd0123”; printf(”b=%sn”,b); printf(”a=%sn”,a); 则输出:b=xyzHabcd a=abcd,b数组没有结束标志 继续输出C中内容,8-2 字符数组(续),8-3 字符串处理函数,由终端输入字符串到字符数组,以换行结束,返回字符数组的首地址,将以0结束的字符串输出到终端 返回的函数值是字符数组的首地址,static char a3; gets (a); puts (a);,一、字符串输入输出函数gets和puts,字符数组名 指明数组首地址,8-3 字符串处理函数,输入:How are you /* 可输入含空格的字符串 */ 输出:How are you abcd /* 输出abcd后输出n引起换行 */ 1234 /* 继续输出1234 并换行 */,char a15,b20=”abcdn1234”; gets(a); puts(a); puts(b);,8-3 字符串处理函数,static char a130=“DOS-”; static char a2=“Turbo C”; printf(“%s”,strcat(a1,a2);,二、字符串连接函数strcat,格式:strcat(字符数组1,字符数组2 ),功能:连接两个字符数组中的字符串,将串2接在串1后,结果存放在字符数组1中,返回的函数值是字符数组的首地址,输出: DOS-Turbo C,字符数组a1的内容,!字符数组1的长度,不可缺省 足够大,8-3 字符串处理函数,static char a130; static char a2=“Turbo C”; strcpy(a1,a2); printf(“%s”, a1);,三、字符串复制函数strcpy,格式:strcpy(字符数组1,字符数组2 ),功能:将串2复制到串1数组中。,输出: Turbo C,字符数组a1的内容,8-3 字符串处理函数,static char a130=“DOS”; static char a2=“Turbo C”; strcmp(a1,a2);,四、字符串比较函数strcmp,格式:strcmp(字符数组1,字符数组2 ),功能:比较串1和串2,结果为: 0-相等,正数-串1大,负数-串2大,函数返回负数,比较原则:按ASCII码比较 ”abc” 与 ”abc” ,相等 ”abcd” 与 ”abck”, ”abcd” 小 ”abc” 与 ”ab”, ”abc” 大,例:将字符串str2连接到串str1的后面。 根据字符串中0的位置进行字符串连接。 #include “stdio.h” main( ) char str1100, str2100; int i, j; printf (“Enter string 1:“); gets (str1); printf (“Enter string 2:“); gets (str2); for(i=0;str1i!=0;i+);/* 确定0位置 */ for(j=0;(str1i=str2j)!=0;i+,j+); printf(“Output string 1:%sn“, str1); ,例:字符串连接,由串1的0开始连接,例:字符串反向。 在字符串中将首尾字符进行对调。 1 2 3 4 5 0 j=0 i=4 5 4 3 2 1 0 j=1 i=3 main( ) char str100, c; int i, j; printf (“Enter string:”); gets (str); for (i=0;stri!=0;i+ ) ; i-; for ( j=0; ji; i-, j+ ) c=str1i; stri=strj; strj=c; printf(“Output st
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB23-T2846-2021-电子政务云平台服务管理规范-黑龙江省
- 医院卫生安全管理制度
- 电梯井加装方案(3篇)
- 土地合同清查方案(3篇)
- 商场租户安全管理制度
- 家具出租定价方案(3篇)
- 合作项目公司管理制度
- 建筑单位节税方案(3篇)
- 兽药电销公司管理制度
- 海码头-拆除方案(3篇)
- 16MWh储能电站项目建设计划与进度安排
- 2025-2030年中国蛭石市场发展前景及投资策略分析报告
- 2025年四川省成都市中考语文作文预测题及范文
- 2025版食堂承包食品安全责任协议3篇
- 2015-2019高考全国卷历史小论文真题(附答案)资料
- 舞蹈艺考合同范例
- 2024-2025学年广东省广州市高二下学期7月期末英语质量检测试题(含答案)
- 蒸压加气混凝土板检测原始记录表(含型式检验)
- 户口迁移的承诺书
- 宇宙科普知识单选题100道及答案解析
- 高空清洁服务合同
评论
0/150
提交评论