java基础改学C++(一)数据类型与表达式

java基础学习 C++

本系列文章只注重 java与C++不同的地方

本文:数据类型,运算符,表达式

(没有注解的都是需要先背下来的,先不用理解)

 

#include <iostream>

using namespace std;

 

//main方法 程序入口------------------

int main(int argc, const char * argv[]) {

  

    //1.1 输入输出

    cout<<"This is a phrase"; // 打印一段话

    cout<<endl;  // 打印换行符

 

    int a,b,sum;

    cin>>a>>b;  // 连续输入两个数

 

    sum = a+b;

    cout<<"a+b="<<sum<<endl; // 输出也可以串起来

 

    //2.1 字符与整型互转

    int k,j;

    j = 'B'; // char 理解为一个 8 bit 的数

    k = '\n';

    cout<<j<<" "<<'\n'<<k<<endl; // 按照 int 格式打印出数

    

    char char1,char2;

    char1 = 67; // 用 int 数给 char 赋值

    char2 = 68; // 打印的时候按 char 的格式打印出字符

    cout<<char1

<<char1+1

<<(char2 = char2+1)

<<char(char1+1)

<<endl;  

//打印结果: C 68 E D 

   

//变量

    int a1,b1,c1 ;

    a1 = 10; c1 = 0;

    a1 = b1 = c1;  //赋值是右结合的!!!所以打印三个0 

 

    //例如:

    a+=a-=a*a;

//执行方式:a=a-(a*a),然后 a = a+a,这个不重要,没人会实际开发这么写

 

     //逗号表达式(可跳过这个,更不重要!)

    //求解过程:先求左边,再求右边。整个逗号表达式的值是右边的值。但是,比 , 优先级高

     a = 3*5,a*4;  //因此 a 值为60

     //逗号可以串联N个式子. 灵活。

     

    bool bool1 = 1,bool2 = false;

    cout<<bool2;  打印 0 // bool 本质上是 char,或者理解为一个 8bit 的数, 打印也是打印数

    bool bool3 = 100; 只要不是0就是true,负数也是 true,因为二进制不是 0!看二进制的。

    int example = bool1 + bool2 + 1 + bool3 ; // bool 是数!

    //  再强调,bool 本质上是数,8bit,1字节,只有8个比特位都是0,才是false

    

    //空值型(现在可跳过,学了指针再理解)

    void *p;

    //void :空值型,void * p 指向类型不确定,或者说可以指向任意类型,配合强制转换

 

    // 科学计数法   E或e 相当于 10的多少次方。5E7就是 50000000 

   

    // 强制转换

    int temp = 300.5;//会直接截整数部分

    double d1 = 1.6;

    int i1 = int(d1);   或

    int i2 = (int)d1;    

    // char c3 = temp;  // 只截temp的低八位。int 是32位的,char 是8位 

    

    cout<<d1<<i1<<i2<<temp;

    

    // 加深内存理解:

    unsigned short s1; // 无符号数,只能是大于等于0

    short s2 = -1;

    s1 = s2; // 赋值时,不在乎是不是无符号数,纯粹是二进制值复制过去,读取s1时:

    cout<<s1; // 打印65535, 内存内容的直接复制,与数据类型无关。 

    //总结:强制转换就是把内存啥样直接传送或截取。上面就是把有符号数的 -1 的内存内容,直接以无符号数的格式读出来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值