c语言字符相关部分内容小结

c语言字符相关部分内容小结

ID:8970449

大小:18.50 KB

页数:4页

时间:2018-04-13

c语言字符相关部分内容小结_第1页
c语言字符相关部分内容小结_第2页
c语言字符相关部分内容小结_第3页
c语言字符相关部分内容小结_第4页
资源描述:

《c语言字符相关部分内容小结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、C语言字符相关部分内容小结发布于:2012-11-1416:51浏览量:132很多初涉编程的同学,在有些知识点上不够系统化或者说不能够将知识点联系起来,甚至对有些知识点有妖魔化的趋势,先说一下,这点是完全没有必要的,对于程序的编写,我个人认为这是一件很有美感的事情,所以不必预先给自己太大的心理压力去进行这方面的学习与工作。今天就字符部分相关的一些知识点作一个小结。一、字符及由字符构造出来的一些类型的概念和特点。a)字符:字符是由单引号引起来的单个的字符或转义字符。b)字符串:字符串是由双绰号引起来的N

2、个字符序列,这里的N可以是1个,可以是多个,也可以为0,也就是一个空串。概念的理解很重要,是区分不同类型的基准。二、存储字符的存储实质上存储的是其相应的ANCII码。而ANCII码分为三部分,第一部分共32个,一般且来通讯或作为控制之用,有些可以显示于屏幕上,有些则无法直接显示在屏幕上,但能看到其效果;第二部分共96个,用来表示阿拉伯数字、英文字母大小写及底线括号等符号;第三部分共128个,为扩充字符,用来表示框线、音标及其他非英语系的字母。由上述可见,字符类型的特殊性在于任何的操作及控制如果放在字符

3、类型中都是有效的录入,意味着要进行字符类相关操作的时候要进行更加细心和周全的考虑和控制。基本类型中并没有字符串类型,需要我们自行去构造,所以对于字符串的存储我们需要借助于数组,也就是利用字符数组去存储字符串。若以字符串常量的方式给一个字符数组赋值,如charstr[]=”hello”,则系统在进行存储时,存储’h’,’e’,’l’,’l’,’o’这五个字符外,会多开辟一个空间存储’’,用以作为一个串的结束标志,这也是我们通常在对一个串进行操作时所利用的结束条件三、输入与输出字符的输入与输出可以使用

4、标准输入输出函数scanf(),printf(),利用上述函数中的%c格式进行输入与输出,还可以利用针对字符的输入输出函数putchar(),getchar()。字符数组部分的输入与输出可以分两种方式:一种是采用单个字符方式,即把字符串中的每个元素都看作一个字符,进行单个输入或输出,可以借助上述字符的输入与输出,这里就需要用到循环来进行单个字符的控制,或者采用标准输入输出中的%s针对字符串进行操作;另外可以使用专门针对字符串的输入输出函数gets(),puts()。注意:1)在字符的操作中,刚刚解释过

5、了任何的输入及控制都会被当作有效的字符录入,所以如果控制不周全,则在终端上进行的回车,TAB键等等的操作都会当作有效的录入,这也就需要我们在对程序进行控制的时候注意该方面的问题。2)对于字符串部分如果采用使用单个字符赋值的方式,如charstr[5]={’h’,’e’,’l’,’l’,’o’},系统会存储五个字符,这时在控制输出时若用scanf的%s格式进行控制,或用puts进行控制输出的话会出现输出乱码的情况,原因是由于上述两种方式作输出时,会从字符数组的起始地址开始,一直向后输出,直到遇到结束标志

6、’’为止,所以在上述赋值方式中会出错。若使用循环控制5次输出,每次输出单个字符,则不会出错,也就是说程序有时无法获得预想的效果,不一定是逻辑和语法的问题,也可能是前后的控制不到位而出现输出的差错。另外scanf中的%s格式遇空格或回车时结束,若有如下部分程序段:intmain(){chara[15];scanf("%s",a,b,c);puts(a);……}若终端输入为howareyou,则a串只能获得how.四、字符数组部分相关函数字符数组部分相关字符函数简单说一下:1、strlen(str1)

7、:返回值为字符串的实际长度,这个实际长度是不包含’’的,区别于sizeof,其测量的为字符数组在内在中实际所占的字节数。2、strcat(str1,str2):连接两个字符串,实现过程:str1的’’取消,str2连接进去,最后加一个’’作为结束标志,3、strcpy(str1,str2):将str2拷贝到str1中去,前提条件str1必须足够大,拷贝时将’’一同拷贝,在此强调,字符串的赋值不能采用普通变量式,即str2=str1写法是错误的,必须使用函数进行两个字符串的拷贝。4、st

8、rcmp(str1,str2):将str1与str2中的字符进行逐个比较,直到碰到不同的字符或’’为止,哪个的ANSII码值大就判断为哪个字符串较大,返回值为正值负值和0来表示两个串的大小关系,即若对两个字符串需要进行判断时if(str>str)写法是错误的另外需要注意的是:上述函数的代码实现的考察也是在进行一些技术面试时常会遇到的问题。考察以下几点:字符串要以’’作为结尾;对数组越界把握的敏感程度;对项目整体的控制细节如参数的传递,形参的设置及

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。