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

简介: 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 <stdio.h>
#include <stdlib.h>
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;
}

0a2653c851af460fa595bd959398a8f1.png

2、strcpy:拷贝字符串


char a[]="" ;


char b[] = "aiyoubucuo";


0eacb84100b54626af849e6b562bf92a.png


3、strcat:连接字符串


char a[]="aiyou" ;


char b[] = "bucuo";


2d65d23f6d4748949b924e4057485923.png


4、strcmp:比较字符串


#include <stdio.h>
#include <stdlib.h>
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;
}


0a2653c851af460fa595bd959398a8f1.png


5、strlwr:大写字母转小写


6、strupr:小写字母转大写


0eacb84100b54626af849e6b562bf92a.png


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


#include <stdio.h>
#include <stdlib.h>
int main() {
       char a[100];
       fgets(a, sizeof(a),stdin);
       printf("您输入的是:%s", a);
       system("pause");
       return 0;
}

2d65d23f6d4748949b924e4057485923.png

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


#include <stdio.h>
#include <stdlib.h>
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 <stdio.h>
#include <stdlib.h>
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;
}


0a2653c851af460fa595bd959398a8f1.png


四、生成随机数


#include <stdio.h>
#include <stdlib.h>
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;
}


运行结果:


0a2653c851af460fa595bd959398a8f1.png

目录
相关文章
|
3天前
|
C语言
C语言—字符函数与字符串函数(字符问题变简单的关键之技)
C语言—字符函数与字符串函数(字符问题变简单的关键之技)
4 0
|
4天前
|
C语言
每天一道C语言编程(4):字符串的逆序输出
每天一道C语言编程(4):字符串的逆序输出
7 0
|
4天前
|
算法 C语言 人工智能
|
4天前
|
存储 编译器 C语言
C语言:字符函数 & 字符串函数 & 内存函数
C语言:字符函数 & 字符串函数 & 内存函数
16 2
|
4天前
|
C语言
C语言中 字符串和数字的相互转换
C语言中 字符串和数字的相互转换
14 1
|
4天前
|
C语言 C++
C语言利用ASCII码表统计字符串每个字符出现的次数
C语言利用ASCII码表统计字符串每个字符出现的次数
18 0
|
4天前
|
C语言
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
|
4天前
|
存储 C语言
C语言中字符串的引用与数组元素操作
C语言中字符串的引用与数组元素操作
23 0
|
4天前
|
安全 C语言
指针与字符串:C语言中的深入探索
指针与字符串:C语言中的深入探索
17 0
|
4天前
|
存储 C语言
爱上C语言:scanf、gets以及getchar输入字符串你真的懂了吗
爱上C语言:scanf、gets以及getchar输入字符串你真的懂了吗