C语言开发基础教程第7章-字符串-教学PPT-课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言开发基础教程第7章-字符串-教学PPT-课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 开发 基础教程 字符串 教学 PPT_ 课件
- 资源描述:
-
1、第第7章章 字符串字符串 字符串操作函数 数字与字符串转换 阶段案例字符数组与字符串 字符串指针 字符串的输入输出7.1 字符数组和字符串字符数组是由字符类型的元素所组成的数组,字符串就存储在字符数组中,在访问字符数组时,可使用下标法读取指定位置的字符,也可使用%s格式将字符数组中的元素以字符串的形式全部输出。7.1.1 字符数组字符数组定义方式与整型数组类似:char 数组名数组大小;/一维字符数组例如,定义字符数组:char ch6;char c5=h,e,l,l,o;访问字符数组中的元素c0;/第1个元素c1;/第2个元素c2;/第3个元素脚下留心:字符数组初始化时注意事项脚下留心:字符
2、数组初始化时注意事项字符数组的初始化很简单,但是要注意以下几点:(1)初始项不能多于字符数组的大小,否则编绎器会报错。char str2=a,b,c;/错误写法(2)如果初始项值少于数组长度,则空余元素均会被赋值为空字符(0)。char str5=a,b,c;/后面剩余的两个元素均被赋值为0脚下留心:字符数组初始化时注意事项脚下留心:字符数组初始化时注意事项字符数组的初始化很简单,但是要注意以下几点:(3)如果没有指定数组大小,则编绎器会根据初始项的个数为数组分配长度。char str=a,b,c;/与char str3=a,b,c;相同(4)二维字符数组的初始化与整型二维数组类似。char
3、str22=a,b,c,d;7.1.2 字符串字符串是由数字、字母、下划线、空格等各种字符组成的一串字符,由一对英文半角状态下的双引号(“”)括起来。“abcde“/字符串“/字符串7.1.2 字符串字符串在末尾都默认有一个0作为结束符。注 意7.1.2 字符串在C语言中,字符串的存储和处理都是通过字符数组来实现的,存储字符串的字符数组必须以空字符0(空字符)结尾。当把一个字符串存入一个字符数组时,也把结束符0存入数组,因此该字符数组的长度是字符串实际字符数加1。7.1.2 字符串字符串由字符数组进行存储,那么可以直接使用一个字符串常量来为一个字符数组赋值。char char_array6=h
4、ello;char char_array=hello;上述两个字符数组的大小都是6,这是因为字符串末尾有一个0结束符。它们等同于下面数组的定义:char char_array6=h,e,l,l,o,0;7.1.2 字符串 小提示:0字符字符串其实就是一个以空字符0结尾的字符数组,在定义存储字符串的数组时,要手动在数组末尾加上0,或者直接使用字符串对数组进行初始化。7.1.2 字符串字符数组的输出:字符数组可以通过%s格式化输出,直接输出数组名。char char_array6=hello;printf(%s,char_array);/结果为hello7.1.2 字符串获取字符串的长度:C语言中
5、的strlen()函数获取字符串的长度:unsigned int strlen(char*s);示例代码如下:strlen(hello);/获取字符串hello的长度strlen(char_array);/获取字符数组char_array中存储的字符串的长度7.1.2 字符串使用strlen()函数得到的字符串的长度并不包括末尾的空字符0。注 意7.1.2 字符串 小提示:strlen()函数与sizeof运算符(1)sizeof是运算符;strlen()是C语言标准库函数,包含在string.h头文件中。(2)sizeof运算符功能是获得所建立的对象的字节大小,计算的是类型所占内存的多少;s
6、trlen()函数是获得字符串所占内存的有效字节数。7.1.2 字符串 小提示:strlen()函数与sizeof运算符(3)sizeof运算符的参数可以是数组、指针、类型、对象、函数等;strlen()函数的参数是字符串或以0结尾的字符数组。(4)sizeof运算符计算大小是在编绎时就完成,因此不能用来计算动态分配内存的大小;strlen()结果要在运行时才能计算出来。7.1.3 字符串与指针在C语言中,字符型指针用char*来定义,它不仅可以指向一个字符型常量,还可以指向一个字符串。字符串使用字符数组进行存储,因此,指针字符串的指针其实是指向了存储字符串的数组。字符串与指针7.1.3 字符
7、串与指针char arr6=nihao;/定义一个字符数组arr,存储字符串nihaochar*p=arr;/定义一个字符型指针p,指向数组arr字符指针p指向字符串arr,它们之间的逻辑关系如下图。7.1.3 字符串与指针通过字符指针引用字符数组中的元素:(1)下标法:p1;(2)指针运算:*(p+1);7.1.3 字符串与指针当字符指针指向字符串时,如果以%s格式化输出,则直接输出字符串;如果以%d等整型格式化输出,则输出的是字符串所在空间的首地址。printf(“%s”,char_array);/输出字符数组char_array中的字符串printf(“%d”,char_array);/
8、输出字符数组char_array的地址7.1.3 字符串与指针当定义指向字符串的指针时,除了使用数组为指针初始化,还可以使用字符串直接给指针进行初始化。char*p1=nihao;7.1.3 字符串与指针在用字符数组初始化字符指针之前,字符串已经存在于字符数组在栈区开辟的内存空间中,字符指针只需存储字符数组的地址即可;而用字符串常量初始化字符指针时,系统会先将字符串常量放入常量区,再用指针变量存储字符串的首地址。7.1.3 字符串与指针使用字符数组与字符串初始化字符指针的区别。7.1.3 字符串与指针字符指针与字符数组在初始化、赋值等方面的不同。(1)初始化:可以对字符指针进行赋值,但不能对数
9、组名进行赋值。(2)赋值方式:字符数组(或字符串)之间只能单个元素赋值或使用复制函数;字符指针则无此限制。(3)运算:字符指针可以通过指针运算改变其值,而数组名是一个指针常量,其值不可以改变。(4)字符串中字符的引用:数组可以用下标法和指针运算引用数组元素;字符串也可以用这两种方法来引用字符串的字符元素。7.2.1 常见的输入函数1、getc()函数getc()函数用来读取用户输入的单个字符,其函数声明如下:int getc(FILE*stream);getc()函数接收一个文件指针作为参数,它可以从该文件指针中读取一个字符,然后将字符强制转换为int类型返回,当读取到末尾或发生错误时返回EO
10、F(-1)。7.2.1 常见的输入函数2、getchar()函数getchar()函数用于从标准输入中读取一个字符,其函数声明如下:int getchar(void);getchar()没有参数,可直接使用,其返回值为读取到的字符。7.2.1 常见的输入函数3、gets()函数gets()函数用于读取一个字符串,其函数声明如下:char*gets(char*str);gets()函数读取换行符之前的所有字符(不包括换行符本身),并在字符串的末尾添加一个空字符0用来标记字符串的结束,读取到的字符串会以指针形式返回。7.2.1 常见的输入函数使用gets()函数时,用户定义的字符数组的长度必须大于
11、用户输入的字符串长度,否则程序会发生“缓冲区溢出”错误。注 意7.2.2 常见的输出函数1、putc()函数putc()函数用于将一个字符输出到指定流中,其函数声明如下:int putc(int char,FILE*fp);putc()函数接收两个参数:字符和文件指针,其返回值是一个整型数据,它将输出的字符以整型数据的形式返回。7.2.2 常见的输出函数2、putchar()函数putchar()函数用于将一个字符输出到标准输出,其函数声明如下:int putchar(int char);putchar()函数接收一个字符参数,它将这个字符输出到标准输出,然后返回该字符。7.2.2 常见的输出
展开阅读全文