[C语言]程序设计(四)

 

大家好,这里是争做图书馆扫地僧的小白。非常感谢各位的支持,也期待着您的关注。

目前博主有着C语言、C++、linux以及数据结构的专栏,内容正在逐步的更新。

希望对各位朋友有所帮助同时也期望可以得到各位的支持,有任何问题欢迎私信与我。

个人主页:争做图书馆扫地僧的小白_-CSDN博客

C语言专栏:C语言_争做图书馆扫地僧的小白的博客-CSDN博客

C++专栏:C++系列_争做图书馆扫地僧的小白的博客-CSDN博客

linux系统:linux系统_争做图书馆扫地僧的小白的博客-CSDN博客

数据结构:数据结构_争做图书馆扫地僧的小白的博客-CSDN博客

最后送大家一句话,路好不好走,也许我不能决定,但走不走,却只有我能决定。

目录

前言

一、字符串处理函数

(一)strlen练习题 

 (二)strcpy练习题

(三)strcat练习题

(四)strcmp练习题

总结


前言

         C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

        本篇程序练习时对应博主的C语言学习笔记(中)-CSDN博客,本次博客内容将围绕学习笔记中的相关知识点进行整理程序的相关练习,也是博主在学习C语言的过程中所练习的一些题目,希望对有需要的朋友有所帮助,之前的【C语言】程序练习(三)-CSDN博客与【C语言】程序练习(四)-CSDN博客已经将博主C语言学习笔记(中)-CSDN博客中的相关知识点整理了个大概,只是缺少一个字符串处理函数的相关练习题,下面就将字符串处理函数的相关练习题整理如下。


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

一、字符串处理函数

(一)strlen练习题 

#include <stdio.h>
#include <string.h>

int main()
{
	char xiaobai[32] = "hello";
	//可以直接输出
	printf("strlen(xiaobai) = %ld\n", strlen(xiaobai));
	//可以用变量保存计算的结果
	int len = strlen(xiaobai);
	printf("len = %d\n", len);
	//C语言中对字符串的处理是到'\0'就结束了
	char xiaobai[32] = "hello\0wrold";
	printf("strlen(xiaobai) = %ld\n", strlen(xiaobai));
	//清楚sizeof、strlen 区别
	// 1.sizeof是关键字  strlen 是函数
	// 2.sizeof计算的是占用的内存的字节数,只和定义时有关
	char s[32] = "abcd";
	printf("sizeof(s) = %ld\n", sizeof(s));//32
	printf("strlen(s) = %ld\n", strlen(s));//4
	return 0;
}

 (二)strcpy练习题

#include <stdio.h>
#include <string.h>

int main()
{
	char s1[32] = "beijing";
	char s2[32] = "hello";
	printf("操作前 s1 = [%s]\n", s1);
	printf("操作前 s2 = [%s]\n", s2);
	strcpy(s1, s2);
	printf("操作后 s1 = [%s]\n", s1);
	printf("操作后 s2 = [%s]\n", s2);
	printf("%c\n", s1[5]);
	printf("%c\n", s1[6]);
    //字符串赋值
    char str[32] = {0};
    strncpy(str, "hello", 6);

	return 0;
}

         注意:使用strcpy将短的字符串copy给长的字符串时,长字符串后面剩下的部分还在里面,只不过通过字符串的方式访问不到了。除此之外,要保证目标字符串足够大,否则产生越界错误。

(三)strcat练习题

#include <stdio.h>
#include <string.h>

int main()
{
	char s1[32] = "beijing";
	char s2[32] = "hello";
	printf("操作前 s1 = [%s]\n", s1);
	printf("操作前 s2 = [%s]\n", s2);
	strcat(s2, s1);
	printf("操作后 s1 = [%s]\n", s1);
	printf("操作后 s2 = [%s]\n", s2);

	return 0;
}

        注意:strcat和strcpy都需要目标字符串足够大,否则会有越界访问的风险。

(四)strcmp练习题

#include <stdio.h>
#include <string.h>

int main()
{
	char s1[32] = {0};
	char s2[32] = {0};
	gets(s1);
	gets(s2);
	printf("操作前 s1 = [%s]\n", s1);
	printf("操作前 s2 = [%s]\n", s2);
	int ret = strcmp(s1, s2);
	if(ret > 0){
		printf("s1>s2\n");
	}else if(ret<0){
		printf("s1<s2\n");
	}else{
		printf("s1==s2\n");
	}
	//返回值是s1和s2中第一个不相等的字符,ascii码的差值
	printf("ret = %d\n", ret);
	//带n的版本 表示只操作前n位
	char s3[32] = "hello1234";
	char s4[32] = "hello5678";
	int ret2 = strncmp(s3, s4, 5);
	printf("ret2 = %d\n", ret2);
	return 0;
}


总结

        以上就是今天要讲的内容,至此本篇程序练习就将博主之前的C语言学习笔记(中)的内容给补全了,本篇程序练习只包含字符串处理函数的相关练习。后续博主将继续整理C语言的学习笔记(下)中知识点对应的程序练习,希望对有需要的朋友有所帮助。最后希望看到此处的朋友能点点关注点个赞支持一下,谢谢

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

架构(1)

目录 1.如何理解架构的演进&#xff1f; 2.如何理解架构的服务化趋势&#xff1f; 3.架构中有哪些技术点&#xff1f; 4.谈谈架构中的缓存应用&#xff1f; 5.在开发中缓存具体如何实现&#xff1f; 1.如何理解架构的演进&#xff1f; 初始阶段的网站架构应用服务和数据服…

OpenAI ChatGPT-4开发笔记2024-02:Chat之text completion

API而已 大模型封装在库里&#xff0c;库放在服务器上&#xff0c;服务器放在微软的云上。我们能做的&#xff0c;仅仅是通过API这个小小的缝隙&#xff0c;窥探ai的奥妙。从程序员的角度而言&#xff0c;水平的高低&#xff0c;就体现在对openai的这几个api的理解程度上。 申…

自存react crash course(1)

1.创建一个react 项目 确保有node.js 创建名为react-task-tracker的react项目 npx create-react-app react-task-tracker 启动项目 npm start2.项目结构 所有组件都是放在src下面的 3. jsx // jsx语法 和html很像&#xff0c;class用的是className来使用css的样式<div…

vue3 实现关于 el-table 表格组件的封装以及调用

一、示例图&#xff1a; 二、组件 <template><div class"sn-table" :class"props.colorType 1 ? : bg-scroll"><el-table :data"tableData" :row-class-name"tableRowClassName" height"500" style"…

Ubuntu20 编译 Android 12源码

1.安装基础库 推荐使用 Ubuntu 20.04 及以上版本编译&#xff0c;会少不少麻烦&#xff0c;以下是我的虚拟机配置 执行命令安装依赖库 // 第一步执行 update sudo apt-get update//安装相关依赖sudo apt-get install -y libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-de…

海思SD3403/SS928V100开发(12)OSD显示开发

1.前言 由于需要显示一些硬件状态,暂时还没开发GUI; 所以可以使用海思平台的OSD硬件叠层来做, 下面是做的一些调试记录 2. 翻阅MPP文档 有几个地方需要注意的地方 建议使用OVERLAYER类型,支持模块多很多,还可以直接叠VO模块 3. sample测试 3.1 sample region samp…

阿贝云免费云服务器

最近体验了一下阿贝云的免费云服务器&#xff0c;总体感受是简单易上手。感兴趣的小伙伴们可以赶紧注册体验一下。 阿贝云官网&#xff1a; https://www.abeiyun.com 下图是我亲测的免费云服务器管理界面&#xff0c;免费云服务器的配置信是1核1GB&#xff0c;硬盘10GB&#x…

森林火灾图像数据集

目标是使用该数据集开发一个可以识别火焰图像的模型。收集数据是为了训练模型来区分包含火灾的图像&#xff08;火灾图像&#xff09;和常规图像&#xff08;非火灾图像&#xff09;&#xff0c;因此整个问题是二元分类。数据分为2个文件夹&#xff0c;fire_images文件夹包含75…

DASS最新论文整理@2023.12

CVPR 2023 论文来源&#xff1a;https://openaccess.thecvf.com/CVPR2023?dayall 1 Planning-oriented Autonomous Driving 面向规划的自动驾驶 (Best papper) 项目地址&#xff1a;https://opendrivelab.github.io/UniAD/ 现代自动驾驶系统的特点是按顺序执行模块化任务…

如何培养用户思维

产品开发是根据用户要求建造出系统的过程&#xff0c;产品开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程&#xff0c;一般通过某种程序设计语言来实现。然而用户思维能够帮助企业更好地理解市场需求&#xff0c;进行产品的开发和完善&#xff0c;用户是企业产…

【项目实战】Cadence工具的使用1

需要 Candece Jasper文档的朋友可以和我联系@tommi.wei@qq.com Vmanager 自动化仿真管理工具 对于这款工具,笔者用到最多的地方就是写testplan! 没错,根据设计文档(Target Specication),细分feature list. 对于验证工程师要做的事情,就是验证设计功能的完备性,需要逐一…

LLM对齐方案再升级

Microsoft&#xff1a;WizardLM WizardLM: Empowering Large Language Models to Follow Complex Instructions GitHub - nlpxucan/WizardLM: LLMs build upon Evol Insturct: WizardLM, WizardCoder, WizardMath 要点&#xff1a;使用prompt对种子指令样本进行多样化&#x…

vue无法获取dom

处理过程 watch监听值变化 index.js:33 [Vue warn]: Error in callback for watcher "$store.state.modelsStorageUrl": "TypeError: Cannot set properties of undefined (setting modelScene)"watch: {"$store.state.modelsStorageUrl":{ha…

网页爬虫在数据分析中的作用,代理IP知识科普

在当今信息爆炸的时代&#xff0c;数据分析成为洞察信息和制定决策的不可或缺的工具。而网页爬虫&#xff0c;作为数据收集的得力助手&#xff0c;在数据分析中扮演着举足轻重的角色。今天&#xff0c;我们将一同探讨网页爬虫在数据分析中的作用。 1. 数据收集的先锋 网页爬虫…

Java爬虫之Jsoup

1.Jsoup相关概念 Jsoup很多概念和js类似&#xff0c;可参照对比理解 Document &#xff1a;文档对象。每份HTML页面都是一个文档对象&#xff0c;Document 是 jsoup 体系中最顶层的结构。 Element&#xff1a;元素对象。一个 Document 中可以着包含着多个 Element 对象&#…

微信公众号(小程序)验证URL和事件推送

文章的内容适用小程序和公众号 微信官方示例代码demo下载地址&#xff1a;微信官方demo代码 必须下载&#xff0c;后面要用到 把微信官方示例代码也就是下图中除了 WXBizMsgCryptTest 文件外的所有文件复制到项目中 下面是全部代码&#xff0c;有问题请留言 代码中只提到了…

linux防护与集群——系统安全及应用

一、账号安全控制&#xff1a; 用户账号是计算机使用者的身份凭证或标识&#xff0c;每个要访问系统资源的人&#xff0c;必须凭借其用户账号才能进入计算机。在Linux系统中&#xff0c;提供了多种机制来确保用户账号的正当、安全使用 1.1 基本安全措施&#xff1a; 在Linux…

业务项目中Echarts图表组件的封装实践方案

背景&#xff1a;如果我们的项目是一个可视化类/营销看板类/大屏展示类业务项目&#xff0c;不可避免的会使用到各种图表展示。那在一个项目中如何封装一个图表组件既能够快速复用、UI统一&#xff0c;又可以灵活扩充Echarts的各种复杂配置项配置就变得极为重要。 封装目标 符…

vmware workstation的三种网络模式通俗理解

一、前言 workstations想必很多童鞋都在用&#xff0c;经常会用来在本机创建不同的虚拟机来做各种测试&#xff0c;那么对于它支持的网络模式&#xff0c;在不同的测试场景下应该用哪种网络模式&#xff0c;你需要做下了解&#xff0c;以便可以愉快的继续测&#xff08;搬&…

1.5C语言 双曲正弦函数(*) 优化麦克劳林公式

一.传统算法 #include<stdio.h> #include<math.h> int jc(int x); int main(){double x,eps,y0.0;scanf("%lf%lf",&x,&eps);int de1,i1;double item1.0;while(fabs(item)>eps){itempow(x,i)/jc(de);i2;yitem;}printf("%.6f\n",y); …