• C++数组二(字符数组)


    1.字符数组和字符串

    字符数组是用来存放字符数据的数组,就是说,字符数组中的每个元素存放一个字符,字符数组也可以用来存放字符串。

    字符串常量

    字符常量

    双引号

    单引号

    字符常量符串“A”占2个存储单元(多了’0’)

    字符A仅占一个存储单

    1)字符数组的定义格式如下:char数组名[常量表达式]

    (2)字符数组的初始化赋值给字符数组的各个元素逐个赋初值

    例如

    char str(10)=('C','+','+','p,’r,'o,'g','r','a’,’m’}//用这种方法对字符数组进行初始化时,可以不指定字符数组的长度

     给字符数组指定一个字符串初值,系统将自动在最后一个字符后加一个字符’’。
    例如:

    char str[]=[“C++program”)相当于char str[ll]=(c',+',"+',"'p','r','o','g','x','a','m','’)

    字符数组的长度为11,而不是10。且存放字符串时必须保证数组长度一定大于字符串长度。

    2.字符数组的输入/输出

    char a[5];cin>>a;//只适合用于字符数组
     或者
    char a[5];int i;
    
    for (i=0; i<5: i++) cin>>a[i];

    输入字符串时,遇到空格字符或换行字符( Enter键),认为一个字符串结束,接着的非空格字符作为一个新的字符串开始;并且系统自动会在每一个字符串后加一个’’。

    当要把输入的一行(包括空格字符)川作为一个字符串送到字符数组中时,则要使用函数cin.getline()的语法格式如下:cin.get1ine(字符数组名str,字符个数n,结束符=’ ’);该函数的第一个参数st为字符数组名,第二个参数n为允许输入的最大字符个数
    功能:一次连续读入多个字符(可以包括空格,直到读满n个,或遇到指定的结束符(默认为n)。读入的字符串存放于字符数组str中。读取但不存储结束符。例如char s[121;cin.getline(s, 12);

    字符输出可以采用一个字符循环输出:

    for (i=0; i<5: i++) cout<<a[i];

     3.字符串处理函数

    C+++提供的兼容C语言字符串处理函数包含在头文件<cstring>中

    1求字符串长度函数srln()

    格式:sren(字符串)

    功能:计算字符串的长度。
    例如:

    char str[lol ="china"cout<<strlen(str)<< endl;则屏幕输出应该是5,而不是10。
    cout <<strlen("C++program")<< endl;则屏幕输出字符串长度为10。

     说明:

    字符串可以是字符数组名,也可以是字符串常量

    函数值为字符串的实际长度,不包括最后的’’在内

    (2).字符串连接函数strcat()

    格式:strcat(字符数组1,字符串2)

    功能:将字符串2连接到字符数组1中的字符串后,其结果存放在字符数组1中。

    例如

    char str[30]=”I am a”char str2[]=”student”;strcat(strl,str2);//则字符数组s1的内容为 I am a student。

     说明:

    字符数组1必须是字符数组名,字符串2可以是字符数组名,也可为字符串常量。
    字符数组1必须足够大,以便容纳连接后的新字符串。
    连接时字符串1之后的’’取消,只在新字符串最后保留一个’’.

    3).字符串复制函数strncpy()

    格式: strncpy(字符数组1,字符串2)
    功能:将字符串2完全复制到字符串1,即字符串1和字符串2内容完全一样。这里有几点需要说明字符串1足够大,能够容纳。

    说明

    字符串2可以是字符串常量,也可以是字符数组。
    不能用赋值语句将字符串常量或字符数组给字符数组赋值,只能用strcpy函数。
    可以用strcpy函数将字符串2中前面若干个字符复制到字符串1中

    例如:strcpy(str1,str2,2),如果str2=’China’,那么str1=‘Ch’。

    4.字符串连接函数 strcmp() strncmp()
    格式:strcmp/strncmp(字符串1,字符串2)

    strcmp():strcmp(s1,s2);            比較两个字符串。
           strncmp():strncmp(s1,s2);       比較两个字符串前n位

    假设出现不同的字符,则对第一次出现不同的字符进行比較。比較方法是以s1的第一个不同的字符减去s2的第一个不同的字符。以所得差值作为返回值(大于0。则返回1,小于0则返回。

    功能:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇''为止。

    说明:

    字符串1和字符串2可以是字符串常量,也可以是字符数组名。

    比较两个字符串,不能用==。

    5.字符串大小写转换函数strlwr()struper()

    格式Strlwr(字符数组)

       struper(字符数组)

    例如

     char str[]=”CHINA”;
    Strlwr(str);

    此时str中内容变为“china”

    4.二维字符数组

    格式:

    char 数组名[常量表达式1],[常量表达式2];

    例如:

    char a[2][2]={a,b},[c,e];
    
    char a[2][2]={ab,cd};
  • 相关阅读:
    多对多关系表的创建方式、forms组件
    SweetAler弹框插件与分页器插件
    Django数据库查询优化与AJAX
    django orm(2)
    Django orm(1)
    Django之视图层与模板层
    Django之路由层
    初识Django之前端后端与数据库的配置
    面试题49
    web框架之初识Django
  • 原文地址:https://www.cnblogs.com/CX66/p/13898877.html
Copyright © 2020-2023  润新知