C语言程序设计立体化教程课件:字符数组_第1页
C语言程序设计立体化教程课件:字符数组_第2页
C语言程序设计立体化教程课件:字符数组_第3页
C语言程序设计立体化教程课件:字符数组_第4页
C语言程序设计立体化教程课件:字符数组_第5页
已阅读5页,还剩14页未读, 继续免费阅读

下载本文档

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

文档简介

简易的通讯录管理字符数组一维字符数组的定义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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论