C++ ch.02(上)

本文介绍了C++的基础知识,包括词法记号如关键字、标识符、运算符,数据类型如常量、变量、各种数值类型、字符串和布尔类型,以及变量的初始化和内存位置。还涵盖了输入输出、运算符优先级、赋值运算、关系表达式、逻辑运算、条件运算、位运算和类型转换等概念。

1.

#include <iostream>
using namespace std;    //命名空间可以避免命名冲突,打开std命名空间
int main(){
    cout<<"hello"<<endl;
    cout<<"Welcome to C++"<<endl;
}

2. C++词法记号

  • 关键字
  • 标识符
  • 文字
  • 分隔符
  • 运算符(操作符)
  • 空白符

3. 标识符的构成规则

  • 以大小写字母或下划线开始
  • 可以由大小写字母,下划线和数字构成
  • 区分大小写
  • 不能是C++关键字或操作符

4. 程序中的数据

  • 常量:1.在源程序中直接写明的数据2.其值在整个程序运行期间不可改变
  • 变量:在程序运行过程中允许改变的数据

5.
整数类型
浮点类型
字符类型
字符串类型:String类,数组
布尔类型
常量:八进制前导0,十六进制前导0x
符号常量:const float PI =3.14159;

6. C风格的字符串常量:

  • 一对双引号括起来的字符序列
  • 在内存中按串中字符的排列次序顺序
  • 在末尾添加‘\0’作为结尾标记

7. 变量所在位置不同,他的初始状态也不同

  • 定义在所有函数之外的是全局变量,初始值为0
  • 在函数内部定义的,是局部变量,初始值是垃圾数据

8.初始化方式

  • int a=0;
  • int a(0);
  • int a{0}; :这种方式不允许信息丢失,例如不可以使用double去给int型赋值

9. 从键盘输入数据

  • iostream类的对象cin的>>操作,可以从标准输入设备读入数据
#include <iostream>
using namespace std;
int main(){
    int radius;
    cout<<"Please enter the radius\n";
    cin>>radius;
    cout<<"The radius is:"<<"radius"<<'\n';
    cout<<"PI is:"<<3.14<<'\n';
    cout<<"Please enter a different radius\n";
    cin>>radius;
    cout<<"Now the radius is changed to:"
        <<radius<<'\n';
        return 0;
}

在这里插入图片描述
10.

  • 基本运算符
  • 优先级和结合性
  • 自增自减

11. 赋值表达式

12. 复合的赋值运算符
+=,-=,*=,/=,%=
<<=.>>=.&=,^=,|=

13.逗号运算符

  • 表达式1,表达式2
  • 先求解表达式1,在求解表达式2,最终结果为表达式2的值
  • a=3*5,a*4 的最终结果为60

14.关系运算与关系表达式

  • 优先级高:<,>,<=,>=
  • 优先级低:==,!=
  • 关系表达式是一种最简单的逻辑表达式,结果只能是bool类型

15.逻辑运算符

  • 优先级:!(非)>&&(与)>||(或)
  • (a>b)&&(x<y);
  • 逻辑与是由短路特性,即如果左边的表达式是假,则不再计算右边
  • 逻辑或先计算左边的表达式如果为真,则不再计算右边的表达式

16.条件表达式和条件运算符

  • 表达式?表达式2:表达式3
  • 条件运算符的优先级高于赋值运算符,低于逻辑运算符

17.sizeof运算

  • 计算一种类型所占的字节数
  • sizeof(类型名) 或 sizeof 表达式
  • sizeof (short); sizeof x;

18.位运算

  • 按位与&,两个变量的每一位去进行逻辑与操作(有0为0)
  • 按位或 |,两个变量每一位去进行逻辑或操作(有1为1)
  • 按位异或 ^ ,对应位相同为0,对应位不同为1
  • 按位取反 ~ ,对一个二进制数进行按位取反
  • 移位 << , >>
    1.左移运算<< :左移后低位补0,高位舍弃。(相当于乘2)
    2.右移运算:低位:舍弃 高位:无符号位补0,有符号位补符号位。(相当于除2)

19.类型转换—隐式转换

  • 参与运算的操作数的类型不一致,编译系统会自动对数据进行转换,基本原则是将地类型数据转为高数据类型

20类型转换—显示转换

  • 类型转换操作符<类型说明符>(表达式) :static_cast
  • 类型说明符(表达式)
  • `int (Z) == (int)Z == static_castZ

`

#include <iostream>
using namespace std;

int main()
{
    cout<<"the size of int is:"<<sizeof(int)<<"bytes\n";

    cout<<"the size of long is:"<<sizeof(long)<<"bytes\n";
    return 0;
}

在这里插入图片描述

#include <iostream>
using namespace std;

int main()
{
    unsigned int x;
    unsigned int y=100;
    unsigned int z=50;

    x=y-z;
    cout<<"difference is:"<<x;

    x=z-y;
    cout<<"\nnow difference is"<<x<<endl;

    return 0;
}
}在这里插入代码片

在这里插入图片描述

#include <iostream>
using namespace std;

int main()
{
    int a,b,x;
    cout<<"input value of a:\n";
    cin>>a ;

    cout<<"input value of bL\n";
    cin>>b;

    x=(a-b)>0?(a-b):(b-a);

    cout<<"the difference of a and b is"<<x;

    return 0;

    

}

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值