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++知识库]字符数组简单操作

定义字符是char ,一定是单引号,每次只能赋值一个字符

【单引号和双引号在C语言中用于创建两种不同的数据类型】

如果希望使用能够容纳不止一个字符的变量,那就要用到字符数组

ASCII表

?

字符数组

char c[6]={'h','e','l','l','o'} //这里为什么申请5个空间呢,因为字符数组还会有一个'\0'字符占位,所以5个长度的字符需要6个存储空间

字符数组存储字符串,必须存储结束符'\0'? ? ? ? ?

scanf读取整个字符串时使用%s,单个字符"%c"

字符数组的传递

#include <stdio.h>

void Print(char b[]){   //b是形参 
	int i=0;
	while(b[i]!='\0'){ //括号里还可以写成b[i]或b[i]!=0 
		printf("%c",b[i]); 
		i++;        
	}
}


int main(){
	char a[10]="hello";  //a是实参 
	Print(a);
} 

首字母变大写:

d[0]=d[0]-32;


gets与puts函数

gets

gets函数类似于scanf函数,用于读取标准输入。我们知道scanf 函数在读取字符串时遇到空格就认为读取结束,所以当输入的字符串存在空格时,我们需要使用gets函数进行读取。


gets函数的格式如下:

char *gets(char *str);

字符数组的数组名里存的就是字符数组的起始地址,所以是指针类型

gets 函数从STDIN(标准输入)读取字符并把它们加载到str(字符串)中,直到遇到换行符(\n)或到达EOF。gets遇到\n后,不会存储\n,而是将其直接翻译为空字符'\0'

?

puts

puts函数类似于printf函数,用于输出标准输出。

puts函数的格式如下:

int puts(char *str);


函数 puts把str(字符串)写入STDOU(标准输出)。puts执行成功时返回非负值,执行失败时返回EOF。相对于printf函数,puts 只能用于输出字符串,同时多打印一个换行符

等价于printf("%s \n" , c);

int main(){
	char a[30];
	gets(a);
	puts(a);

} 

?





字符串的相关操作

strlen函数用于统计字符串长度,strcpy函数用于将某个字符串复制到字符数组中,strcmp函数用于比较两个字符串的大小,strcat函数用于将两个字符串连接到一起。各个函数的具体格式如下所示:
?

sizeof()? : 获取的是字符数组的大小,而不是字符数组里字符的长度

strlen():字符数组里字符的长度(长度不算'\0') size_t strlen(char *str)

char a[20]="sunday";
sizeof(a);  //结果是20不是6
strlen(a);  //6

?

const 是说可以用字符常量来修饰 !

const过的初始化变量不能再被修改

strcpy():将后面的字符串复制到前面的字符数组中? char *strcpy(char *to,const char *from)

char d[10];
strcpy(d,"love");  //love
-------------------------
char d[10]="spring",e[15]="hi";
strcpy(d,e);
puts(d);   //hi

?

strcmp():比较两个字符串的大小??int strcmp(const char *str1,const char *str2)

? ? ? ? ? ? ? ? ?相等:返回0? ? ? ?str1<str2: 返回-1? ? ? ? ? str1>str2:返回1

? ? ? 注意:比的不是两个字符串的长度,而是字符在ascii码中对应的数值比如hello<how

int ret=strcmp("hello","how");
printf(ret);  //-1

?

strcat():将两个字符串连接到一起??char *strcat(char *str1,const crar *str2)

? ? ? ? ? ? ? ?将后面的字符串拼接到前面的字符串后面,注意只有str2可以用const修饰

? ? ? ? 注意:拼接后的字符长度一定要小于str1的数组长度,否则无法容纳

char d[20]="happy";
char c[10]="day";
strcat(d,c);
puts(d);   //happyday



?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 12:43:52  更:2022-03-06 12:45:03 
 
开发: 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 4:55:22-

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