C++语言程序设计——知识点复盘(第二章 简单程序设计)

目录

C++语言概述

关键字

标识符

空白

基本数据类型

常量

1、整型常量

2、实型常量 

3、字符常量

4、字符串常量 

5、布尔常量

6、符号常量

变量

运算符优先级与结合性

隐含转换

枚举类型


C++语言概述

C语言具有许多优点:执行效率高、可以直接访问物理地址等。尽管如此,由于C语言毕竟是一个面向过程的编程语言,因此与其他面向过程的编程语言一样,已经不能满足运用面向对象方法开发软件的需要。

C++便是在C语言基础上为支持面向对象的程序设计而研制的、通用的程序设计语言,于1980年在AT&T贝尔实验室中诞生。

C++的两大特点:1、尽量兼容C(因此C++不是一个纯正的面向对象的编程语言);2、支持面向对象的方法。简单来说就是,既支持面向过程的程序设计,又支持面向对象的程序设计。


关键字

即预先声明的单词。

常用的有:bool、break、case、catch、char、class、const、continue、default、delete、do、double、else、enum、extern、false、float、for、friend、goto、if、inline、int、long、namespace、new、operator、private、protected、public、return、short、signed、sizeof、static、struct、switch、template、this、throw、true、try、typedef、union、unsigned、using、virtual、void、while等。

注意:true和false都是小写;没有define这个关键字。

标识符

即程序员定义的单词,用来命名程序正文中的一些实体,如函数名、变量名、类名、对象名等。

构成规则如下:

1、以大小写字母或下划线开始。

2、可以由大小写字母、下划线或数字组成。

3、字母的大小写代表不同的含义。

4、不能是C++关键字。

空白

凡是可以出现空格的地方,都可以出现换行。如

int i;

也可以写成

int
i
;

基本数据类型

1个字节:bool,char,signed char,unsigned char

2个字节:short,unsigned short

4个字节:int,unsigned int,long,unsigned long,float

8个字节:double,long double

char型从本质上说也是整数类型,它是长度为1个字节的整数,通常用来存放字符的ASCII码。

signed和unsigned可以用来修饰char和int(也包括short和long),signed表示有符号数,unsigned表示无符号数。有符号整数在计算机内以二进制补码形式存储,其最高位为符号位,0表示正,1表示负。无符号整数只能是正数,在计算机内以绝对值形式存放。

常量

即在程序运行的整个过程中其值始终不可改变的量。

1、整型常量

十进制整数常量(±若干0~9的数字)

八进制整数常量(0若干0~7的数字)

十六进制整数常量(0x若干0~9的数字及A~F的字母,大小写均可)

由于八进制和十六进制的整型常量一般用来表示无符号整数,所以前面不应带正负号。

2、实型常量 

一般形式:12.5,-12.5等。

指数形式:125E-1,-1.25E+1等。

当以指数形式表示一个实数时,整数部分和小数部分可以省略其一,但不能都省略。例如1.E1和.25E1都是正确的,但是不能写成E1这种形式。

3、字符常量

是单引号括起来的一个字符。还有一些是不可显示字符,也无法通过键盘输入,例如响铃、换行、制表符、回车等,C++提供一种称为转义序列的表示方法来表示这些字符,见下表:

转义字符的引号问题:单双引号都可以,但是存在差异

int a=sizeof('\t');//a的值为1
int b=sizeof("\t");//b的值为2

4、字符串常量 

简称字符串,使用一对双引号括起来的字符序列。

字符串与字符是不同的,它在内存中的存放形式是:按串中字符的排列顺序存放,每个字符占一个字节,并在末位添加'\0'作为结尾标记。

5、布尔常量

6、符号常量

const 数据类型说明符 常量名=常量值;

const float PI=3.1415926;//例如

符号常量在声明时一定要赋初值,且在程序中不能改变其值。

const float PI;//此时PI已经是常量
PI=3.1415926;//错!常量不能被赋值

变量

顾名思义,变量就是在程序运行过程中其值可以变化的量。变量是需要名字来标识的。

首先要清楚声明不同于定义:声明一个变量只是将变量名(标识符)的有关信息告诉编译器,是编译器“认识”该标识符。而定义一个变量意味着给变量分配内存空间,用于存放对应类型的数据,变量名就是对相应内存单元的命名。

注意:C++中有字符串常量,但是没有字符串变量。


运算符优先级与结合性

()  []  .  ->  

!  ~  ++  --  -(负号)  (类型)  *  &(取地址)  sizeof

*  /  %

+  -  

<<  >>

<  <=  >  >=

!=  ==

&(按位与)

^

|

&&

||

?:

=  +=  -=  *=  /=  %=  >>=  <<=  &=  ^=  |=

,

注:优先级由高到低;默认结合性由左至右,蓝色部分表示结合方向自右至左。

隐含转换

基本原则:低类型转换为高类型。类型越高,数据表示的范围越大,精度也越高。因为在转换过程中数据的精度没有损失,所以说这种转换是安全的。

类型由低到高:char -> short -> int -> unsigned -> long -> unsigned long -> float -> double

其他类型转换为布尔类型:非0转换为true,0转换为false。

赋值运算要求左值与右值的类型相同,若不同,编译系统会自动进行类型转换,这时一律将右值转换为左值的类型。


枚举类型

声明形式如下:

enum 枚举类型名 {变量值列表};

例如:

enum Weekday {SUN,MON,TUE,WED,THU,FRI,SAT};

枚举类型应用说明:

1、对枚举元素按常量处理,不能对它们赋值。

SUN=0;//非法!SUN是枚举元素

 2、枚举元素具有默认值,依次为0,1,2,...。例如上例中SUN为0,MON为1,...,SAT为6。

3、也可以在声明时另行定义枚举元素的值,如:

enum Weekday {SUN=7,MON=1,TUE,WED,THU,FRI,SAT};//此时TUE为2,后面依次加1

4、枚举值可以进行关系运算。

5、枚举类型数据可以和整数类型数据相互转换。枚举类型可以隐含转换为整型数据;但整型数据到枚举数据的转换,则需要采用显式转换的方式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值