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.他和乘除法类似,在加减法之前执行运算。注意,在取余数操作符的两边都应该是整数,否则将无法通过编译。
上一节我们介绍了变量,它是一种存储在电脑内存里,在程序中可以改变的数据。然而,有时候我们还会遇到一些数据,它们在程序中不应该被改变。比如圆周率π就应该等于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
- C++学习日记4 C++常量和算术表达式
- c语言算术运算符和算术表达式整理学习
- [C++] constexpr和常量表达式
- C语言算术运算符和算术表达式
- C语言算术运算符和算术表达式
- C语言中的算术运算符和算术表达式
- c的部分算术运算符和算术表达式:
- C语言 算术表达式
- 【C/C++】constexpr和常量表达式
- C 常量、变量、运算符和表达式
- C语言之第十课:C语言的算术运算符和算术表达式
- 算术表达式求值@C/C++
- Objective-C的算术表达式
- 算术表达式计算C实现
- C 指针&&表达式&&常量
- 栈的操作和c语言实现算术表达式求值
- 我的c学习:算术运算符与算术表达式 优先级
- C语言:算术运算符与算术表达式
- hdu 4699 Editor 伸展树 treap复习
- 小白dp uva 662 - Fast Food (除夕夜的博客 ^ ^)
- JobQueueTaskScheduler
- CentOs 安装gcc 4.8.1
- UVA 11461 - Square Numbers 数学水题
- C++学习日记4 C++常量和算术表达式
- 罗大柚OpenGL ES教程系列LessonOne(Part 1): 绘制一个三角形
- 函数和数组
- C++代码,数据结构-最短路径(两种情况)(迪杰斯特拉算法和弗洛伊德算法)
- 枪枪中枪
- 84. 在状态中思考
- 获取Java的32位MD5实现
- 不算退役贴的退役贴
- 2014年读书计划