字符串函数与字符函数运用(1)

news2024/10/6 10:42:42

字符串与字符函数介绍1

  • 前言
  • 一、字符分类函数
    • 字符函数练习
  • 二、字符函数转换
    • 1.引入库
    • 2.代码改进
  • 字符串函数
    • strlen函数
    • strcpy
  • 结尾


前言

字符串函数大概有以下这几种 strcpy、strcat 、strcmp、strncpy、strncat、strncmp、strstr、strtok、strerror

这些函数可以很好的解决你所遇到的关于字符串相对应的问题

字符函数


以下是本篇文章正文内容,下面案例可供参考

一、字符分类函数

在这里插入图片描述
这些函数都是放在一个头文件 ctype.h
在这里插入图片描述

这些函数运用都差不多
比如:islower字符函数
函数类型

int islower(int c)//这是islower的函数,(int c)实际上是传字符的ASCALL码值
返回值
在这里插入图片描述
如果输入的值不是小写字母的话就返回0
如果是小写字母的话就返回一个非0值

代码展示

int main()
{
	int ret = islower('a');
	printf("%d\n", ret);
	return 0;
}

在这里插入图片描述

字符函数练习

//写个代码,将字符串的小写字母转大写字母,其他字符不变.
int main()
{
	char arr[] = "I AM A student";
	 //           I AM A student\0
	int i = 0;
	while (arr[i] != '\0')
	{
		if (arr[i] >= 'a' && arr[i] <= 'z')
		{
			arr[i] -= 32;
		}

		i++;
	}
	printf("%s", arr);


	return 0;
}

通过所学的字符函数我们就可以进行替换
int main()
{
char arr[] = “I AM A student”;
// I AM A student\0
int i = 0;
while (arr[i]!=‘\0’)
{
if (islower(arr[i]))//在这里替换
{
arr[i] -= 32;
}
i++;
}
printf(“%s”, arr);
return 0;
}

总而言之:
这些字符函数都与islower用法相似,不是所要判断的内容就返回
0;否则就返回非0值

二、字符函数转换

1.引入库

C语言提供了2个字符转换函数:

  1. int tolower(int c);//将参数传进去的大写字母转小写
  2. int toupper(int c);//将参数传进去的小写字母转大写
int main()
{
	printf("%c\n",toupper('a'));
	printf("%c\n", tolower('A'));
	return 0;
}

在这里插入图片描述

通过字符转换
那么我们可以进一步的改良大写转小写的项目
int main()
{
char arr[] = “I AM A student”;
// I AM A student\0
int i = 0;
while (arr[i]!=‘\0’)
{
if (islower(arr[i]))
{
arr[i] =toupper(arr[i]);//在这里替换
}
i++;
}
printf(“%s”, arr);
return 0;
}

2.代码改进

通过字符转换
那么我们可以进一步的改良大写转小写的项目

代码如下(示例):

int main()
{
	char arr[] = "I AM A student";
	//           I AM A student\0
	int i = 0;
	while (arr[i]!='\0')
	{
		if (islower(arr[i]))
		{
			arr[i] =toupper(arr[i]);//在这里替换
		}
		i++;
	}
	printf("%s", arr);
	return 0;
}

字符串函数

1. 懂得怎么运用字符串函数
2. 深刻理解字符串函数的实现
3. 模拟字符串函数<一步一步的解析字符串函数>

strlen函数

strlen的详细内容在这里插入图片描述

  1. 返回值size_t

如图所示
int main()
{// 3 - 4
if (strlen(“abc”) - strlen(“abcdef”)>0)
{
printf(“>\n”);
}
else
{
printf(“<=\n”);
}
}
在这里插入图片描述
>因为这里的strlen返回值是size_t无符号数,
那么3-4=(无符号数)
所以结果是>0的值;返回>

  1. strlen模拟实现
    方式1:
//方式1:计数器
int count(char* arr1)
{
	int a = 0;
	int i = 0;
	while (arr1[i] != '\0')
	{
		i++;
		a++;
	}
	return a;
}

方式2:递归

int cwz(char* arr1)
{
assert(arr1);
if(*arr1=='\0')
{
return 0;
}
else
{
return 1+cwz(arr1+1);
}
}

方法3:指针

int cwz(char* arr1)
{
assert(arr1);
char* p=arr1;
while(*p!='\0')
{
p++;
}
return p-arr1;

strcpy

char* strcpy(chardestination,charsource )
1:strcpy函数的主要功能就是复印的作用
(1)strcpy返回的类型是char*,参数是指针。
2:参数
(1)我们要把源头的字符要打印到目的地
(2)条件一:而且目的地的(数组的容量要够大)
条件二:源头的数组最后不能没有‘\0’

如果没有程序会崩溃
在这里插入图片描述

3:模拟实现strcpy

void cwz(char* dest, const char* source)
{
	assert(dest);
	assert(source);
	while (*source != '\0')
	{
		*dest = *source;
		dest++;
		source++;
	}
	*dest = *source;
}

int main()
{
	char arr[] = "sfaskf";
	char arr1[30] = { 0 };
	cwz(arr1, arr);
	printf("%s", arr1);
}

在这里插入图片描述

结尾

字符串函数与字符函数(1)
到此结束喽!!!
我也会尽快更更新(2)ლ(′◉❥◉`ლ)敬请期待后续内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1638621.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构的队列(c语言版)

一.队列的概念 1.队列的定义 队列是一种常见的数据结构&#xff0c;它遵循先进先出的原则。类似于现实生活中排队的场景&#xff0c;最先进入队列的元素首先被处理&#xff0c;而最后进入队列的元素则要等到前面的元素都被处理完后才能被处理。 在队列中&#xff0c;元素只能…

什么,你的EasyExcel导出一万条数据就OOM了?

前言 前段时间在做一个导出的功能&#xff0c;本以为是平平无奇的一个功能。就用公司内部的一个导出工具类三下五除二就写完了&#xff0c;做法是直接查全量数据&#xff0c;然后直接往Excel里写。一开始没多少数据也没什么问题&#xff0c;但是当数据量逐渐多了起来后&#x…

【OpenCV • c++】图像平滑处理(2) —— 方框滤波 | 盒滤波 | 源码分析

文章目录 前言一、方框滤波代码演示 二、源码分析 前言 前文我们了解了什么是图像平滑处理、图像滤波、邻域算子与线性邻域滤波、以及如何使用方框滤波&#xff0c;本文我们来分析一下方框滤波的源码。 一、方框滤波 void boxFilter(InputArray src, OutputArray dst, int ddep…

面试常见 | 项目上没有亮点,如何包装?

很多技术人在公司用的老技术&#xff0c;而且很多都是搬业务代码且做枯燥乏味的CRUD&#xff0c;在面试提交简历或做自我介绍的时候并不突出&#xff0c;这种情况&#xff0c;如何破局&#xff1f; 首先不管你做的啥项目&#xff0c;全世界不可能只有你自己在做&#xff0c;比…

Android Handler用法

Android Handler用法 为什么要设计Handler机制&#xff1f;Handler的用法1、创建Handler2、Handler通信2.1 sendMessage 方式2.2 post 方式 Handler常用方法1、延时执行2、周期执行 HandlerThread用法主线程-创建Handler子线程-创建Handler FAQMessage是如何创建主线程中Looper…

Agent AI智能体的未来

未来社会中的智能使者&#xff1a;Agent AI智能体的可能性与挑战 随着科技的迅速进步&#xff0c;人工智能已深入我们生活的各个领域&#xff0c;而Agent AI智能体作为与人工智能紧密相关的一个分支&#xff0c;其未来发展无疑是值得期待的。Agent AI智能体&#xff0c;或称为…

JAVA Coding 规范

Coding 规范 文章目录 Coding 规范一.文件规范1.1 声明1.2 缩进1.3 空行1.4 空格1.5 对齐1.6 小括号1.7 花括号1.8 代码长度 二.命名规范2.1 命名总则2.2 命名空间2.3 类与接口2.4 方法命名2.5 属性命名2.6 常量命名2.7 变量命名 三.语句规范3.1 语句总则3.2 循环语句3.3 Switc…

【note3】linux驱动基础,

文章目录 1.互斥锁和自旋锁选择&#xff1a;自旋锁&#xff08;开销少&#xff09;的自旋时间和被锁住的代码执行时间成正比关系2.linux错误码&#xff1a;64位错误指针指向内核空间最后一页&#xff0c;对于 1.互斥锁和自旋锁选择&#xff1a;自旋锁&#xff08;开销少&#x…

QT:核心控件-QWidget

文章目录 控件enableobjectNamegeometrysetWindowTitleopacitycursorFonttooltipstyleSheet 控件 什么是控件&#xff1f; 如上所示&#xff0c;就是控件&#xff0c;而本篇要做的就是对于这些控件挑选一些比较有用的常用的进行讲解分析 在QT的右侧&#xff0c;会有对应的空间…

【面试经典 150 | 分治】将有序数组转换为二叉搜索树

文章目录 写在前面Tag题目来源解题思路方法一&#xff1a;中序遍历递归建树 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于本题涉及到的数据结构等…

如何有效地合并和分类多个文件目录?

在现代办公环境中&#xff0c;文件管理和组织是至关重要的。随着科技的发展&#xff0c;我们不再仅仅依赖于纸质文件&#xff0c;而是更多地使用电子设备来存储和管理信息。这种转变带来了一些新的挑战&#xff0c;其中之一就是如何有效地合并和分类多个目录文件。一&#xff0…

Sortable 拖拽行实现el-table表格顺序号完整例子,vue 实现表格拖拽行顺序号完整例子

npm install sortable<template><vxe-modalref"modalRef"v-model"showModal"title"详情"width"70vw"height"60vh"class"his"transfer><el-table ref"tableRef" :data"tableData&q…

树莓派5用docker运行Ollama3

书接上回&#xff0c;树莓派5使用1panel安装 Ollama 点击终端就可以进入容器 输入以下代码 ollama run llama3Llama3 是市场推崇的版本。您的 树莓派5上必须至少有 4.7GB 的可用空间&#xff0c;因此用树莓派玩机器学习就必须配置大容量的固态硬盘。用1panel部署网络下载速度…

4G远程温湿度传感器在农业中的应用—福建蜂窝物联网科技有限公司

解决方案 农业四情监测预警解决方案 农业四情指的是田间的虫情、作物的苗情、气候的灾情和土壤墒情。“四情”监测预警系统的组成包括管式土壤墒情监测站、虫情测报灯、气象站、农情监测摄像机&#xff0c;可实时监测基地状况,可以提高监测的效率和准确性&#xff0c;为农业生…

“Unite“ > MacOS下很不错的网站转应用App的工具

前言 前不久在浏览mac论坛&#xff0c;无意了解到一款非常好的工具&#xff0c;可以将网站转换为app&#xff0c;考虑到我们现在的主要应用都从本地客户端转成web形式使用&#xff0c;但基于本能的使用习惯&#xff0c;还是希望有个快捷的访问信息&#xff0c;这个应用非常适合…

202012青少年软件编程(Python)等级考试试卷(一级)

第 1 题 【单选题】 运行下方代码段&#xff0c;输出是6&#xff0c;则输入的可能是&#xff08; &#xff09;。 a eval(input())print(a)A :8%2 B :8/2 C :3*2 D :3**2 正确答案:C 试题解析: 第 2 题 【单选题】 关于Python变量&#xff0c;下列叙述正确的是&#x…

Offer必备算法33_DFS爆搜深搜回溯剪枝_八道力扣题详解(由易到难)

目录 ①力扣784. 字母大小写全排列 解析代码1_path是全局变量 解析代码2_path是函数参数 ②力扣526. 优美的排列 解析代码 ③力扣51. N 皇后 解析代码 ④力扣36. 有效的数独 解析代码 ⑤力扣37. 解数独 解析代码 ⑥力扣79. 单词搜索 解析代码 ⑦力扣1219. 黄金矿…

[嵌入式系统-58]:RT-Thread-内核:线程间通信,邮箱mailbox、消息队列MsgQueue、信号Signal

目录 线程间通信 1. 邮箱 1.1 邮箱的工作机制 1.2 邮箱控制块 1.3 邮箱的管理方式 &#xff08;1&#xff09;创建和删除邮箱 &#xff08;2&#xff09;初始化和脱离邮箱 &#xff08;3&#xff09;发送邮件 &#xff08;4&#xff09;等待方式发送邮件 &#xff08…

excel 和 text 文件的读写操作

excel 和 text 文件的读写操作 1. text 文件读写包 open语句 在文件存在的时候&#xff0c;即打开文件&#xff08;此时操作会覆盖文件&#xff0c;实际就是删除文件重后重新创建&#xff09;&#xff1b;在文件不存在的时候&#xff0c;即创建文件。 import sys print(sys.…

商务谈判技巧与口才书籍有哪些类型

商务谈判技巧与口才书籍有哪些类型&#xff08;3篇&#xff09; 商务谈判技巧与口才书籍的类型丰富多样&#xff0c;以下从三个角度进行介绍&#xff1a; **篇&#xff1a;基础理论与策略类书籍 这类书籍通常深入剖析谈判的本质&#xff0c;系统介绍谈判的原理、技巧和策略。…