• 1、【C++基础】bool数据类型


     

    C++ 简介

     

    C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。

    C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点。

    C++ 是由 Bjarne Stroustrup 于 1979 年在新泽西州美利山贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,最初命名为带类的C,后来在 1983 年更名为 C++。

    C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。

    注意:使用静态类型的编程语言是在编译时执行类型检查,而不是在运行时执行类型检查。

    面向对象程序设计

    C++ 完全支持面向对象的程序设计,包括面向对象开发的四大特性:

    • 封装
    • 抽象
    • 继承
    • 多态

    标准库

    标准的 C++ 由三个重要部分组成:

    • 核心语言,提供了所有构件块,包括变量、数据类型和常量,等等。
    • C++ 标准库,提供了大量的函数,用于操作文件、字符串等。
    • 标准模板库(STL),提供了大量的方法,用于操作数据结构等。

    C和C++的联系

    C++ 是在C语言的基础上扩展的,C语言的很多语法在 C++ 中依然广泛使用,例如:

    C++ 仍然使用 charshortintlongfloatdouble 等基本数据类型;

    C++ 仍然使用 if...elsewhileforswitchbreak 等分支或循环结构;

    C++ 仍然使用 +-*/%++--<<>> 等运算符;

    C++ 仍然使用 typedef#defineenumstruct 等;

    C++ 仍然使用C语言中经典的指针(Pointer),并且使用范围有增无减,甚至不可或缺。

    C++与C不兼容之处

    C的大部分代码在C++上都能应用,而C++的代码在C上不能应用。(记住是大部分,不是所有)

    C++是C语言的超集,虽然C++兼容C,但是C++中也有与C语言中不兼容的地方。

    1、变量声明的位置

      C中变量声明和代码是分开的,必须在函数开始处声明;

      C++中,变量可以在任意处声明,只要保证先声名后使用的原则就可以。

    2、struct结构体方面

      用struct定义变量

      struct mystruct{ int i;float x};

      在c中声明struct变量要这么写:struct mystruct a;

      在C++中前面不用加struct:mystruct a;

      一种兼容的用法是:

      typedef struct _mystruct{int i;float x;} mystruct;

      然后用mystruct 定义变量。枚举型(enum),联合体类型(union)也是同样。

      在C++中,struct结构体支持成员函数的定义,C中不行。另外要注意的是,C++中成员函数的默认访问说明符为public,这一点和类不同,类的默认访问说明符为private.

    3、bool类型值

      C++中有bool(或boolean类型);C中可没有这样的bool类型,均为数值类型!需要注意的是真为非零(如:1,52,-5,-2等),假的数值为0。

    4、 赋值

    C语言中的赋值只有一中即:=;

    C++中除了使用=外,还可以使用()。例如:int x(5);就等于: int x=5;我想这种写法是给C++中对象初始化时初始化属性是对象时使用的,那么对于基本类型也可以使用了。

    5、函数

    C语言中函数没有参数默认值,在C++中函数有参数默认值的概念,注意参数默认值与函数重载的区别。

    C语言中函数的定义又两种形式,经典形式和标准形式,C++中只支持标准形式。

    标准形式:int string(int x,float y){......}

    经典形式: int string(x,y)int x;float y;{......}

    C++的函数必须先声名原型或定义才能使用,因为C++是强数据类型语言,在C语言中,未声名和定义函数之前调用函数是允许的.

    6、运算符&和关键字const

    &运算符最基本的含义是取地址,C和C++中都支持这一语法。但在C++中&还可以表示引用。有了引用的概念后函数调用可以作为左值。例如:

    int &rtux()......rtux()=5;

    以上表达式在C++中完全正确,但在C语言中是非法的。

    const关键字要注意一点不同的就是在C++的类函数中,函数可以声名是可以用const,表示这个函数没有改变类中的任何属性。如:void unchange()const;C不能有这样的生明。

    7、extern说明符

    在C语言的某些版本中,可以在程序中多次使用一个全局变量而无需使用extern说明符。但在C++中除定义全局变量外,在其他模块使用应先用extern生明。

    8、void指针

    在C语言中void指针可以赋给任何类型的指针,但在C++中,却不行,但可以先进行强制数据类型转换,在赋值。

     

    C++ bool数据类型

    布尔类型(bool)是C++新增的一种基本数据类型。在标准的C语言中并未定义bool类型,如果需要使用bool类型,程序员可以通过宏定义来自定义一个bool类型,定义语句如下:

    1 #define bool int
    2 #define false 0
    3 #define true 1

    也就是将int型定义为bool型,将int型的0和1两个值分别定义为bool类型的两个值true和false。但是在C++中则不需要这么麻烦,C++中对bool类型已经做出了定义。
    bool类型是C++语言基本数据结构之一,在80x86处理器上编译器gcc 4.8.1和Visual C++ 2012给bool类型变量分配1个字节长度。
    bool类型取值范围仅有两个值:true和false。在做逻辑运算时,默认非零即为ture。
    定义bool类型变量也与其他基本数据类型变量的定义类似,如下所示:

    bool flag = true;

    C++ 的输入输出方式

    【示例】

     1 #include <iostream>
     2 #include <stdlib.h>
     3 using namespace std;
     4 int main(void)
     5 {
     6     cout<<"请输入一个整数:"<<endl;
     7      int x=0;
     8      cin>>x;
     9     cout<<oct<<x<<endl;//将该整数转变成8进制
    10     cout<<dec<<x<<endl;//将该整数转变成10进制
    11     cout<<hex<<x<<endl;//将该整数转变成16进制
    12 
    13     cout<<"请输入一个布尔值(0/1):"<<endl;
    14     bool y=false;
    15     cin>>y;
    16     cout<<boolalpha<<y<<endl;//boolalpha表示的是布尔值
    17     system("pause");
    18     return 0;
    19 }
  • 相关阅读:
    实战(三):对游戏的破解“木叶忍者”
    实战(一):对“钉钉”的逆向(实现打卡功能)
    实战(二):对“微信”的逆向(实现界面自定义)
    iOS签名机制
    AM64汇编
    动态调试(二)
    动态调试(一)
    theos(二)
    murmurhash
    虚继承
  • 原文地址:https://www.cnblogs.com/Long-w/p/8970488.html
Copyright © 2020-2023  润新知