栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++粗浅认识

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++粗浅认识

1.c++并非第一个面向对象的语言,而是第一个火起来的面向对象的语言:原因人们会一种语言后不愿意再去学另一种语言,c++之父就是依赖这一心理考虑,使c++完全兼容c,但因此也留下了c语言带来的病根,也因此可知c++并不是纯正的面向对象的语言,也支持c语言的面向过程的思想编程,但特殊的是c++支持泛型编程的思想,泛型编程思想与面向对象思想结合使用相得益彰。

2.解决命名冲突的问题:使用预定义库加上std::

  • 两种省略std::前缀的方法 :
  • using namespace std;
  • using std::cout;
    using std::cin;
    using std::endl;

3.c++主函数使用int main() 这个int为规范使用,return 0 ;return值给了操作系统,操作系统接不接收是操作系统的事。

4.注意:不要使用以下划线开头的标识符,以免混淆。原因是C++编译器可能为一些内部实体使用这类名字

5.八进制数以0开头 十六进制数以0x开头(大小写都行)

6.在写浮点类型的常量时,后面加上f

7.定义但未初始化的变量叫做垃圾变量,垃圾的原因:在当前这个程序运行之前,机器一定是运行过其他程序的,确实其他程序关闭后他的内存空间也被释放出来,但是释放出来不代表是清零了,原来的数值仍然保存在那块内存空间内,因此,如果定义了变量但未给其初始化,就称为垃圾变量。

8.数据失真的原因各种各样:比如除法取整了,精度不足,内存泄漏等

如:除法:1/2 = 0 解决方法:是其中一个变为浮点数即可:1.0/2 = 0.5  / 1/2.0 = 0.5

9.定义变量的实质是内存空间的分配

10.实数在c++中称为浮点数,实数在内存里近似存储,不像整数一样为精确值,了解这一点,绝对不要比较两个实数是否相等,一个表达式理论为3.2与3.2相比可能不相等,如何处理呢,相减后结果充分小看其精度是否可以接受

11.在写一个算数运算式时,同级运算顺序不可控有机器决定,因此在写算数表达式时,表达式的运算效率可以放慢,但要考虑同级运算的顺序改变导致运算结果溢出的问题。

12.复合运算符注意: a *= 7+b等价于a = a *(7 + b)

13.逗号表达式:表达式1,表达式2    :两个表达式合为了一个表达式,先求解表达式1,在求解表达式2然后将表达式2的结果做为整个表达式的结果

14.<= >=的优先级高    == !=的优先级低

15.逻辑&&  (表达式1)&&(表达式2) 先计算表达式1当表达式1结果不成立(即为flase 0时),表达式2不一定会执行,可能就此退出而不执行表达式2

逻辑||同理当表达式1结果为真那么表达式2同样不一定执行

16.赋值运算优先级低于条件判断运算优先级:x = a > b ? a +1: b+1;先判断a>b吗?a大执行a+1再将a+1的结果赋值给x同理a小执行b+1再将b+1结果赋值给x

17.移位操作:左移:低位补零,高位舍去 

 右移:如果是无符号数 低位舍去 高位补零  如果是有符号数 低位舍去 高位补符号位

18.算数运算符,逻辑运算符,关系运算符,位运算符,赋值运算符都要求两个操作数类型一致,

但常常并不会一致,数据类型转换基本原则是低精度向高精度转换,如果short与short运算都会首先将两这转为int类型再计算,float与float类型运算都会首先将两者转为double类型再计算

而需要注意的是有符号数和无符号数尽量不要让他们去转换,原因是受机器内补码的一些原则影响

 19.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/869915.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号