版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
简易的通讯录管理字符数组一维字符数组的定义1.一维字符数组的定义例如:charc[10];意思是定义一个字符数组c,它有10个元素。字符数组的初始化(1)定义时逐个字符给数组中各元素。charc[5]={‘c’,’h’,’i’,’n’,’a’};china\0china\0\0\0\0\0(2)可省略数组长度。charc[]={‘c’,’h’,’i’,’n’,’a’};系统根据初值个数确定数组的长度,数组c的长度自动为5。(3)字符数组可以用字符串来初始化。
charc[6]=”china”;charc[10]={“china”};/*花括号可以省略*/
引用
(1)“%s”格式输入时,遇空格或回车结束,但获得的字符中不包含回车及空格本身,而是在字符串末尾添’\0’。方法一:用%c格式符逐个输入输出。例如:charc[6];for(i=0;i<6;i++){scanf(“%c”,&c[i]);printf(“%c”,c[i]);}方法二:用%s格式符进行字符串输入输出。例如:charc[6];scanf(“%s”,c);printf(“%s”,c);
举例
三个同学姓名的输入输出。程序如下:#include"stdio.h"main(){charname1[10],name2[10],name3[10];printf("请输入姓名:\n");scanf("%s%s%s",name1,name2,name3);printf("输出的姓名为:\n");printf("%s,%s,%s\n",name1,name2,name3);}
程序的运行结果表明:%s输入时,空格或回车表示输入的分隔符
字符串处理函数
(1)输入字符串函数——gets()格式:gets(字符数组名)
例如:chars[12];gets(s);功能:从键盘输入1个字符串。允许输入空格,而是以回车作为输入结束。将上例修改为gets()输入:#include"stdio.h"main(){charname1[10],name2[10],name3[10];printf("请输入姓名:\n");gets(name1);gets(name2);gets(name3);printf("输出的姓名为:\n");printf("%s,%s,%s\n",name1,name2,name3);}
字符串处理函数
(2)输出字符串函数——puts()格式:puts(字符数组名)
例如:chars[12]=“hangzhou”;puts(s);功能:输出1个字符串在屏幕上。将上例修改为puts()输出:#include"stdio.h"main(){charname1[10],name2[10],name3[10];printf("请输入姓名:\n");gets(name1);gets(name2);gets(name3);printf("输出的姓名为:\n");puts(name1);puts(name2);puts(name3);}上面两个函数的使用仍然是需要“stdio.h”包含,接下介绍的字符串函数,我们应使用包含头文件“string.h”
串连接函数(strcat)
(1)格式:strcat(字符数组名1,字符数组名2);(2)功能:把字符数组2中的字符串(连同尾部的’\0’)连接到字符数组1中字符串的后面,并删去字符串1后的串结束标志’\0’
。本函数返回值是字符数组1的首地址。(3)说明:字符数组1必须足够大。
举例
#include"string.h"voidmain(){charst1[30]="Mynameis";charst2[10];printf("请输入姓名:\n");gets(st2);
strcat(st1,st2);puts(st1);}写出下面程序的运行情况。
程序运行情况输入Zhangyi↙时,输出结果是什么?MynameisZhangyi输出结果:
串拷贝函数(strcpy)
(1)格式:strcpy(字符数组名1,字符数组名2);(2)功能:把字符数组2中的字符串拷贝到字符数组1中。串结束标志“\0”也一同拷贝。
举例
写出下面程序的运行情况。输出结果:#include"string.h"voidmain(){charst1[15],st2[]="CLanguage";
strcpy(st1,st2);puts(st1);}CLanguage
说明
(3)说明:①字符数组1必须写成数组名形式,字符数组2可以是数组名形式也可以是字符串常量。
②不能用赋值语句将一个字符串常量或字符数组直接赋给一个字符数组。例如:charstr1[20],str2[]=“program”;
str1=“program”;str1=str2;
串比较函数(strcmp)
(1)格式:strcmp(字符数组名1,字符数组名2);(2)功能:按照ASCII码顺序(即字典顺序)比较两个数组中的字符串,并由函数返回值返回比较结果。
字符串1=字符串2,返回值=0;字符串1>字符串2,返回值>0;字符串1<字符串2,返回值<0。(3)说明:不能用比较运算符直接比较两个字符串。错误的用法例如:charstr1[]=“progress”,str2[]=“program”;
if(str1!=str2)……
举例
写出下面程序的运行情况。输出结果:#include"string.h"voidmain(){intk;charst1[15],st2[]="CLanguage";printf("请输入一个字符串:\n");gets(st1);k=strcmp(st1,st2);if(k==0)printf("%s与%s相等。\n",st1,st2);if(k>0)printf("%s大于%s。\n",st1,st2);if(k<0)printf("%s小于%s。\n",st1,st2);}CLang小于CLanguage。
程序运行情况输入CLang↙时,输出结果是什么?
测串长度函数(strlen)
(1)格式:strlen(字符数组名);(2)功能:测字符串的实际长度(不含字符串结束标志‘\0’),并作为函数返回值。
举例
写出下面程序的运行情况。输出结果:#include"string.h"voidmain(){intk;charst[]="CLanguage";k=strlen(st);printf(“字符串(%s)的长度为%d。\n",st,k);}字符串(CLanguage)的长度为10。
单字符输入输出函数
单个字符的输出函数
putchar(字符变量或字符常量);单个字符的输入函数字符变量=getchar();例如:利用单个字符输入输出函数实现从键盘上输入任意一个字符,并将该字符输出在显示器上。#include<stdio.h>main(){charch;puts("
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年家具和相关物品修理行业市场需求预测报告及未来五至十年创新突破与热点迁移
- 2026年复方北豆根氨酚那敏片行业洞察报告及未来五至十年发展趋势报告
- 场地租赁费用调整说明通知8篇范本
- 2026年人教版六年级语文下册第11单元课后练习题及答案
- 影视制作公司导演及制片人绩效考评表
- 湘教版高中生物高二年级上册第4章细胞结构与功能练习题及答案
- 苏科版数学七年级下册 期末押题模拟卷02 【考试范围:第7-12章】(江苏专用) 含答案
- 苏科版数学八年级下册 第11章 二次根式 同步练习 含答案
- 蓝色系的多维表达与视觉力量-蓝色-现代时尚插画风格
- 2026幼儿园教师招聘中学生物教材教法高频考点精讲卷
- 第9课《谈骨气》课件
- 2025年行政检察业务竞赛真题及答案
- 荷马史诗《奥德赛》:英雄的归乡与人性的光辉
- 广东省医师变更执业注册申请审核表
- 2026广东江门市广悦化工股份有限公司招聘5人考试备考试题及答案解析
- 2026年工程管理高级工程师职称答辩真题及答案
- 直播间话术顺口溜词语大全
- 艾灸护理创新技术应用
- 清真寺门卫责任制度
- 2025中国稀土集团有限公司及所属企业招聘41人笔试历年难易错考点试卷带答案解析
- 2025年家用学习打印机行业研究与消费行为调查数据
评论
0/150
提交评论