C语言字符串与字符串函数

或许是多年再见,各自安静生活数年,在某个人潮拥挤的街头,透过公车的玻璃突然看见你。。。

----  网易云热评

一、字符数组

1、一个数组的元素是字符型,该数组是字符数组

2、赋值方式:

char c[ ]={'a','b','c'}  //只有三个字符

c[0]='a',c[1]='b',c[2]='c'

3、处理已知长度的字符数组

二、字符串

1、C语言没有字符串类型,所以只能以字符数组,结束标识'\0'

2、赋值方式:

char c[10]={'a','b','c'}   会自动补0

char c[]="abc" //有四个字符

c[0]='a',c[1]='b',c[2]='c',c[3]='\0'

三、字符串函数

1、strlen:获取字符成员个数,不包括\0

sizeof:返回字符串大小

#include

#include

int main() {

       int a[] = { 1,2,3,4,5 };

       char b[] = "123";

       printf("数组a的大小%d\n", sizeof(a));

       printf("数组b的大小%d\n", sizeof(b));

       printf("数组a的长度%d\n", sizeof(a)/sizeof(a[0]));

       printf("数组b的长度%d\n", strlen(b));

       system("pause");

       return 0;

}

2、strcpy:拷贝字符串

char a[]="" ;

char b[] = "aiyoubucuo";

3、strcat:连接字符串

char a[]="aiyou" ;

char b[] = "bucuo";

4、strcmp:比较字符串

#include

#include

int main() {

       char a[]="abc" ;

       char b[] = "abd";

       char c[] = "abc";

       printf("对比结果为:%d\r\n", strcmp(a, b));

       printf("对比结果为:%d\r\n", strcmp(b, a));

       printf("对比结果为:%d\r\n", strcmp(a, c));

       system("pause");

       return 0;

}

5、strlwr:大写字母转小写

6、strupr:小写字母转大写

7、fgets,获取输入内容,可以获取空格及换行,scanf不能获取

#include

#include

int main() {

       char a[100];

       fgets(a, sizeof(a),stdin);

       printf("您输入的是:%s", a);

       system("pause");

       return 0;

}

8、strstr(),strchr(),查询字符或字符串是否存在

#include

#include

int main() {

       char a[]="aiou bucuo";

       char *b=strchr(a,'a');

       char* c = strstr(a, "aiou12");

       if (c==NULL)

       {

              printf("查询失败!\n");

       }

       else

       {

              printf("查询成功!\n");

       }

       system("pause");

       return 0;

}

9、strtok(),切割函数

#include

#include

int main() {

       char a[]="aiou bucuo ooo";

       char b[100];//拷贝数据,strtok会破坏原字符串

       strcpy(b, a);

       char* p;

       p=strtok(b," ");

       while (p!=NULL)

       {

              printf("切割后:%s\n", p);

              p = strtok(NULL, " ");

       }

       system("pause");

       return 0;

}

四、生成随机数

#include

#include

int main() {

       //设置种子,srand里面的数据一样,生成的随机数也一样,时间一直在变,所以取时间

       srand((unsigned int)time(NULL));

       for (int i=1;i<10;i++)

       {

              //生成随机数

              int num = rand();

              printf("随机数%d:%d\n", i, num);

       }

       system("pause");

       return 0;

}

运行结果:

欢迎关注公众号:顺便编点程

你可能感兴趣的:(C语言字符串与字符串函数)