C++基础知识点学习笔记

First Day

信息的存储单位
位(bit,b):数据的最小单位,表示以为二进制信息。
字节(byte,B):八位二进制的数字数组(1 byte = 8 bit)。
模数
n位二进制整数的模为2^n。
几位小数的模为2。
补数
一个数减去另一个数(加一个负数)等于第一个数加第二个数的补数。
浮点数表示小数
N=M*2^E
E:2的幂次,称数N的阶码,反应该浮点数表示的数据范围。
M:N的位数,其位数反应数据精度。
C++特点

  • 兼容C,支持面向过程的程序设计。
  • 支持面向对象的方法。
  • 支持泛型程序设计方法。

C++字符集
大小写英文字母。
数字。
特殊字符。

构词法
关键字,标识符,文字,分隔符,运算符,空白符。
基本数据类型
整数,实数,字符,布尔。
程序中的数据。
常量,变量。
整数
int,signed(有符号),unsigned(无符号),short,long,long long。
字符
char
浮点数
单精度(float),双精度(double),扩展精度(long double)
进制
八进制
0255555
十六进制
0x55668
C风格字符串常量

  • 一对双引号括起来的字符序列
  • 在内存中按字符排列顺序存放
  • 在末尾添加’\0’作为结束标记
    “a” a\0
    ‘a’ a

初始化

int a=0;
int a(0);

初始化列表
不允许数据的丢失

int a={0};
int a{0};

符号常量

const 数据类型说明符 常量名=常量值
数据类型说明符 const 常量名=常量值
定义时需要初始化且程序中不能修改
例如
const float PI=3.14159;

十种复合运算符
+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=
例代码1

#include <iostream>
using namespace std;

int main()
{
	const double pi(3.1415926);
	int radius;
	cout << "Please enter a radius!\n";
	cin >> radius;
	cout << "The radius is " << radius << '\n';
	cout << "PI is " << pi << '\n';
	cout << "Please enter a different radius!\n";
	cin >> radius;
	cout << "Now the radius is changed to " << radius << '\n';
	cout << "PI is still " << pi << '\n';
	return 0;
}

Second Day

逗号运算
表达式1,表达式2
先表达式1,再表达式2,最终结果为表达式2的值
例:
a=35,a4 ; 其结果为60;
sizeof运算
sizeof(类型名)或者 sizeof 表达式
结果: "类型名"所指定的类型或者表达式的结果类型所占的字节数。
例:
sizeof(short)
sizeof x
位运算

  • 按位与(&)
    有0则0,无0则1
    置零,取指定位
  • 按位或(|)
    置1
  • 按位异或(^)
    相同为0,不同为1
    使特定位翻转
  • 取反(~)
  • 移位(<<,>>)
    左移(<<):
    低位补0,高为舍弃。
    右移(>>):
    低位舍弃,若高位无符号,补0,若高位有符号,补符号位。

显示转换
类型说明符(表达式)
(类型说明符)表达式
类型转换操作符 <类型说明符> (表达式)
类型转换操作符:

const_cast
dynamic_cast
reinterpret_cast
static_cast
例:
int(z)
(int)z
static_cast <int> (z)

常用的IO流类操作符

dec数值数据采用十进制表示
hex数值数据采用十进制表示
oct数值数据采用八进制表示
ws提取空白符
endl插入换行符,并刷新流
ends插入空白符
setsprecison(int)设置浮点数的小数位数(包括小数点)
setw(int)设置域宽

例:

cout <<setw(5)<<setsprecision(3)<<3.1415;

例代码2

#include <iostream>
using namespace std;

int main()
{
	//sizeof 运算符 输出字节数
	cout << "The size of int is " << sizeof(int) << " bytes! \n";
	cout << "The size of long is " << sizeof(long) << " bytes! \n";

	int x;
	unsigned int y = 100;  //unsigned 无符号数
	unsigned int z = 50;
	x = y - z;
	cout << "Different is : " << x << "\n";
	x = z - y;
	cout << "Now different is : " << x << "\n";

	int a, b, c;
	cout << "input value of a :\n";
	cin >> a;
	cout << "input value of b :\n";
	cin >> b;
	c = (a - b) > 0 ? (a - b) : (b - a);   //条件判断
	cout << "The different of a and b is : " << c << "\n";


	return 0;
}

Three Day

if语句
switch
while
do…while
for
typedef 已有类型名=新类名
using 新类名=已有类型名
枚举类型

不限定作用域  enum 枚举类型名 {变量值列表}
  1. 枚举元素是常量,不能赋值
  2. 具有默认值
  3. 可以在声明时另行指定枚举元素的值
  4. 枚举元素可以进行关系运算
  5. 整数值不能直接赋值给枚举变量(如果需要,应进行强制类型转换)
  6. 可以给整型变量赋值

auto类型与decltype类型
auto:
编译器通过初始值自动判断变量的类型

auto val = val1+val2

decltype:
定义一个变量与某一表达式的类型相同,但并不同该表达式初始化变量

decltype(i) j=2;
表示j以2作为初始值,类型与i一致

函数定义

类型标识符 函数名 (形式参数表)
{
语句列表
}
形式参数表 = <type1>name,<type2>name1........

函数调用
调用前需声明
函数的参数传递

  1. 在函数被调用时才分配形参的存储单元
  2. 实参可以使常量,变量或表达式
  3. 实参类型必须与形参一致
  4. 值传递是传递参数值,即单向传递
  5. 引用传递可以实现双向传递
  6. 常引用做参数可以保障实参数据的安全

引用类型

  1. 一旦一个引用初始化后,就不能改为指向其他对象
  2. 引用可以作为形参

内联函数

  1. 不能有switch语句和循环体
  2. 内联函数的定义必须出现在内联函数第一次被调用之前
  3. 对内联函数不能进行异常接口声明

面对对象的基本特点
抽象,封装,继承,多态
类定义

class 类名称
{
public:公有成员(外部接口)
private:私有成员
protected:保护型成员
}
对象定义
类名称 对象名
Clock C2;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值