C++接收字符串数组_嵌入式开发-C语言-数组和字符串

1、掌握一维数组的作用

**数组:**构造数据类型之一数组是具有一定顺序关系的若干个变量的集合,组成数组的各个变量称为数组元素数组中各个元素的数据类型要求相同,用数组名和下标确定。数组可以是一维,也可以是多维如: char s[5];**一维数组**所谓一维数组是指只有一个下标的数组,它在计算机的内存中是连续存储的C语言中,一维数组的说明一般形式如下:    [];例:int a[6]  a存放是数组在内存中的首地址

下标 内存

0 a[0]

1 a[1]

2 a[2]

3 a[3]

4 a[4]

5 a[5]

#includeint main(){    int a[6],i;    for(i=0;i<6;i++){            printf("%p",&a[i]);    }}输出:0x7fffb23e16d00x7fffb23e16d40x7fffb23e16d80x7fffb23e16dc0x7fffb23e16e00x7fffb23e16e4注意事项:C语言对数组不作越界检查,使用时要注意**一维数组的初始化**初始化方式:在定义数组时,为数组元素赋初值int a[5]={1,2,3,4,5};说明-数组不初始化,其元素值为随机数。-对static数组元素不赋初始值,系统自动赋0值-只给部分数组元素赋值。

实例

冒泡排序它重复地走访过要排序的数列,一次比较两个元素,如果顺序错误就交换,走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。#include int main(){    int n=5;    int a[5] ={12,56,15,64,7};    int temp;    for(int i=0;itemp){                            a[j]=a[j+1];                            a[j+1]=temp;                    }                    if(j==(n-i)){                            printf("%d",a[j]);                    }            }    }}

2、掌握二维数组的作用

二维数组的定义-定义方式:数据类型 数组名[常量表达式] [常量表达式]    例:int a [3][4];float b[5][2];int c [2] [3] [4];二维数组元素存放的顺序按行序优先 原因:内存是一维的#includeint main(){    int a [3][4]={{1,2,3,4},{5,4,3,6},{9,7,1,6}};    for(int i=0;i<3;i++){            for(int b=0;b<4;b++){                    printf("%p %d ",&a[i][b],a[i][b]);            }    }}

3、字符数组和字符串

字符数组是元素的数据类型为字符类的数组-char c[10],ch[3][4];字符数组初始化-一个一个字符赋值-用字符串常量

4、字符串函数

字符串函数的用法

C库中实现了很多字符串处理函数#include几个常见的字符串处理函数-求字符串长度的函数 strlen-字符串拷贝函数 strcpy-字符串连接函数 strcat-字符串比较函数 strcmp

strlen

字符串长度函数strlen格式:strlen(字符串数组)功能:计算字符串长度返值:返回字符串实际长度,不包括 ‘0’在内xhh表示十六进制数代表的符号ddd表示8进制的-例:对于以下字符串,strlen(s)的值为“char s[10]={'A','0','B','C','0','D'};char s[]="v0will";char s[]= "x69141";#include #include int main(){    char s[10]={'A','0','B','C','0','D'};    char s1[]="v0will";    char s2[]= "x69141";    int len =strlen(s);    int len1 =strlen(s1);    int len2=strlen(s2);    printf("%d %d %d",len,len1,len2);    return 0;}

strcpy

字符串拷贝函数格式:strcpy(字符数组1,字符串2)功能:将字符串2,拷贝到字符数组1返值:返回字符数组1的首地址说明:    -字符数组1必须足够大    -拷贝时'0' 一同拷贝#include #include int main(){    char s[10]={'A','B','C','D'};    char s1[20];    strcpy(s1,s);    puts(s1);    printf("%s",s1);    return 0;}

strcat

字符串连接函数格式:strcat(字符数组1,字符串2)功能:将字符串2连到字符数组1后面返值:返回字符数组1的首地址说明:    -字符数组1必须足够大    -连接前,两串均以'0'结束,串1的'0' 取消,新串后加0';    #include #include int main(){    char s[20]="www.chzz";    char s1[]=".org";    strcat(s,s1);    printf("%s",s);    return 0;}输出: www.chzz.org

strcmp

字符串比较函数strcmp格式:strcmp(字符数组1,字符串2)功能:比较两个字符串比较规则:对两个字符串左向友一个一个字符比较(ASCII码)直到遇到不同字符或'0' 为止返值:返回int型整数说明:    -若字符串1字符串2 ,返回正整数    -若字符串1==字符串2 ,返回零    #include #include int main(){    char s[]="abc";    char s1[]="abc";    int result =strcmp(s,s1);    printf("%d",result);    return 0;}输出 :0

5、其他常见字符串函数

strncpy(p,p1,n) 复制指定长度字符串srtncat(p,p1,n) 附加指定长度字符串strcasecmp(p,p1) 忽略大小写比较字符串strncmp(p,p1,n)  比较指定长度字符串strchr(p,c)     在字符串中查找指定字符strstr(p,p1)    查找字符串

6、总结与思考

总结

主要学习C语言中常见的字符串函数包括:strcpy strcat strcmp strlen

思考

使用字符串拷贝strcpy,有什么注意事项?字符串比较函数,是如何比较两个字符串大小的?
c3757e15fe16411fe8ed8c870cb1ac09.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值