基本数据类型、常量和变量
C++的特点
兼容C,支持面向过程的程序设计;支持面向对象的方法;支持泛型程序设计方法。
命名空间
避免命名冲突;std是C++标准库的命名空间( namespace);using namespace std表示打开std命名空间
C++字符集和词法记号
字符集:
大小写的英文字母:A~Z,a~z
数字字符:0~9
特殊字符:
! # % ^ & * _ + = - ~ < > / \ ‘ “ ; . , : ? ( ) [ ] { }
词法记号:
关键字:C++预定义的单词
标识符:程序员声明的单词,它命名程序正文中的一些实体
文字:在程序中直接使用符号表示的数据
分隔符: () {} , : ; 用于分隔各个词法记号或程序正文
运算符(操作符):用于实现各种运算的符号
空白符:空格、制表符(TAB键产生的字符)、垂直制表符、换行符、回车符和注释的总称
标识符的构成规则:以大写字母、小写字母或下划线(_)开始;可以由以大写字母、小写字母、下划线(_)或数字0~9组成。;大写字母和小写字母代表不同的标识符。;不能是C++关键字或操作符。
C++能够处理的基本数据类型
整数类型;浮点数类型;字符类型;布尔类型。
程序中的数据
常量:在源程序中直接写明的数据;其值在整个程序运行期间不可改变。
变量:在程序运行过程中允许改变的数据。
整数类型
基本的整数类型:int
按符号分:符号的(signed),无符号的(unsigned)
按照数据范围分:短整数(short),长整数(long),长长整数( long long )
ISO C++标准并没有明确规定每种数据类型的字节数和取值范围,它只是规定它们之间的字节数大小顺序满足:
(signed/unsigned)signed char ≤ (unsigned) short int ≤ (unsigned) int ≤ (unsigned) long int ≤ long long int
字符类型(char)
容纳单个字符的编码;实质上存储的也是整数。
浮点数类型
单精度(float),双精度(double),扩展精度(long double)
字符串类型(详见第6章)
有字符串常量,基本类型中没有字符串变量;采用字符数组存储字符串(C风格的字符串;标准C++类库中的String类(C++风格的字符串)
布尔类型(bool)
只有两个值:true(真) 、false(假),常用来表示关系比较、相等比较或逻辑运算的结果
各基本类型的取值范围
常量
在程序运行的整个过程中其值始终不可改变的量;直接使用符号(文字)表示的值;
例如:12,3.5,'A'都是常量。
整数常量
以文字形式出现的整数;
十进制
若干个0~9的数字,但数字部分不能以0开头,正数前边的正号可以省略。
八进制
前导0+若干个0~7的数字。
十六进制
前导0x+若干个0~9的数字及A~F的字母(大小写均可)。
后缀
后缀L(或l)表示类型至少是long,后缀LL(或ll)表示类型是long long,后缀U(或u)表示unsigned类型。
浮点数常量
以文字形式出现的实数;
一般形式:例如,12.5,-12.5等。
指数形式:例如,0.345E+2,-34.4E-3;
整数部分和小数部分可以省略其一。
浮点常量默认为double型,如果后缀F(或f)可以使其成为float型,例如:12.3f。
字符常量
单引号括起来的一个字符,如:'a'、'D'、'?'、'$';
C++转义字符列表(用于在程序中表示不可显示字符)
C风格字符串常量
一对双引号括起来的字符序列;
在内存中按串中字符的排列次序顺序存放,每个字符占一个字节;
在末尾添加 ‘\0’ 作为结尾标记。
例:
通过添加前缀可以改变字符常量或者字符串常量的类型,前缀及其含义如下表所示:
变量:在程序的运行过程中,其值可变的量
变量定义:数据类型 变量名1, 变量名2, ..., 变量名n;
初始化:C++语言中提供了多种初始化方式;
例如:
int a = 0;int a(0);int a = {0};int a{0};
其中使用大括号的初始化方式称为列表初始化,列表初始化时不允许信息的丢失。例如用double值初始化int变量,就会造成数据丢失。
符号常量
常量定义语句的形式为:
const 数据类型说明符 常量名=常量值;
或:
数据类型说明符 const 常量名=常量值;
例如,可以定义一个代表圆周率的符号常量:
const float PI = 3.1415926;
符号常量在定义时一定要初始化,在程序中间不能改变其值。