• 第四章 复合类型


    复合类型:基于基本类型和浮点类型创建

    4.1 数组

    一、定义:

    数组是一种数据格式,能够存储多个同类型的值。

    二、数组声明:

      条件:

    1. 存储在每个元素中的值的类型;
    2. 数组名;
    3. 数组中的元素数;

      格式:

      

    typeName arrayName[arraySize];

      注意:表达式arraySize指定元素数目,它必须是整型常数(如10)或const值,也可以是常量表达式(如8*sizeof(int)),即其中所有的值在编译时都是已知的。具体地说,arraySize不能是变量,变量的值是在程序运行时设置的。然而,可以使用new运算符来避开这种限制。

      使用:可以单独访问数组元素。方法是使用下标或索引来对元素进行编码。C++数组从0开始编号。

      有效下标值的重要性:如果将一个值赋给不存在的元素months[101],编译器并不会指出错误。但是程序运行后,这种赋值可能引发问题。

      sizeof运算符:

      注:sizeof运算符返回类型或数据对象的长度(单位为字节)。如果将sizeof运算符用于数组名,得到的将是整个数组中的字节数。

    三、数组的初始化规则

    1. 只有在定义数组时才能使用初始化,以后就不能使用了,也不能将一个数组赋给另一个数组;
    2. 然而,可以使用下标分别给数组中的元素赋值;
    3. 初始化数组时,提供的值可以少于数组的元素数目;
    4. 如果初始化数组时方括号([])为空,C++编译器将计算元素个数。

    四、C++11数组的初始化方法:(新增功能)

    1. 初始化数组时,可省略等号(=);
    2. 可不在大括号内包含任何东西,这将把所有元素都设置为零;
    3. 列表初始化禁止缩窄转换;

    STL提供了一种数组替代品——模板类rector,C++11新增了模板类array。

    4.2字符串

    一、C++处理字符串的方式:

      ①第一种来自C语言,常被称为C-风格字符串;

      ②另一种基于string类库的方法。

    二、C-风格字符串

      1、存储在char数组中。

      2、特殊的性质:以空字符(null character)结尾,空字符被写作,其中ASCII码为0,用来标记字符串的结尾。

      3、字符串定义、赋值

        ① 大量单引号

    char cat[4] = {'c','a','t',''};

        ②使用一个双引号括起来字符串,这种字符串被称为字符串常量或字符串字面值。

    char bird[11] = "Mr.Cheeps";
    char fish[] = "Bubbles";

    注意:字符串常量(使用双引号)不能与字符常量(使用单引号)互换。

      ‘S’是字符串编码的简写表示。在ASCII系统上,‘S’只是83的另一种写法;

      “S”实际上表示的是字符串所在的内存地址。

      4、拼接字符串常量:

      任何两个有空白(空格、制表符和换行符)分隔的字符串常量都将自动拼接成一个。

      注意:拼接时不会再被连接的字符串之间添加空格。忽视。

      5、在数组中使用字符串:

      要将字符串存储到数组中,最常用的两种方法:

    ①将数组初始化为字符串常量;

    ②将键盘或文件输入读入到数组中;

      sizeof运算符指出整个数组的长度:15字节;但strlen()函数返回的是存储在数组中的字符串的长度,而不是数组本身的长度。(strlen()函数不把空字符计算在内。)

      6、字符串输入的缺陷(cin)

    ①cin使用空白(空格、制表符和换行符)来确定字符串的结束位置,这意味cin在获取字符数组输入时只读取一个单词。

    ②输入字符串可能比目标数组长。

      7、每次读取一行字符串输入

      需要采用面向行而不是面向单词的方法。

      istream中的类(如cin)提供了一些面向行的类成员函数:getline()和get()。这两个函数都读取一行输入,直到到达换行符。

      区别:getline()将丢弃换行符,而get()将换行符保留在输入序列中。

    a.面向行的输入:getline()

  • 相关阅读:
    python实现测试中常用的脚本(待完善)
    python使用mysql数据库(虫师)
    jQuery中动画animate(上)
    jQuery事件对象的属性和方法
    扩展欧几里得算法详解
    jQuery事件对象的作用(利用冒泡事件优化)
    卸载事件off()方法
    on()的高级用法
    三种快速排序以及快速排序的优化
    on()的多事件绑定
  • 原文地址:https://www.cnblogs.com/oafz/p/12051139.html
Copyright © 2020-2023  润新知