C++入门Step03【数组】

数组与一维数组:

  1. 数组:为方便定义同类型一群数组

    1. 定义:存储相同类型数据的多个数据的一种线性表数据结构

    2. 使用:命名规则与变量相同

      int stu_no[60];	//类型名 数组名[常量表达式]
      
  2. 一维数组的初始化:

    1. 在定义数组的时候就对数组的全部元素初始化:
      int stu_no[5] = {101, 102, 103, 104, 105};
    2. 在定义数组的时候对部分元素进行初始化:
      int stu_no[5] = {101, 102};
      后面未初始化的默认赋初值0
    3. 在定义数组的时候就对数组的全部元素初始化,可以不指定数组长度:
      int stu_no[] = {101, 102, 103, 104, 105};
    4. 定义的时候让系统知道数组的长度就可以了,也就是定义即确定大小

字符数组:

  1. 定义:存储字符的数组

  2. 初始化:

    //定义之后对每个字符初始化(未初始化部分值随机)
    char szbuf[10];
    szbuf[0] = 'h';
    szbuf[1] = 'e';
    szbuf[2] = 'l';
    szbuf[3] = 'l';
    szbuf[4] = 'o';
    //定义初始化(未初始化部分值为0,可于首位‘\0’处字符串截止)
    char szbuf[10] = {'h', 'e', 'l', 'l', 'o'};
    //or
    char szbuf[10] = "hello";
    //初始值个数大于数组长度,则报错
    //自动初始化长度
    char szbuf[] = {'h', 'e', 'l', 'l', 'o'};
    //or
    char szbuf[] = "hello";
    
  3. 字符数组与字符串的区别:

    字符串有结束标识符 ‘\0’ ,而字符数组并不自动添加。及在一定条件下字符数组可转化为字符串。

    //以下二者均可被看做字符串
    char szbuf[10] = {'h', 'e', 'l', 'l', 'o'};
    char szbuf[10] = "hello";
    
  4. 字符数组的输入输出:

    #include<iostream>
    using namespace std;
    int main(){
        char szbuf[50];
        cin>>szbuf;
        cout<<szbuf<<endl;
    
        char szbuf01[50] = {'h', 'e', 'l', 'l', 'o', '\0', ' ', 'f', 'r', 'i', 'e', 'n', 'd', 's', '.'};
        cout << szbuf01 << endl;
    }
    

在这里插入图片描述

  1. 练习:

    #include <iostream>
    using namespace std;
    int main()
    {
        int i = 0 , count = 0;
        char szbuf[100] = "hello, friends, my name is cctry.com. what is your name ?";
        cout << "替换前:"<<szbuf<<endl;
        while(szbuf[i] != '\0')
        {
            if(szbuf[i] == 'i')
            {
                szbuf[i] = '@';
                ++count;
            }
            ++i;
        }
        cout << "替换后:" << szbuf << "\r\n有" << count <<"个\'i\'被替换"<<endl;
        return 0;
    }
    

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值