定义字符是char ,一定是单引号,每次只能赋值一个字符

【单引号和双引号在C语言中用于创建两种不同的数据类型】

如果希望使用能够容纳不止一个字符的变量,那就要用到字符数组

ASCII表

ios 字符数组裁剪 字符数组操作_网络

 

字符数组

char c[6]={'h','e','l','l','o'} //这里为什么申请5个空间呢,因为字符数组还会有一个'\0'字符占位,所以5个长度的字符需要6个存储空间

字符数组存储字符串,必须存储结束符'\0'         

scanf读取整个字符串时使用%s,单个字符"%c"

字符数组的传递

#include <stdio.h>

void Print(char b[]){   //b是形参 
	int i=0;
	while(b[i]!='\0'){ //括号里还可以写成b[i]或b[i]!=0 
		printf("%c",b[i]); 
		i++;        
	}
}


int main(){
	char a[10]="hello";  //a是实参 
	Print(a);
}

首字母变大写:

d[0]=d[0]-32;

gets与puts函数

gets

gets函数类似于scanf函数,用于读取标准输入。我们知道scanf 函数在读取字符串时遇到空格就认为读取结束,所以当输入的字符串存在空格时,我们需要使用gets函数进行读取。

gets函数的格式如下:

char *gets(char *str);

字符数组的数组名里存的就是字符数组的起始地址,所以是指针类型

gets 函数从STDIN(标准输入)读取字符并把它们加载到str(字符串)中,直到遇到换行符(\n)或到达EOF。gets遇到\n后,不会存储\n,而是将其直接翻译为空字符'\0'

 

puts

puts函数类似于printf函数,用于输出标准输出。

puts函数的格式如下:

int puts(char *str);

函数 puts把str(字符串)写入STDOU(标准输出)。puts执行成功时返回非负值,执行失败时返回EOF。相对于printf函数,puts 只能用于输出字符串,同时多打印一个换行符

等价于printf("%s \n" , c);

int main(){
	char a[30];
	gets(a);
	puts(a);

}

 

ios 字符数组裁剪 字符数组操作_网络协议_02

字符串的相关操作

strlen函数用于统计字符串长度,strcpy函数用于将某个字符串复制到字符数组中,strcmp函数用于比较两个字符串的大小,strcat函数用于将两个字符串连接到一起。各个函数的具体格式如下所示:
 

sizeof()  : 获取的是字符数组的大小,而不是字符数组里字符的长度

strlen():字符数组里字符的长度(长度不算'\0') size_t strlen(char *str)

char a[20]="sunday";
sizeof(a);  //结果是20不是6
strlen(a);  //6

 

const 是说可以用字符常量来修饰 !

const过的初始化变量不能再被修改

strcpy():将后面的字符串复制到前面的字符数组中  char *strcpy(char *to,const char *from)

char d[10];
strcpy(d,"love");  //love
-------------------------
char d[10]="spring",e[15]="hi";
strcpy(d,e);
puts(d);   //hi

 

strcmp():比较两个字符串的大小  int strcmp(const char *str1,const char *str2)

                 相等:返回0       str1<str2: 返回-1          str1>str2:返回1

      注意:比的不是两个字符串的长度,而是字符在ascii码中对应的数值比如hello<how

int ret=strcmp("hello","how");
printf(ret);  //-1

 

strcat():将两个字符串连接到一起  char *strcat(char *str1,const crar *str2)

               将后面的字符串拼接到前面的字符串后面,注意只有str2可以用const修饰

        注意:拼接后的字符长度一定要小于str1的数组长度,否则无法容纳

char d[20]="happy";
char c[10]="day";
strcat(d,c);
puts(d);   //happyday