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

目录
相关文章
|
1月前
|
C语言 C++
【C语言】解决不同场景字符串问题:巧妙运用字符串函数
【C语言】解决不同场景字符串问题:巧妙运用字符串函数
|
15天前
|
存储 C语言
【c语言】字符串函数和内存函数
本文介绍了C语言中常用的字符串函数和内存函数,包括`strlen`、`strcpy`、`strcat`、`strcmp`、`strstr`、`strncpy`、`strncat`、`strncmp`、`strtok`、`memcpy`、`memmove`和`memset`等函数的使用方法及模拟实现。文章详细讲解了每个函数的功能、参数、返回值,并提供了具体的代码示例,帮助读者更好地理解和掌握这些函数的应用。
15 0
|
28天前
|
存储 安全 编译器
深入C语言库:字符与字符串函数模拟实现
深入C语言库:字符与字符串函数模拟实现
|
2月前
|
存储 C语言
【C语言基础考研向】10 字符数组初始化及传递和scanf 读取字符串
本文介绍了C语言中字符数组的初始化方法及其在函数间传递的注意事项。字符数组初始化有两种方式:逐个字符赋值或整体初始化字符串。实际工作中常用后者,如`char c[10]=&quot;hello&quot;`。示例代码展示了如何初始化及传递字符数组,并解释了为何未正确添加结束符`\0`会导致乱码。此外,还讨论了`scanf`函数读取字符串时忽略空格和回车的特点。
|
2月前
|
存储 Serverless C语言
【C语言基础考研向】11 gets函数与puts函数及str系列字符串操作函数
本文介绍了C语言中的`gets`和`puts`函数,`gets`用于从标准输入读取字符串直至换行符,并自动添加字符串结束标志`\0`。`puts`则用于向标准输出打印字符串并自动换行。此外,文章还详细讲解了`str`系列字符串操作函数,包括统计字符串长度的`strlen`、复制字符串的`strcpy`、比较字符串的`strcmp`以及拼接字符串的`strcat`。通过示例代码展示了这些函数的具体应用及注意事项。
|
1月前
|
C语言
C语言常见字符函数和字符串函数精讲
C语言常见字符函数和字符串函数精讲
|
1月前
|
C语言
【C语言】模拟实现深入了解:字符串函数
【C语言】模拟实现深入了解:字符串函数
|
2月前
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
|
2月前
|
C语言
C语言 字符串操作函数
本文档详细介绍了多个常用的字符串操作函数,包括 `strlen`、`strcpy`、`strncpy`、`strcat`、`strncat`、`strcmp`、`strncpy`、`sprintf`、`itoa`、`strchr`、`strspn`、`strcspn`、`strstr` 和 `strtok`。每个函数均提供了语法说明、参数解释、返回值描述及示例代码。此外,还给出了部分函数的自实现版本,帮助读者深入理解其工作原理。通过这些函数,可以轻松地进行字符串长度计算、复制、连接、比较等操作。
|
3月前
|
C语言
【C语言】字符串及其函数速览
【C语言】字符串及其函数速览
30 4