字符,布尔数据类型

字符类型的关键字是char,表示一个字符。在计算机内部,字符是当作整数存储。之前一文中我们简要介绍了ASCII码,每个字符一个ASCII码,这个ASCII码就是该字符对对应的整数一个字符占用8位空间,即一字节。而ASCII只用7位表示,所以只有128个编码。

这就是单纯列,二,十六进制萌新包子们可以不看,就看十进制(我说实话我连二,四,六,八,十六进制转换也不会)字符声明如→右:char a;

在C++程序中,要使用具体字符时,需要将字符放到2个单引号中间,例如:

#include<iostream>
using namespace std;
int main(){
    char letter;//
    letter='A';
    cout<<letter<<endl;
    return 0;
}

 在这个程序中,声明了一个字符类型的变量letter,然后将字符A赋值给,然后输出letter,输出了A

◆:整数赋值

字符类型变量内部存储的实际是整数,并且C++也将他当整数对待。上面的程序实际上可以把         letter='A'改成letter=65。实际上,C++将65当作A在ASCII码里的十进制索引,结果照样是A。

#include<iostream>
using namespace std;
int main(){
    char letter;//
    letter=65;
    cout<<letter<<endl;
    return 0;
}

◆:将字符当整数

在C++,字符类型完全可以当作整数,例如,可以对字符类行进行加减乘除运算,如图:

#include<iostream>
using namespace std;
int main(){
    char letter;
    letter='A';
    cout<<letter<<endl;
    cout<<letter-50<<endl;
    return 0;
}

在这个程序中,声明了变量letter,赋值A。然后做2次输出,先输出变量letter的值,然后输出letter-50的值,输出如下:

 A                                                                                                                                                        15                                                                                                                                                         第一次输出letter的原值:A,第二次输出letter-50,结果为15。这是因为进行减法计算时,使用了A的ASCII码:65。从上面的例子可以看出,字符类型实际上就是只占用1字节的整型变量(比short类型还短)。既然如此,也就可以分为signed和unsigned。确实是这样的,有符号的字符类型关键字是signed char,无符号的字符类型关键字是unsigned char,声明变量语法如下:

signed char a;//有符号        unsigned char a//无符号        无论是char,还是signed char和unsigned char,当我们直接使用该类型的变量时,他们总是被当作字符,除非对他们进行运算或其他特殊处理。当然,在实际中,如果希望当字符使用,直接用char类型就可以了。如果使用signed char和unsigned char声明变量,多数是希望将该变量当作一个单字节的整数使用。将char。signed char和unsigned char当作整数时,他们也有取值范围问题。 char和signed char的取值范围是-128~127。unsigned char的取值范围是0~255.

布尔类型(不要考试时写木耳!!!):布尔类型是表示逻辑值的,关键字是bool。布尔类型的变量占用1字节,只能取2个值:true或false:[]true表示真[]false表示假,例如:

#include<iostream>
using namespace std;
int main(){
    bool logic1,logic2;//bool
    logic1=true;
    logic2=false;
    cout<<logic1<<endl;
    cout<<lohic2<<endl;
    return 0;
}

上面程序中,声明了2个变量logic1,logic2,,在这里,logic1值为true,输出结果为1,logic2值为false,输出结果为0。输出:1                                                                                                                                                          0                                                                                                         在这里(输出时),true当作1,false当作0。如果希望输出结果为true或false,需要特殊处理。     ◆使用整数为布尔类型:实际上,在C++中,数值可以当作逻辑值用,(输入时)所用非0的数值都是true,0是false。例如:

#include<iostream>
using namespace std;
int main(){
    bool logic1,logic2;//bool
    logic1=-100;
    logic2=0;
    cout<<logic1<<endl;
    cout<<lohic2<<endl;
    return 0;
}

上面的程序中,我们将logic1赋值-100,logic2赋值0,因为他们都是布尔类型,所以,logic1的值实际是true,logic2的值实际上是false。输出结果说明结果:1                                                                                                                                                          0

◆布尔类型变量于其他数值运算,布尔类型的变量可以与其他数值进行运算,计算时,true当做1,false为0。例如:

#include<iostream>
using namespace std;
int main(){
    bool logic1,logic2;//bool
    logic1=-100;
    logic2=0;
    cout<<logic1+100<<endl;
    cout<<lohic2+100<<endl;
    return 0;
}

上面程序运行结果是101                                                                                                                                                     100

程序中,为布尔类型变量logic1,logic2分别赋值-100和0;实际上还是true和false,输出为他们分别加上100的结果,加运算时,true是1,false当作0。

  • 14
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值