IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言学习-Part 04 -> 正文阅读

[C++知识库]C语言学习-Part 04

如你对其他C语言知识感兴趣,请考虑阅读我的专栏:

C语言学习【专栏】

须知

本文仅作学习笔记使用,仅在CSDN网站发布,如果在其他网站发现,均为侵权行为,请举报。作者:小王在努力。
参考资料:小甲鱼-带你学c带你飞


字符串处理函数

1.字符串

  • 用字符常量来表示字符串:“DanDan”
  • 注意:字符常量结尾也有一个\0
	printf("DanDan的长度为:%d", sizeof("DanDan"));

在这里插入图片描述

  • 用字符数组来表示字符串:char stl[10] = “DanDan”;
  • 注意:在用字符数组表示字符串的时候需要在后面加上表示字符串结束的\0,在单个字符赋值的时候要记得加上,在一次性赋值字符串的时候系统会自动在结尾加上\0
	char str1[] = { "DanDan" };
	char str2[] = { 'D','a','n','D','a','n','\0' };
	char str3[] = "DanDan";
	printf("str1的长度为:%d\n", sizeof(str1));
	printf("str2的长度为:%d\n", sizeof(str2));
	printf("str3的长度为:%d", sizeof(str3));

在这里插入图片描述

2.字符串处理函数

  • 使用库函数的原因:对于程序员来说,库是最重要的工具之一,可以避免重新造轮子

1.strlen函数

  • strlen函数:获取字符串的长度。区别于sizeof,strlen求的是length,sizeof求的是length+1
	char s[] = "DanDan";
	printf("sizeof DanDan = %d\n", sizeof(s));
	printf("strlen DanDan = %d", strlen(s));

在这里插入图片描述

2.strcpy和strncpy

  • strcpy:字符串拷贝函数
	char str1[] = "Original String";
	char str2[] = "New String";
	char str3[100];
	strcpy(str1, str2);
	strcpy(str3, "DanDan");
	printf("str1:%s\n", str1);
	printf("str2:%s\n", str2);
	printf("str3:%s\n", str3);

在这里插入图片描述

  • 注意:此函数要求前面接受的字符串长度要大于后面被复制字符串的长度。在此个案例中,字符串拷贝函数将New String\0全部给拷贝过来了,所以接受的字符串也变小了。
  • strncpy函数:限制性字符串拷贝函数
	char str2[] = "To be or not to be";
	char str1[100];
	strncpy(str1, str2, 5);
	str1[5] = '\0';
	printf("str1:%s", str1);

在这里插入图片描述

3.连接字符串

  • strcat函数:将一个字符串连接到另一个字符串的结尾
	char str1[100] = "DanDan";
	char str2[] = " is my name";
	strcat(str1, str2);
	printf("str: %s", str1);

在这里插入图片描述

4.比较字符串

  • strcmp函数:以此比较每个字母的ASCII值,前面大的返回1
	char str1[] = "DanDan";
	char str2[] = "DanDander";
	int c = strcmp(str1, str2);
	printf("str: %d", c);

在这里插入图片描述

二维数组

1.定义

  • 类型 数组名[常量表达式][常量表达式]
  • 注意越界问题

2.二维数组的初始化

  • 直接将所有数据写在一个大括号内
	int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			printf("%d",a[i][j]);
		}
		printf("\n");
	}
  • 可以将每行元素都用大括号括起来
	int a[3][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12} };
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			printf("%d",a[i][j]);
		}
		printf("\n");
	}
  • 也可仅对部分元素赋初值
	int a[3][4] = { {1},{5},{9} };
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}

在这里插入图片描述

  • 如果希望将二维数组初始化为0,仅需在大括号内写一个0即可
	int a[3][4] = { 0 };
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}

在这里插入图片描述

  • 如果仅定义不初始化,则为默认值
	int a[3][4];
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}

在这里插入图片描述

  • C99也增加了类似一维数组的指定元素初始化赋值
	int a[3][4] = {[0][0] = 1, [1][1] = 2, [2][2] = 3};
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}

在这里插入图片描述

  • 二维数组可以不写一维的数据,让编辑器自己计算
	int a[][4] = {[0][0] = 1, [1][1] = 2, [2][2] = 3};
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}

在这里插入图片描述

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-30 15:24:34  更:2021-11-30 15:25:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:49:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码