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中已经更新,数组下标可以是变量,这意味着数组长度可以被改变。

如下是一个

c语言——字符与字符串(基本知识和常用函数)_第1张图片

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

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

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

就酱,拜拜~

你可能感兴趣的:(c语言,开发语言)