C语言的数组、字符串等一些知识总结

发布者:chuyifei最新更新时间:2015-09-09 来源: eefocus关键字:C语言  数组  字符串 手机看文章 扫描二维码
随时随地手机看文章
1、字符串:位于双引号中的字符序列,以””结束,所占字节比实际多一个。

 

2、字符常量可以赋给字符变量,字符串常量不可以赋给字符串变量。C语言中用字符数组来存放字符串。

 

3、字符数组:memset(a,’’,10);用来给数组清0的。需要加头文件#include。

 

注意:定义数组时,应确保数组长度比字符串长度至少多1,未被使用的元素自动初始化为0。

 

4、’’代表ASCII码为0的字符(NUL)。为“空操作符”,用它作为字符串结束标志不会产生附加的操

作或增加有效字符,只起一个供辨别的标志。

 

5、字符数组的输入输出的两种方法:

 

(1)逐个字符输入输出(%c);(输出字符不包含‘’)

(2)整个字符串一次输入输出(%s)。(输出的是字符数组名)

6、scanf()格式化输入:接收字符串,不接收空格。输入字符串时,数组名前不加&。

 

7、gets()可以接收空格,以回车结束输入;getchar()输入回显;getch()不回显,而且可以接收‘ ’,

需要#include 

 

8、puts()输出字符串函数程序开头用#include ;输出字符函数putchar()。

 

9、字符数组的一些方法

(1)统计字符串长度:strlen();(遇到‘’结束)。

(2)内存赋值函数:memset(字符数组名,要替换的内容,要替换的个数),根据要替换的个数,用膏药替换的内容,替换字符串数组的内容(清0)。

(3)字符串拷贝:strcpy(字符数组1,字符数组2);strcpy(字符数组名,字符常量)。

(4)字符串拷贝:strncpy(目标数组,原数组,个数);将指定个数的字符串拷贝到指定的数组中。注意:strncpy不检查目标字符串的大小,当目标字符串内存不足,会导致崩溃。

(5)字符串比较:strcmp(字符串1,字符串2)。(规则:讲两个字符串自左至右逐个字符比较,直到遇到相同的字符或’’结束)。

 

比较的结果由函数值带回:

1>如果字符串1=字符串2,则函数值为0;

2>如果字符串1>字符串2,则函数值为一个正整数

3>如果字符串1<字符串2,则函数值为一个负整数

 

(6)字符串连接函数:strcat(字符数组1,字符数组2)。

(7)字符串转小写:strlwr(字符串)。

(8)字符串转大写:strupr(字符串)。
关键字:C语言  数组  字符串 引用地址:C语言的数组、字符串等一些知识总结

上一篇:sprintf转换说明符
下一篇:C语言中的转义字符

推荐阅读最新更新时间:2024-03-16 14:30

超声波测距C语言程序
超声波则距 是很多 电子制作 爱好者比较喜欢的制作项目,下面的这款超声波测距C语言程序,超声波测距发送用的是反相器推挽输出,这样可以加大发射功率,超声波测距接收端用的CX20106A这个红外芯片接收40KHZ的方波,这是网上比较经典的模式,按照这个电路是挺容易成功的测量误差的问题 1m内应为mm级、2m内1cm左右、5m的时候3cm左右。下面的这款超声波测距C语言程序程序也挺简单的,用的定时器和外部中断,接收到回波的时候触发外部中断,在中断服务程序中进行处理,不用加注释应该能看懂吧,这款超声波测距C语言程序程序肯定还有很多不足,给初学者用用应该也可以吧。 #include #define unit unsigned int #d
[单片机]
51单片机C语言教程(九) 语句应用
曾经在BBS上有朋友问过我{}是什么意思?什么作用?在C中是有不少的括号,如{}, ,()等,确实会让一些初入门的朋友不解。在VB等一些语言中同一个()号会有不同的作用,它可以用于组合若干条语句形成功能块,可以用做数组的下标等,而在C中括号的分工较为明显,{}号是用于将若干条语句组合在一起形成一种功能块,这种由若干条语句组合而成的语句就叫复合语句。复合语句之间用{}分隔,而它内部的各条语句还是需要以分号 ; 结束。复合语句是允许嵌套的,也是就是在{}中的{}也是复合语句。复合语句在程序运行时,{}中的各行单语句是依次顺序执行的。以C语言中可以将复合语句视为一条单语句,也就是说在语法上等同于一条单语句。对于一个函数而言,函数体就是一
[单片机]
如何写出好的单片机C语言代码
  程序能跑起来并不见得你的代码就是很好的c代码了,衡量代码的好坏应该从以下几个方面来看   1,代码稳定,没有隐患。   2,执行效率高。   3,可读性高。   4,便于移植。   下面发一些我在网上看到的技巧和自己的一些经验来和大家分享;   1、如果可以的话少用库函数,便于不同的mcu和编译器间的移植   2、选择合适的算法和数据结构   应该熟悉算法语言,知道各种算法的优缺点,具体资料请参见相应的参考资料,有很多计算机书籍上都有介绍。将比较慢的顺序查找法用较快的二分查找或乱序查找法代替,插入排序或冒泡排序法用快速排序、合并排序或根排序代替,都可以大大提高程序执行的效率。.选择一种合适的数据结构也很重要,比
[单片机]
51单片机C语言运算符表
51单片机C语言运算符表: 注意:在逻辑运算中,凡结果为“0”的数值即为真,等于“0”为假。
[单片机]
51单片机<font color='red'>C语言</font>运算符表
C语言在8051单片机上的扩展
直接访问寄存器和端口 定义 sfr P0 0x80 sfr P1 0x81 sfr ADCON; 0xDE sbit EA 0x9F 操作 ADCON = 0x08 ; P1 = 0xFF ; io_status = P0 ; EA = 1 ; 在使用了interrupt 1 关键字之后,会自动生成中断向量 在 ISR中不能 与其他 后台循环代码 (the background loop code) 共享局部变量 因为 连接器 会复用 在RAM中这些变量的 位置 ,所以它们会有不同的意义,这取决于当前使用的不同的函数 复用变量对 RAM有
[单片机]
基于C语言STC89C52单片机电子密码锁的设计与仿真
搜索: IC库存 认证库存 PDF 文章 用户名: 密码: 社区 企业 免费注册 iframe marginWidth=0 marginHeight=0 src="http://afp21ic.allyes.com/main/adfshow?user=Afp21ic|MCU|logo_left&db=afp21ic&border=0&local=yes" frameBorder=0 width=758 scrolling=no height=64 /iframe 首页 资讯: 新闻 应用 新品 eBooks 电路图
[单片机]
单片机C语言程序结构容易出问题的有一下几点
一,定义寄存器 定义全局变量unsigend num 在子程序里面改变num值,同时在中断里面也改变num值,最后得到意向不到的值,容易出错 若要这样改变 则定义变量前面加volatile unsigend num 二,中断调用 主程序调用子程序,同时中断函数里面也调用该子程序,这样容易出错 建议:中断里面不要调用子程序, 若要调用子程序则,则该子程序为唯一被中断调用。 三,程序开头没加延时 开始的时候没加延时,很危险,上电电源电压波动较大,若一上电单片机就执行重要的命令的话,就容易出问题 特别是对内部eeprom的读写,读取数据出错,导致意向不到的后果。读写数据都需要比较稳定的电压。 亲,上电延时个
[单片机]
51单片机的MODBUS C语言程序(从机)
#include reg52.h typedef unsigned char uint8 typedef unsigned int uint16 uint8 sendCount; uint8 receCount; uint8 sendPosi; //字地址 0 - 255 (只取低8位) //位地址 0 - 255 (只取低8位) /// CRC 高位字节值表 /// const uint8 code auchCRCHi = { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved