C++学习日记4 C++常量和算术表达式

来源:互联网 发布:锐思数据库 编辑:程序博客网 时间:2024/05/01 17:32
-.1 C++常量简介

上一节我们介绍了变量,它是一种存储在电脑内存里,在程序中可以改变的数据。然而,有时候我们还会遇到一些数据,它们在程序中不应该被改变。比如圆周率π就应该等于3.14151926……,一年就应该是12个月,在程序中不应该改变成其他的值。或者说,如果这些值无意中被改变,会导致整个程序发生错误。在这个时候,我们就需要一个不允许发生改变的“箱子”,我们称它为常量(Constant)。

常量可分为两种,一种是文字常量,也叫值常量。比如整数1,字符a就是文字常量;另一种是需要通过自己定义的常量,它的表达式和变量有些类似。

定义一个常量的语法格式为:
const 常量数据类型 常量名 = 文字常量;

我们可以认为,定义一个常量与定义一个变量的区别是在语句之前加上了const。但是,定义常量的时候必须对其进行初始化,并且在除定义语句以外的任何地方不允许在对该常量赋值。

特别地,如果一个实型文字常量没有做任何说明,那么默认为双精度型数据。若要表示浮点型数据,要在实数之后加上f;若要表示长双精度型数据,则要在实数之后加上l。

在cout语句中,我们说他可以输出字符串,这些带着双引导的字符串的全称是字符串常量,它也是一种文字常量。而带着单引号的常量称为字符常量,他与字符串常量是不同的,字符串常量只能是一个字符,而字符常量则可以是一个字符,也可以是由若干个字符组成。

事实上,只要在不人为地改变变量值的情况下,常量可以由一个变量来代替。但是从程序的安全和严谨角度考虑,我们不推荐这样做。区别常量和变量的使用是一个优秀程序员需要具有的好习惯。

-.2 C++算术表达式

我们已经了解程序设计中,最常用的两种存储方式--常量和变量。本节我们要学习如何在程序中运用常量和变量。我们先来看一段程序:
e.g.1
#include "iostream.h"
int main()
{
    float r;//创建一个浮点型变量存放半径
    float l;//创建一个浮点型变量存放运算得出的周长结果
    const float pi = 3.1415926f;//定义常量pi等于3.1415926,最后的f表示这个数是浮点型
    cout <<   "请输入半径:";
    cin >> r;
    l = 2 * pi * r;//计算周长
    cout << "这个圆的周长为"<< l << endl;
    return 0;
}
程序运行结果:
请输入半径:3
这个圆的周长为18.8496

我们需要重点研究的是l = 2 * pi * r这句语句。这句语句称为赋值语句,赋值语句的语法格式为:
左值 = 表达式;
语句中,等号称为赋值操作符。赋值操作符的作用就是把表达式的结果传递给左值。具体的过程是先将右侧的表达式的值求出,然后再将它存放到左值中。所以在赋值操作符两边出现相同的变量也是允许的。比如a = a + 1就是先把原来a的值和1相加,然后再把结果放回到变量a中。左值(Left Value,也作L-Value)的原意是在赋值操作符左边的表达式,它具有存储空间(比如自定义常量或变量),并且要允许存储(自定义常量只能在定义时初始化)。现在了解的知识中,左值可以理解为变量或者定义语句中的自定义常量。

向程序中的2*pi*r我们称为算术表达式。它和平时数学上的表达式没什么不同。如同四则运算一样,算术表达式中使用的是加减乘除和括号,运算的次序也是遵循“括号最先,先乘除后加减”的原则。需要注意的是:
表达式中,乘号是不能够省略的即2a、4b之类的表达式是无法被识别的。
算术表达式中,括号只有小括号()一种,并且可以有多重括号。中括号[]和大括号{}都是不允许使用在算术表达式中的。比如((a+b)*4)是正确的写法,[(a+b)*4]却是错误的写法。

除、整除和取余
在C++中,“/”有两种含义:当除号两边的数均为整数时为整除,即商的小数部分被截去(不是四舍五入);除号两边只要有一个是实型数据,那么就做除法,小数部分予以保留,运算结果应当存放在实型变量中。

取余数的操作符为%,例如7%3的结果是1.他和乘除法类似,在加减法之前执行运算。注意,在取余数操作符的两边都应该是整数,否则将无法通过编译。

至此,我们已经学会了输入、输出、和简单的运算。运用这些知识,我们已经能够自己设计一些简单的程序,实现一些简单的计算功能。



突然发现自己已经很多天没有看书了。还是要看看书,打打字,锻炼大脑,加强记忆,帮助消化理解吧。2014/1/29、新年快乐,继续加油吧~~~~~

0 0
原创粉丝点击