[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语言的学习笔记(下)中知识点对应的程序练习,希望对有需要的朋友有所帮助。最后希望看到此处的朋友能点点关注点个赞支持一下,谢谢

  • 25
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

译泽在努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值