zoukankan      html  css  js  c++  java
  • 【C++基础】008常量和变量

    简介:常量和变量。

    常量和变量

    1. 常量

    • 具体把数据写出来
    • 2,3,4; 1.2,1.3; “Hello World!”,”C++”;
    • cout << 2015;
    • 常量:不能改变的量;
    • 字面常量(字面量、直接常量):直接写出的数据;
    • 符号常量:用符号表示数据,但它一旦确定了表示哪个数据,以后就不能再改变;

      • 符号常量①:

        1. 说明一个符号表示常量:
          const<类型说明符> <符号常量名> = <数据>;
        2. 例如

          1
          2
          3
          4
          5
          const int N = 100;
          const double pai = 3.1415926;
          const char A = 'E';
          const chr CPP[20] = "C++ Programming";
          const int M = 100,K = 100;
        3. <类型说明符>是表示数据类型的符号:

          类型类型名类型说明符类型类型名类型说明符
          整型int短整型short或short int
          单精度float长整型long或long int
          双精度double无符号整型unsigned[int]
          字符char无符号短整型unsigned short[int]
          逻辑/布尔bool无符号长整型unsigned long[int]
      • 符号常量②:

        1. 在main函数前

          1

        2. 例如

          1
          #define PAI 3.14 
        3. 程序在编译时,先将<符号名称>全部替换为<数据>,然后才正式编译,所以这样的说明称为 编译预处理

    2. 变量

    • 变量

      • 值可以变的量;
      • 更通俗的说,变量是用符号表示数据,它表示的数据是可以变的。
    • 变量的说明

      • <类型说明符> <变量名表>;
      • <类型说明符>,就是前面介绍常量时的类型说明符,如:
        int,float,double,char,bool等
      • <变量名表>是一个或多个标识符,多个标识符之间用逗号隔开;
      • 例如:

        1
        2
        3
        int a;          //预留4个字节空间
        double d1,d2; //预留8个字节空间
        char c1,c2,c3; //预留1个字节空间
      • 注意:
        变量的说明也叫变量的声明
        变量意味着编译系统会给这个变量在内存中分配一个存储单元
        所以变量的声明也叫变量的定义

    • 变量的初始化

      • 在声明变量的同时说明它代表的数据是什么,称为变量的初始化
      • 格式是
        <类型说明符> <变量名1> = <值或表达式1>[,<变量名2> = <值或表达式2>];
      • 例如
        1
        2
        3
        4
        int a = 5;
        double pai = 3.13, e = 2.71828;
        char A = '?', B = '%';
        cout << 2*pai*a << endl;
    • 变量的赋值

      • 设定变量值
        <变量名> = <值或表达式>;
      • 其中的等号称为赋值运算符,其作用之一是将右边表达式的值放到左边变量的存储单元中去
      • 例如

        1
        2
        3
        4
        5
        const double PAI = 3.14 //声明常量PAI
        double r, area; //声明变量r,area分别表示半径和面积
        r = 5.0; //为r赋值
        area = PAI*r*r; //计算圆的面积并赋值给area
        cout << area << endl; //显示结果
      • 变量通过输入语句赋值

        大专栏  【C++基础】008常量和变量ody>
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        #include <iostream>
        using namespace std;
        int ()
        {
        const double PAI = 3.14; //声明常量PAI
        double r, area; //声明变量r,area分别表示半径和面积
        cin >> r; //通过输入为r赋值
        area = PAI * r * r; //计算圆的面积并赋值给area
        cout << area << endl;
        system("pause");
        return 0;
        }
    • 变量使用中应注意的问题

      1. 先定义,再使用
        【错误示例】

        1
        2
        3
        4
        5
        6
        7
        8
        #include <iostream>
        using namespace std;
        int ()
        {
        cin >> a >> b; //这里未定义便使用,是错误的
        cout << a+b << endl;
        return 0;
        }
      2. 一个变量只能定义一次,不能重复定义
        【错误示例】

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        #include <iostream>
        using namespace std;
        int ()
        {
        int a = 5;
        cout << a << endl;
        int a = 10; //这里出现重复定义,是不行的
        cout << endl;
        return 0;
        }
      3. 先赋值,再参与运算
        【错误示例】

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        #include <iostream>
        using namespace std;
        int ()
        {
        int a,b,c;
        c = a + b; //a和b还未赋值便计算,是错误的
        cin >> a >> b;
        int a = 10;
        cout << c << endl;
        return 0;
        }
      4. 变量可以多次赋值,而常量是不可以赋值的

        1
        2
        3
        4
        5
        const N = 5; //常量
        int a = 2; //变量
        a = a + a; //正确
        a = a * a; //正确
        N = N + 1; //错误
      5. 变量的定义可以出现在使用前的任何地方,但建议在程序的开始定义变量

      6. 少用或不用字面常量
  • 相关阅读:
    Leetcode: Increasing Triplet Subsequence
    Snapchat面经(师兄的)
    M面经prepare: Shuffle a deck
    M面经Prepare: Find integer Average of 2 integers.
    M面经Prepare: Positive-Negative partitioning preserving order
    M面经Prepare: Delete Words Starting With One Character
    Lintcode: Subtree
    Leetcode: Reconstruct Itinerary
    Groupon面经:Find paths in a binary tree summing to a target value
    一些小感悟(2014.04版)
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12256362.html
Copyright © 2011-2022 走看看