C语言 | 字符数组

C语言字符数组的定义

字符数组是用来存放字符数据的数组,字符数组中的一个元素存放一个字符,定义字符数组的方法和定义数值型数组的方法类似。

//例子:char character[10];

C语言字符数组的初始化

C语言对字符数组初始化,最容易理解的方式是用“初始化列表”,把各个字符依次赋给数组中各元素。

如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。

//例子:把10个字符依次分别赋给c[0]~c[9]这10个元素。char c[10]={'I',' ','a','m',' ',' h','a','p','p','y'};

C语言引用字符数组中的元素

可以引用字符数组中的一个元素,得到一个字符。

C语言字符串和字符串结束标志 

在C语言中,是将字符串作为字符数组来处理的,字符串中的字符是逐个存放到数组元素中的。

为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符‘\0’作为结束标志。

C系统在用字符数组存储字符串常量时会自动加一个'\0'作为结束符。

‘\0’代表ASCII码为0的字符,从ASCII码表中可以查到,ASCII码为0的字符不是一个可以显示的字符,而是一个“空操作符”,即它什么也不做。

字符数组并不要求它的最后一个字符为'\0',甚至可以不包含'\0'。

C语言字符数组的输入输出

字符数组的输入输出有两种方法。

  • 逐个字符输入输出。用%c输入或输出一个字符。

  • 将整个字符串一次输入或输出。用%s格式符,意思是对字符串的输入输出。

输出的字符中不包括结束符“\0”。

用%s格式符输出字符串时,printf函数中的输出项是字符数组名,而不是数组元素名。

如果数组长度大于字符串的实际长度。也只输出到遇“\0”结束。

如果一个字符数组中包含一个以上“\0”,则遇第一个“\0”时输出就结束。

可以用scanf函数输入一个字符串。

C语言字符串处理函数

1、puts函数——输出字符串的函数

一般形式;puts(字符数组)

作用:将一个字符串输出到终端。

2、gets函数——输入字符串的函数

一般形式:gets(字符数组)

作用:从终端输入一个字符串到字符数组,并且得到一个函数值。

3、注意:用gets和puts函数只能输出或输入一个字符串。

4、stract函数——字符串连接函数

一般形式:stract(字符数组1,字符数组2)

作用:把两个字符数组中的字符串连接起来,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值——字符数组1的地址。

5、strcpy和strncpy函数——字符串复制函数

一般形式:strcpy(字符数组1,字符串2)

作用:将字符串2复制到字符数组1中去。

6、strcmp函数——字符串比较函数

一般形式:strcmp(字符串1,字符串2)

作用:比较字符串1和字符串2,将两个字符串自左向右逐个字符相比,直到出现不同的字符或遇到“\0”为止。如果全部字符相同,则认为两个字符串相等:若出现不相同的字符,则以第1对不相同的字符的比较结果为准。

7、strlen函数——测字符串长度的函数

一般形式:strlen(字符数组)

作用:测试字符串长度的函数。函数的值为字符串中的实际长度。

8、strlwr函数——转换为小写的函数

一般形式:strlwr(字符串)

作用:将字符串中的大写字母换成小写字母 。

9、strupr函数——转换为大写的函数

一般形式:strupr(字符串)

作用:将字符串中小写字母换成大写字母。

C语言字符数组案例

#include//头文件 
int main() //主函数 
{char array[3]={'A','b','c'};//字符数组定义和初始化 printf("%c\n",array[1]); return 0;//主函数返回值为0 
}

编译运行结果:

b--------------------------------
Process exited after 0.1225 seconds with return value 0
请按任意键继续. . .

声明:

本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/338507.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python删除字符串中指定_python删除字符串中指定字符

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台&…

linux暗转旧版java_Java旧版不断发展

linux暗转旧版java最近&#xff0c;我偶然发现了JDK API的一个非常有趣的警告&#xff0c;即Class.getConstructors()方法。 它的方法签名是这样的&#xff1a; Constructor<?>[] getConstructors()有趣的是&#xff0c; Class.getConstructor(Class...)返回一个Constr…

北科大计算机技术研招考纲,北京科技大学2021年全国硕士研究生招生考试自命题科目考试大纲...

中国民用航空飞行学院2021年硕士研究生招生考试初试自命题科目大纲已公布&#xff0c;考研大纲是规定全国硕士研究生入学考试相应科目的考试范围、考试要求、考试形式、试卷结构等权威政策指导性考研用书。本文整理“北京科技大学2021年全国硕士研究生招生考试自命题科目考试大…

C语言和指针的本质是什么?技术大神给出答案

很多编程语言都以 “没有指针” 作为自己的优势来宣传&#xff0c;然而&#xff0c;对于C语言&#xff0c;指针却是与生俱来的。那么&#xff0c;什么是指针&#xff0c;为什么大家都想避开指针。很简单&#xff0c; 指针就是地址&#xff0c;当一个地址作为一个变量存在时&…

fastdfs的tracker启动之后一直选举_jraft选举策略

一、角色划分Follower&#xff1a;完全被动&#xff0c;不能发送任何请求&#xff0c;只接受并响应来自leader 和 candidate 的 message&#xff0c;每个节点启动后的初始状态一定是follower&#xff1b;Leader&#xff1a;处理所有来自客户端的请求&#xff0c;以及复制 log到…

西电计算机考研数学,西安电子科技大学21考研数学高分上岸学长经验分享

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼写在前面&#xff1a;(这里我只介绍自己用过的书和跟过的老师)21考研上岸西电(西安电子科技大学)&#xff0c;总分386&#xff0c;数学一131够用&#xff0c;感觉22数学一会是比较难的一年&#xff0c;拉开差距的关键关于22考研数学…

java 事件通知_正确获取Java事件通知

java 事件通知实现观察者模式以提供Java事件通知似乎是一件容易的事。 但是&#xff0c;容易陷入一些陷阱。 这是我在各种场合不慎造成的常见错误的解释…… Java事件通知 让我们从一个简单的bean StateHolder开始&#xff0c;它封装了带有适当访问器的私有int字段state &…

C语言 | 二维数组

C语言二维数组的定义一般形式 类型说明符 数组名[常量表达式][常量表达式]int a[10][6],b[3][4];用矩阵形式表示二维数组&#xff0c;是逻辑上的概念&#xff0c;能形象地表示出行列关系&#xff0c;而在内存中&#xff0c;各元素是连续存放的&#xff0c;不是二维的&#xff0…

C语言 | 一维数组

C语言一维数组的定义一般形式类型符 数组名[常量表达式]C语言使用一维数组注意事项数组名的命名规则和变量名相同&#xff0c;遵循标识符命名规则。在定义数组时&#xff0c;需要指定数组中元素的个数&#xff0c;方括号中的常量表达式用来表示元素的个数&#xff0c;即数组长度…

计算机网络教学方式探讨论文,学生老师论文,关于关于高中计算机网络教学效率提升相关参考文献资料-免费论文范文...

导读:本论文是一篇免费优秀的关于学生老师论文范文资料&#xff0c;可用于相关论文写作参考。(山东省新泰市第一中学 山东新泰 271200)摘 要&#xff1a;随着计算机网络的发展和快速普及,计算机网络教学已经逐步进入高中课堂中,与传统教学模式优势互补,成为学生学习的好帮手.该…

小程序可不可以汉字命名_不可将您的方法命名为“等于”

小程序可不可以汉字命名&#xff08;当然&#xff0c;除非您确实重写了Object.equals() &#xff09;。 我偶然发现了用户Frank提出的一个非常奇怪的Stack Overflow问题 &#xff1a; 为什么Java的Area&#xff03;equals方法不能覆盖Object&#xff03;equals&#xff1f; 有…

怎样删去csv中重复行_4个锦囊,祝你快速删去Excel中的重复数据

快速删去重复数据&#xff0c;雷哥在这里提供4种超简单的解决方法&#xff0c;大家一看就会。为了更加直接明了地说明&#xff0c;雷哥在这里通过具体案例进行讲解。案例&#xff1a;下图B列日期中&#xff0c;橘黄色部分是我们已经标记好颜色的重复项。要求&#xff1a;快速删…

C语言通过printf()设置输出显示方式

在调试程序时多数情况下要输出很多提示信息&#xff0c;通过控制输出字体的颜色的显示方式可以方便我们快速查看有用的信息&#xff0c;而printf()的终端转义就为我们提供了这样的手段。我们大家知道在程序结尾加上\n就可在输出的时候换行&#xff0c;其实这就是个转义字符。而…

如何取消计算机阻止安装程序,Win10电脑安装软件提示“你必须取消阻止该发布者才能运行此软件”怎么办...

&#xfeff;我们在使用win10系统的时候&#xff0c;都会在电脑中安装各种各样的软件&#xff0c;但是有时候在安装软件的还是&#xff0c;会遇到一些提示&#xff0c;比如“你必须取消阻止该发布者才能运行此软件”&#xff0c;导致安装软件失败&#xff0c;这该怎么办呢&…

perl大骆驼和小骆驼_快速的骆驼和云消息传递

perl大骆驼和小骆驼Apache Camel是一个流行的&#xff0c;成熟的开源集成库。 它实现了企业集成模式 &#xff0c;这是在集成分布式系统时经常出现的一组模式。 过去&#xff0c;我写过很多关于Camel的文章&#xff0c; 包括为什么我比Spring Integration更喜欢它 &#xff0c;…

mvc 事务层切换数据源_Mvc 与 Flux 与 Redux的一些思考

MVC模型 解决问题以及不足解决问题为了解决业务逻辑和界面渲染逻混在一起 MVC流程图2. 不足由于 Model 对外直接暴露了 set 和 on 方法&#xff0c;导致 View 层可以随意改变 Model 中的值&#xff0c;也可以随意监听 Model 中值的变化。这样的设定最终会导致一个庞大的 Model …

计算机语言缺省,揭秘物联网必学语言——C语言与C++的区别

C语言虽说经常和C在一起被大家提起&#xff0c;但可千万不要以为它们是一个东西。有很多人会有这样的疑问&#xff1a;C语言和C有什么区别呢&#xff1f;C是在C语言的基础上发展来的&#xff0c;但是并不是C比C语言高级&#xff0c;两者的编程思想不一样&#xff0c;应用的领域…

C/C 语言printf()

1.调用格式为 printf("<格式化字符串>", <参量表>); 其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符, 用来确定输出内容格式。参量表是需要输出的一…

tf/idf_Neo4j:带密码的TF / IDF(和变体)

tf/idf几周前&#xff0c;我写了一篇博客文章&#xff0c;介绍了如何使用scikit-learn在HIMYM成绩单上运行TF / IDF&#xff0c;以按情节找到最重要的短语&#xff0c;然后我很好奇在Neo4j中很难做到。 我首先将Wikipedia的TF / IDF示例之一翻译为cypher&#xff0c;以查看该算…

公路多孔箱涵设计_【公路常识中篇】公路路基边坡滑坡防护设计和预防

【公路常识中篇】公路路基边坡滑坡防护设计和预防来源&#xff1a;网络 公路路基基本知识&#xff0e;内容包括&#xff1a;公路路床&#xff1b;公路路堤&#xff1b;公路路基压实&#xff1b;影响公路路基稳定因素&#xff1b;公路路堑&#xff1b;公路路基沉陷&#xff1b;公…