首页 > 其他分享 >字符与字符数组与字符串

字符与字符数组与字符串

时间:2023-03-19 19:22:33浏览次数:31  
标签:字符 ch name 数组 printf 字符串

字符是一种系统自带的数据类型,用char定义,一次只能储存一个字符

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     // 定义一个字符变量,存储一个字符
 6     char ch = 'A';
 7     
 8     // 输出字符的ASCII码值
 9     printf("The ASCII value of ch is %d\n", ch);
10     
11     // 输出字符本身
12     printf("The character of ch is %c\n", ch);
13     
14     // 修改字符的值
15     ch = 'B';
16     
17     // 输出修改后的字符
18     printf("The new character of ch is %c\n", ch);
19     
20     return 0;
21 }

 

字符数组就是数组的一种,即一个数组中装的是字符,或者char类型的数组,由于里面的每一个下标对应一个字符,所以是把一群独立的字符装在一个盒子里,不能算是字符串,也不需要加#include <string.h>,末尾也不需要加空字符\0。

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     // 定义一个字符数组,存储一个字符串
 6     char name[20] = "Alice";
 7     
 8     // 输出字符数组的内容
 9     printf("The name is %s\n", name);
10     
11     // 修改字符数组的内容
12     name[0] = 'B';
13     
14     // 输出修改后的字符数组
15     printf("The new name is %s\n", name);
16     
17     return 0;
18 }

C语言中没有字符串这个类型,所以也可以理解为字符串实际上是使用空字符 \0 结尾的一维字符数组。因此,\0 是用于标记字符串的结束。判断字符串时的长度不需要加上\0的长度,但是考虑字符串数组时,因为要给\0留空间,所以字符串数组需要考虑\0的长度。

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 int main()
 5 {
 6     // 定义一个字符数组,存储一个字符串
 7     char name[20] = "Alice";
 8     
 9     // 定义一个字符指针,指向一个字符串字面量
10     char *greeting = "Hello";
11     
12     // 输出字符串的长度,不包括空字符'\0'
13     printf("The length of name is %d\n", strlen(name));
14     
15     // 输出字符串的内容
16     printf("%s, %s!\n", greeting, name);
17     
18     // 修改字符串的内容
19     name[0] = 'B';
20     
21     // 拼接两个字符串,注意目标数组要有足够的空间
22     strcat(name, "ob");
23     
24     // 输出修改后的字符串
25     printf("The new name is %s\n", name);
26     
27     return 0;
28 }

 

 

标签:字符,ch,name,数组,printf,字符串
From: https://www.cnblogs.com/zaiyewujiang/p/17233972.html

相关文章

  • Array数组
    数组: 数组是相同类型数据的有序集合 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成 每一个数据称作一个数组元素,每个数组元素都可以通过......
  • MySQL如何正确查询字符串长度
    前言笔者最近有一个需求,需要将一段文字插入到备注字段remark前面。由于担心插入后超过字段长度的限制,所以需要统计线上数据,根据长度倒序查询remark最长的一批数据看看长......
  • 384.打乱数组
    打乱数组给你一个整数数组nums,设计算法来打乱一个没有重复元素的数组。打乱后,数组的所有排列应该是 等可能 的。实现Solutionclass:Solution(int[]nums)使用整......
  • 如果获取VBA数组的维数
    如何用VBA代码获得数组具有多少维数使用以下自定义函数即可:PublicFunctionNumberOfDimensions(ByRefarrRefAsVariant)AsIntegerDimDimCountAsByte,j%......
  • Java基础字符串练习
    ​定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法,并在控制台输出结果。要求:1、如果传递的参数为空,返回null2、如果传递的数组元素个数为0......
  • 字符设备与块设备的区别
    块设备:系统中能够随机不按顺序地访问固定大小的数据片的设备叫做块设备,这些数据片就称作块。常见的块设备有硬盘,软盘驱动器,闪存等字符设备:系统中按字符流的方式被有序访问......
  • 【JavaScript】window对象_frames数组对象
    window对象的frames属性是一个数组,它与window对象的parent、top等对象属性,都是用于对HTML的帧标签(<frameset>或<iframe>)进行编程的javascript对......
  • 力扣---面试题 01.02. 判定是否互为字符重排
    给定两个由小写字母组成的字符串s1和s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。示例1:输入:s1="abc",s2="bca"输出:true示例......
  • numpy数组初始化方法总结
    1使用list初始化a=np.array([[1,2,3],[4,5,6]],dtype='float32')#a=[[1.2.3.],[4.5.6.]]2赋值与复制(1)赋值a=np.array([1,2,3])b=aprint(bisa)#Trueb[0]......
  • tensorflow中高维数组乘法运算
    1前言声明:本博客里的数组乘法运算是指矩阵乘法运算,不是对应元素相乘。在线性代数或高等代数中,我们学习了矩阵乘法,那么,什么样的高维数组才能相乘?tensorflow又是如何定义......