C++语言程序设计 | 第二章 C++简单程序设计(一)

    xiaoxiao2022-06-24  186

    字符集:英文字母、数字、特殊字符标识符:可以由 字母、数字、下划线组成,但只能以字母/下划线开始,不能是关键字基本数字类型:bool、char、int、float、double 常量 在程序运行的整个过程中其值始终不可改变的量;直接使用符号(文字)表示的值;例如:12,3.5,'A’都是常量。变量:声明、定义、存储类型(auto register extern static) 初始化 n C++语言中提供了多种初始化方式; n 例如: int a = 0; int a(0); int a = {0}; int a{0}; 其中使用大括号的初始化方式称为列表初始化,列表初始化时不允许信息的丢失。例如用double值初始化int变量,就会造成数据丢失。符号常量在使用之前必须声明+赋初值,且在程序中不能改变其值。 √ const float PI=3.14; × const float PI;PI=3.14;算数运算与赋值运算 Sizeof运算 sizeof(类型名)或表达式 结果值:“类型名”所指定的类型,或“表达式”的结果类型所占的字节数。 例: sizeof(short) sizeof x位运算 位运算——按位与(&)

    l 举例:计算 3 & 5 位运算——按位或(|)

    位运算——按位异或(^)

    l 运算规则 若对应位相同,则结果该位为 0, 若对应位不同,则结果该位为 1,

    l 举例:计算 071^052 l 用途举例:使特定位翻转(与0异或保持原值,与1异或取反)

    例如:要使 01111010 低四位翻转: 位运算——取反(~)

    l 运算规则 单目运算符,对一个二进制数按位取反。

    l 例: 025:0000000000010101 ~025:1111111111101010

    位运算——移位(<<、>>) 算数左移相当于*2(可能溢出),右移相当于/2 左移运算(<<) 左移后,低位补0,高位舍弃。 右移运算(>>) 右移后: 低位:舍弃 高位: 无符号数:补0 有符号数:补“符号位”

    运算优先级 类型转换 混合运算时数据类型的转换 l 一些二元运算符(算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符)要求两个操作数的类型一致。 l 在算术运算和关系运算中如果参与运算的操作数类型不一致,编译系统会自动对数据进行转换(即隐含转换),基本原则是将低类型数据转换为高类型数据。

    l 将一个非布尔类型的算术值赋给布尔类型时,算术值为0则结果为false,否则结果为true。

    l 将一个布尔值赋给非布尔类型时,布尔值为false则结果为0,布尔值为true则结果为1

    l 将一个浮点数赋给整数类型时,结果值将只保留浮点数中的整数部分,小数部分将丢失,不会四舍五入。

    l 将一个整数值赋给浮点类型时,小数部分记为0。如果整数所占的空间超过了浮点类型的容量,精度可能有损失。

    混合运算时数据类型的转换——显式转换 l 显式类型转换的作用是将表达式的结果类型转换为类型说明符所指定的类型。

    l 语法形式 n 类型说明符(表达式) n (类型说明符)表达式 n 类型转换操作符<类型说明符>(表达式) n 类型转换操作符可以是: const_cast、dynamic_cast、reinterpret_cast、static_cast l 例:int(z), (int)z, static_cast(z) 三种完全等价


    最新回复(0)