为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

第七章字符和字符串

2018-05-11 23页 ppt 495KB 8阅读

用户头像 个人认证

飞哥

暂无简介

举报
第七章字符和字符串Module7字符和字符串内容提要字符的输入和输出字符串的定义和存储字符串的输入和输出字符串的处理Unit1字符的输入和输出使用printf和scanf函数#include<stdio.h>main(){ chara; a=‘s’; printf(“a=%c\n”,a); printf(“a=%3c\n”,a);}Unit1字符的输入和输出使用printf和scanf函数#include<stdio.h>main(){ c...
第七章字符和字符串
Module7字符和字符串内容提要字符的输入和输出字符串的定义和存储字符串的输入和输出字符串的处理Unit1字符的输入和输出使用printf和scanf数#include<stdio.h>main(){ chara; a=‘s’; printf(“a=%c\n”,a); printf(“a=%3c\n”,a);}Unit1字符的输入和输出使用printf和scanf函数#include<stdio.h>main(){ chara,b,c; scanf(“%c%c%c”,&a,&b,&c);}Unit1字符的输入和输出使用getchar和putcharchara;a=getchar();//在输入时,空格、回车符都将作为字符读入。putchar(a);//a为字符型变量putchar(‘a’);Unit1字符的输入和输出其他的字符输入函数conio.h头文件中还包含了其他的字符输入和输出函数getche()功能:输入后立即从控制台取字符,不以回车为结束(带回显)。另外,回车符会被忽略掉getch()功能:与getche()功能大致相同,只是不带回显功能Unit2字符串的定义和存储字符串的定义字符串常量是用双引号引起来的字符序列。C语言中有字符变量但没有字符串变量,要对字符串进行处理,只能使用字符数组和字符串处理函数。Unit2字符串的定义和存储字符串的存储用来存放字符数据的数组称为字符数组,字符数组中的一个数组元素只能存放一个字符,并且以ASCII码值形式存储在内存单元中。为了能使用字符串处理函数,还需要用空字符(ASCII码值值为0,程序中用转义字符“\0”表示)作为字符串结束标志。Unit2字符串的定义和存储字符串的存储字符数组的定义及初始化1、定义char数组名[常量表达式]例如:chara[20];它定义了长度为20的字符数组,数组元素为a[0]~a[18],能存放19个字符,a[19]用于存放字符串结束标志Unit2字符串的定义和存储字符串的存储字符数组的定义及初始化2、初始化(1)charc[6]={'T','h','a','n','k’};思考:普通的字符数组既可以表示若干个字符同时也可以表示字符串,如何界定?chard[6]={'T','h','a','n','k’,’!’};这个数组表示的是字符串吗?Unit2字符串的定义和存储字符串的存储字符数组的定义及初始化2、初始化(2)利用字符串常量初始化charc[]={"Thankyou!"};或者charc[]="Thankyou!";思考:字符数组c的长度是多少?Unit3字符串的输入和输出使用scanf和printf例如:chara[4]={‘a’,’b’};printf(“%s”,a);chara[4];scanf(“%s”,a);//注意:1、不要越界2、scanf会自动忽略掉字符串里面的第一个空格及其后面的所有字符Unit3字符串的输入和输出其他的输入和输出函数1. gets1)函数原型  char*gets(字符数组)2)头文件  stdio.h3)作用 从键盘输入一个字符串到字符数组中4)说明(1)scanf函数使用“%s”格式说明不能完整地读入带有空格字符的字符串,但可以用gets函数读入空格在内的全部字符,直到回车换行符。(2)如果单独输入一个字符串,用gets较为方便简洁。Unit3字符串的输入和输出其他的输入和输出函数2.puts1)函数原型 intputs(字符数组);2)头文件 stdio.h3)作用和函数返回值 输出字符串到显示器等设备中。函数返回值正确时为非负值,出错时为EOF。4)说明 与函数printf(“%s”,字符数组)相同。如果单独输出一串字符,使用puts函数较为方便。Unit4字符串处理函数1.strcat 1)函数原型  char*strcat(字符数组1,字符数组2); 2)头文件  string.h 3)作用和函数返回值  字符串拼接,去掉字符数组1中的字符串结束符‘\0’,将字符串2(包括结束符‘\0’)连接到数组1的字符串后面,拼接后的字符串存放在字符数组1中。注意:  如果字符数组1的长度不够,则拼接后结果不可预知。因此,在使用strcat函数时,字符数组1的长度一定要足够。Unit4字符串处理函数2.strcpy1)函数原型char*strcpy(字符数组1,字符数组2,[整数n]);2)头文件string.h3)作用将字符串2的前n个字符拷贝到字符数组1中,拷贝时从字符数组1首元素开始,拷贝结束后,系统自动在字符数组1中加入结束符‘\0’。Unit4字符串处理函数2.strcpy4)说明(1)若字符数组1的长度不够,则结果不可预知。(2)字符串复制只能使用strcpy函数,而不能使用字符串常量直接给字符数组赋值,两个字符数组之间也不能直接赋值。例如: charc1[20],c2[20]; c1="China"; c2=c1; 两个赋值语句都是非法的,但可以用strcpy函数实现。Unit4字符串处理函数3.strcmp 1)函数原型  intstrcmp(字符数组1,字符数组2); 2)头文件  string.h 3)作用 比较字符串的大小。对两个字符串自左至右逐个相比,直到出现不同的字符或遇到‘\0’为止。当字符数组1与字符数组2相等,函数返回值为零;如果字符数组1中的串大于字符数组2中的串,函数返回值为大于零的值;否则,返回小于零的值。Unit4字符串处理函数3.strcmp 说明  字符串的比较时,采用字典比较法,是从头开始逐个比较两串中对应字符的ASCII码值大小。当遇到第1个不同字符时,字符的ASCII码值大的串其值也大。所以,串的比较值大小与串长无关。例如:printf("%d",strcmp("Book","Book"));printf("%d",strcmp("Book","Boat"));printf("%d",strcmp("Boat","Book"));结果分别为:0、14、-14。Unit4字符串处理函数4.strlen1)函数原型unsignedintstrlen(字符串);2)头文件string.h3)作用 测试字符串的长度。函数返回值为字符串的实际长度,不包括'\0'在内。4)说明 strlen函数测试串的长度(字节数)Unit4字符串处理函数5.strlwr,strupr1)函数原型char*strlwr(字符串);char*strupr(字符串);2)头文件string.h3)作用 将字符串中大(小)写字母转换成小(大)写字母。函数返回值为指向转化后的字符串的指针例解析编写密码程序模块。将密码“Hello”存放在一个数组中,程序运行时从键盘输入密码,屏幕显示输入密码是否正确。#include<stdio.h>  #include<string.h>intmain(){inti=0;charc,ch1[10]={"Hello"},ch2[]={0,0,0,0,0,0,0,0,0,0};printf("请输入密码,以回车结束:\n");while((c=getch())&&c!=13){putchar(’*’);  /*屏幕回显“*”*/ch2[i++]=c;  }if(!strcmp(ch1,ch2))printf("\n密码输入正确\n");elseprintf("\n密码输入不正确\n");}例题解析改写前面的例子,当输入密码不正确,允许用户重新输入,当3次输入的密码都不正确,则结束程序。
/
本文档为【第七章字符和字符串】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索