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

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

目录

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、枚举类型数据可以和整数类型数据相互转换。

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/674635.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-19
下一篇2022-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存