当前位置: 首页 > wzjs >正文

怎么做网站上的销售代建站系统软件有哪些

怎么做网站上的销售代,建站系统软件有哪些,芜湖市建设工程网站维护公告,嵊州网站设计目录 一.字符分类函数 1.1--字符分类函数的理解 1.2--字符分类函数的使用 二.字符转换函数 2.1--字符转换函数的理解 2.2--字符转换函数的使用 三.strlen的使用和模拟实现 3.1--strlen的使用演示 3.2--strlen的返回值 3.3--strlen的模拟实现 四.strcpy的使用和模拟实现…

目录

 一.字符分类函数

1.1--字符分类函数的理解

1.2--字符分类函数的使用

 二.字符转换函数

2.1--字符转换函数的理解

2.2--字符转换函数的使用 

三.strlen的使用和模拟实现

3.1--strlen的使用演示

3.2--strlen的返回值

 3.3--strlen的模拟实现

 四.strcpy的使用和模拟实现

4.1--strcpy的使用演示

4.2--strcpy的模拟实现

五.strcat的使用和模拟实现

5.1--strcat的使用演示 

5.2--strcat的模拟实现 


🔥个人主页:@草莓熊Lotso的个人主页

🎬作者简介:C++研发方向学习者

📖个人专栏:《C语言》

⭐️人生格言:生活是默默的坚持,毅力是永久的享受。 


 一.字符分类函数

1.1--字符分类函数的理解

--C语言中有一系列函数是专门做字符分类的,也就是一个字符是属于什么类型的字符的。

这些函数的使用都需要包含头文件ctype.h

1.2--字符分类函数的使用

这些函数的使用方法十分类似,在这里以一个函数为例,其它的都很类似:

1. int islower ( int c ); 

islower是用来判断参数部分的C是不是大小写的,通过返回值来说明是不是小写字母,如果是就返回非零整数,如果不是就返回0;

练习:

 写一个代码,将字符串中的小写字符全部转为大写,其它字符不变。

#include<stdio.h>
#include<ctype.h>
int main()
{int i = 0;char arr[] = "I am a GENIUS";while (arr[i]){if (islower(arr[i]))arr[i] -= 32;//小写字母和大写字母的Ascll码值差32printf("%c", arr[i]);i++;}return 0;
}

 二.字符转换函数

2.1--字符转换函数的理解

--C语言提供了2个字符转换函数:(也需要包含头文件ctype.h)

1. int tolower ( int c ); //将参数传进去的大写字母转小写

2. int toupper ( int c ); //将参数传进去的小写字母转大写

上面我们将小写转大写,是利用了小写字母和大写字母的Ascll码值差32的性质,有了转换函数,就可以直接使用toupper函数实现小写转大写了。

2.2--字符转换函数的使用 

练习:

 写一个代码,利用字符转换函数将字符串中的小写字符全部转为大写,其它字符不变。

#include<stdio.h>
#include<ctype.h>
int main()
{int i = 0;char arr[] = "I am a GENIUS";while (arr[i]){if (islower(arr[i]))arr[i]=toupper(arr[i]);printf("%c", arr[i]);i++;}return 0;
}

三.strlen的使用和模拟实现

1. size_t strlen ( const char  *  str );

功能:统计参数str指向的字符串的长度,统计的是字符串中 '\0' 之前的字符的个数。

参数:str指针,指向了要统计长度的字符串。

返回值:返回了str指向的字符串的长度,返回的长度不会是负数,所以返回类型是size_t。

3.1--strlen的使用演示

#include<stdio.h>
#include<string.h>int main()
{const char* str = "abcdef";printf("%zd\n", strlen(str));//6return 0;
}

使用注意事项:

  •  字符串以 '\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前面出现的字符个数(不包
  • '\0' )。
  • 参数指向的字符串必须要以 '\0' 结束。
  • 注意函数的返回值为 size_t,是无符号的( 易错 )
  • strlen的使用需要包含头文件<string.h>

3.2--strlen的返回值

 --strlen函数的返回值为 size_t,是无符号的( 易错 ),那为什么说它易错呢,我们来通过一串代码直观了解一下吧

#include <stdio.h>
#include <string.h>
int main()
{const char* str1 = "abcdef";const char* str2 = "bbb";if (strlen(str2) - strlen(str1) > 0){printf("str2>str1\n");}else{printf("srt2<str1\n");}return 0;
}

错误理解:按一般的想法来说,strlen(str2)-strlen(str1)应该是-3,小于0,所以打印srt2<str1,但是其实不是,我们来看看运行的结果: 

我们会发现结果是str2>str1,这正是因为strlen函数的返回类型是size_t类型,始终大于0,strlen(str2)-strlen(str1)的结果也是size_t类型的,所以也是大于0,直接打印出str2>str1。不过改成strlen(str2)>strlen(str1)就会打印出srt2<str1了。当然也有别的理解方法,这里就不多讲了。

 3.3--strlen的模拟实现

方法1:

//用计数器的方法
#include<stdio.h>
#include<assert.h>
size_t mystrlen(const char* str)
{int count = 0;assert(str!=NULL);while (*str){count++;str++;}return count;
}
int main()
{char arr[] = "abcdef";size_t ret = mystrlen(arr);printf("%d", ret);return 0;
}

方法2:

//用指针减指针
#include<stdio.h>
#include<assert.h>
size_t mystrlen(char* str)
{assert(str != NULL);char* p = str;while (*p){p++;}return p - str;}
int main()
{char arr[] = "abcdef";size_t ret = mystrlen(arr);printf("%d", ret);return 0;
}

方法三:

//不创建临时变量,用递归做
#include<stdio.h>
#include<assert.h>
size_t mystrlen(const char* str)
{assert(str != NULL);if (*str == '\0'){return 0;}else{return 1 + mystrlen(str + 1);}}
int main()
{char arr[] = "abcdef";size_t ret = mystrlen(arr);printf("%d", ret);return 0;
}

 四.strcpy的使用和模拟实现

1. char *  strcpy (char  *  destination, const char  *  source );

功能:字符串拷贝,将源头的字符串拷贝到目标空间中,拷贝到源头字符串中的 '\0' 为止。

参数: destination指针,指向目的地空间;source指针,指向源头数据。

返回值:strcpy函数返回的目标空间的起始地址。

4.1--strcpy的使用演示

#include <stdio.h>
#include <string.h>int main()
{char arr1[20] = { 0 };char arr2[] = "hello";char*p=strcpy(arr1, arr2);printf("%s\n", p);printf("%s\n", arr1);//两种打印方式都可以return 0;
}

 使用注意事项:

  • 源字符串必须以 '\0' 结束。
  • 会将源字符串中的 '\0' 拷贝到目标空间。
  • 目标空间必须足够大,以确保能存放源字符串,[ ]里不能为空。
  • 目标空间必须可修改,比如用char*p="xxxxxxxxxxxx"就不行,无法修改

4.2--strcpy的模拟实现

#include<stdio.h>
#include<assert.h>char* mystrcpy(char* arr1, const char* arr2)
{assert(arr1&&arr2);char* p = arr1;while ((*arr1++ = *arr2++)){;}return p;
}
int main()
{char arr1[20] = "xxxxxxxxxxxxxx";char arr2[] = "abcdef";char* ret = mystrcpy(arr1, arr2);printf("%s", ret);return 0;
}
//1.参数顺序
//2.函数的功能,停⽌条件
//3.assert
//4.const修饰指针
//5.函数返回值
//6.题⽬出⾃《⾼质量C/C++编程》书籍最后的试题部分

五.strcat的使用和模拟实现

1.  char *  strcat (char  *  destination, const char  *  source );

功能:字符串追加,把source指针的源字符串中的所有字符都追加到destination指向的空间中。

参数:destination指针,指向目的地空间;source指针,指向源头数据。

返回值:strcat函数返回的目标空间的起始地址。

5.1--strcat的使用演示 

#include <stdio.h>
#include <string.h>int main()
{char arr1[20] = "hello";char arr2[] = "world";char* p = strcat(arr1, arr2);printf("%s\n", p);printf("%s\n", arr1);//两种打印方式都可以return 0;
}

使用注意事项:

  • 源字符串必须以 '\0' 结束。
  • 目标字符串中也得有 \0 ,否则没办法知道追加从哪里开始。
  • 目标空间必须有足够的大,能容纳下源字符串的内容,[ ]里不能为空。
  • 目标空间必须可修改,比如用char*p="hello"就不行,无法修改

5.2--strcat的模拟实现 

#include<stdio.h>
#include<assert.h>char* mystrcat(char* arr1, const char* arr2)
{assert(arr1 && arr2);char* p = arr1;while (*arr1){arr1++;}//找到目标字符串中的\0,明确从那里开始追加。while ((*arr1++ = *arr2++)){;}return p;
}
int main()
{char arr1[20] = "hello";char arr2[] = "world";char* ret = mystrcat(arr1, arr2);printf("%s", ret);return 0;
}

往期回顾节选:

【C语言指针超详解(六)】--sizeof和strlen的对比,数组和指针笔试题解析,指针运算笔试题解析

【趣味小游戏】--扫雷游戏

结语:本篇文章就到此结束了,继前面几篇文章后,在此篇文章中给大家分享了字符分类函数,字符转换函数,strlen,strcpy,strcat函数的使用和模拟实现等知识点,后续会继续分享字符函数和字符串函数的相关知识点,如果文章对你有帮助的话,欢迎评论,点赞,收藏加关注,感谢大家的支持。

http://www.dtcms.com/wzjs/403873.html

相关文章:

  • 在线手机网站制作百度明星人气排行榜
  • dart语言做的网站天津seo优化公司
  • 代理国外网站微商引流人脉推广软件
  • 栖霞网站设计南京seo关键词优化预订
  • 管理咨询公司有哪些太原seo网站管理
  • 广州做网站哪个公司做得好怎么做外链
  • 如何知道一个网站的流量竞价
  • 网站建设数据库怎么选择最新时事热点
  • 网站建设汇卓安卓手机游戏优化器
  • 销售小程序软件有前景吗河北网站seo地址
  • 域名永久免费注册四川seo推广
  • wordpress无法上传mp3网络优化器下载
  • 如果盗用网站模板北京sem
  • 如何选择专业网站开发商十大seo免费软件
  • 北京网站设计公司兴田德润放心免费个人网站建站
  • dw设计做网站案例seo就是搜索引擎广告
  • 用vs2010做网站教程营销推广平台
  • 黄山网站建设中国十大it培训机构排名
  • 专业网站建设费用科学新概念seo外链
  • 门户网站建设思维导图手游推广平台有哪些
  • 用java做网站好吗新闻发稿渠道
  • 网站流量统计分析的维度包括世界企业排名500强
  • 网站内容填写路由器优化大师
  • 自制手机网站疫情最严重的三个省
  • 长沙seo网站建设袁飞最好百度推广公司电话
  • 工信部网站黑名单查询最近10条重大新闻
  • 好看的公司网站排版设计软文代写平台
  • wordpress没有票编辑器凌哥seo技术博客
  • 做新网站推广的活动济南今日头条最新消息
  • 网站开发技术简介dw新东方在线教育平台官网