c++基础

发布时间:2023年12月30日

我是学过很多语言 对c++也是复习  后面的一些东西写的很简单

c++语言特点

  • 兼容c语言
    - 保持了c的简介高效 接近底层汇编语言等特点
    - 对c的类型系统进行改革和扩充
    - 支持面向对象 也支持面向过程
  • 支持面向对象的方法
  • 支持泛型程序设计方法 (模板)

I/O流

流在使用前要被建立,使用后要被删除
从流中获取数据的操作称为提取操作,向流中添加数据的操作称为插入操作
数据的输入与输出是通过I/O流来实现的,cin和cout是预定义的流类对象。
cin用来处理标准输入,即键盘输入。
cout用来处理标准输出,即屏幕输出。

预定义的插入符和提取符
<<  
>>

基本及数据类型

  • 关键字 预定义的单词
  • 标识符 人为定义的
  • 文字
  • 操作符 运算符号
  • 分隔符
  • 空白符 空白 tab 垂直制表符等等

关键字

关键字

标识符

  • 必须大小写字母或者_开头
  • 可由大小写字母 下划线_ 数字组成
  • 大小写敏感
  • 不能是关键字 操作符

基本数据类型

  • 整数
  • 浮点数
  • 字符
  • 布尔

常量 变量

变量
在这里插入图片描述

符号常量
const
在这里插入图片描述
常量表达式:值不能改变的表达式,

const int size = 100; //是
const int limit = size+1; //是
int s_size=100;  //不是  s_size 可改变
const int size=get_size();//不是

具体不同编译器不同

整型

int  4B
signed  unsigned  4B
short 2B long  long long  8B
char  1B

在这里插入图片描述

浮点数

float  4B
double 8B
long double

在这里插入图片描述

字符 字符串

在这里插入图片描述

布尔

bool true 或者 false

不可显示字符

在这里插入图片描述

类型别名

1typedef 已有类型名 新类型名

2using 新类型名=已有类型名

auto和decltype

auto让编译器通过初始值自动推断变量的类型

auto var=var1+var2;

定义一个变量与某一表达式的类型相同,但并不想用该表达式初始化这个变量,这时我们需要decltype变量

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

运算

+ - * / // /为取整
% //取余,操作时为整数
++ -- //自增 自减
= //赋值,右边的值给左边
表达式1,表达式2 //逗号表达式
先计算表达式1,再求解表达式2  最终结果为表达式2的值
eg
a=3*5,a*4;  //结果为60  a=15 => a=15*4=60

//关系表达式
>  <  >=  <=  ==  !=   优先级后两者低

// 逻辑表达式
!  &&  ||  非最高

c++中逻辑表达式具有短路特性

表达式1 && 表达式2
先求解 表达式1 
 若 表达式为false  则不计算表达式2 直接返回false
 若 表达式为true   则计算表达式2  以表达式2为最后结果


表达式1 || 表达式2
先求解 表达式1 
 若 表达式为true   则不计算表达式2 直接返回true   
 若 表达式为false  则计算表达式2  以表达式2为最后结果

条件运算表达式

x=a>b?a:b;

位运算

&  |   ^   ~     >>   <<
与 或 异或  取反  右移  左移

类型转换

显示类型转换
在这里插入图片描述

I/O流类库操作符

在这里插入图片描述

控制流程语句

if 
else if
else



switch 
case 
break 
default
continue

循环语句

while      判断条件符合执行
do...while 先执行一次 然后判断条件符合执行

for(初始化;条件;操作)

利用while 输入一个整数,将各位数字反转后输出

//实际上用do...while方便
int num{ 0 };
	cout << "请输入整数:";
	cin >> num;
	cout << "反转后的数字是:";
	if (!num)
		cout << 0;
	else{
		while (num) {
			int n = num % 10;
			cout << n;
			num /= 10;
		}
	}
文章来源:https://blog.csdn.net/bossDDYY/article/details/135274358
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。