c语言——字符与字符串(基本知识和常用函数)

目录

字符型数据类型

字符串

字符数组的初始化方式

 动态定义数组长度

常用的、对字符串进行操作函数


通俗的来讲,字符一般是字母、数字。我们可以认为字符型就是特殊的整型。

(数字和字母占一个字节,汉字占两个字节)

字符型数据类型

  • 这是基本数据类型之一,关键字为char。
  • char数据类型仅仅占一个字节,为signed类型时数据范围是-128~127,为unsigned类型时数据范围是0~225。由于操作系统不一样,char可能被默认为signed,也有可能被默认为unsigned型。
  • char的使用如下:
char a=65;

数字是某个字符对应的ASCII码值
如果输出占位符是 %c 就输出对应字符
如果是 %d 就输出原本数字
如果该数字没有对应的ASCII码值,输出结果乱码

char b='A';

如果输出占位符是 %d,输出对应ASCII码
如果占位符是 %c 直接输出该字符
!!!只能有一个字母,不能是汉字

char c='6';

不论输出占位符是 %c 还是 %d ,输出都是6
因为这时 6 会被当作一个字符而不是数字
只能有一个数字,若赋值多个数字,只输出最后一个

char d='/n';

可以使用各种转义字符

字符串

字符串就是很多连在一起的字符,而且字符串可以是汉字哦。我们 一般用字符数组来存放字符串。字符串总是以 \0 结尾。

  • 输出占位符%s
  • 输出格式:printf("%s",a);     a是数组名称。

字符数组的初始化方式

char x[4]={'c','a','t','\0'};
单引号中只能引用一个字节
最后的\0 其实不用手动添加,系统会自动帮你加上
数组下标最少要比字符多一个,因为要给\0 留位置


char y[]={'c','a','t'};
当你已经给数组内每一个元素赋值,就可以免去数组下标
这时候系统也会自动帮你添加\0


char z[]={"I love cats!"};
这种赋值方式算是最简便的,我称之为YYDS

\0 是字符串结束的方式,但输出时不会显示\0 。一定一定加上\0或预留足够空间让系统自动加上。

 动态定义数组长度

以前中版本,数组下标是不允许是变量的,只能是常量或者是常量表达式。但是在c99中已经更新,数组下标可以是变量,这意味着数组长度可以被改变。

如下是一个🌰

677fcfb6020e4940a76449b764709b67.jpeg

 我将变量a作为数组x的下标,程序正常运行

常用的、对字符串进行操作函数

    • puts(输出)和gets(输入),这两个函数只能输入输出字符(串)。
    • strcat字符串连接
    • strcpy字符串赋值
    • strcmp字符串比较(返回0相等)
    • strlen字符串长度
    • strlwr中大写换小写
    • strupr小写换大写
除puts和gets,以上其他函数使用时需要在程序前加上#include<string.h>。
sizeof和strlen的区别:sizeof计算的是字节数(一个数字/字母占两字节,一个汉字占四字节),strlen计算字符数量(即几个字母/数字/汉字),一般后者更加常用。

就酱,拜拜~

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

若东

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值