C++语法部分

目录

1. 变量

影院售卖机

计算机的内存

变量的声明

变量命名规则 

变量的初始化

变量的输出

总结 

练习题

2. 常量

        字面量-装在变量里的常量

        整数和浮点字面量-数学计算中的常量

        字符字面量-表达字符的常量

        字符串字面量-构成输出的常量

        符号常量-具有名称的常量

        总结代码

        课后题

3. 数据类型

        什么是数据类型

        整数类型

        整数类型-数值整数类型

        表示范围

        整数类型-数值整数类型

        整数类型-字符整数类型

        浮点类型

        表示精度

        总结代码

        练习题

4. 算数运算符与表达式

        算术与赋值运算符

        赋值运算符

        优先级和结合律

        自增自减运算符

        计算且赋值运算符

        练习

5. 位运算符与表达式

        C++按位运算符

        位与运算符

        位或运算符

        位异或运算符

        位取反运算符

        左右移运算符

        练习

6. 关系与逻辑表达式

        关系表达式

        逻辑表达式

        运算符优先级

        代码:判断闰年

        练习

        绝对值

        倍数或判定

        是字母吗

7. if语句

        if 基础用法

        if ... else 用法

        if... else if 用法

        if... else if 的延伸用法 


1. 变量

影院售卖机

学习变量,实现售卖机功能第一步。

计算机的内存

内存:计算机用来记忆,存储信息的硬件。

操作系统一般会把内存划分成不同区域来使用。

将内存想象成一个充满盒子的仓库。

内存中每个基本存储单元可以存放一个字节的数据,每个字节具有8位,也就是8个比特(bit)。

每个内存单元有一个唯一的地址,常用一个16进制数表示和区分。

变量的声明

变量是专门用来存储数据的容器,会根据数据类型决定容量大小。

比如可乐与爆米花的数量需要使用变量来记录,支付总额也需要一个变量来表示。

这些变量都是整数类型,所以容量为一个整数的大小。

变量对应着内存中的一个地址,用于计算时数据的存储和读取 。

比如修改可乐与爆米花的数量时,我们需要在内存中找到对应的变量,并改变其中的数据

变量的声明就是向内存申请“盒子”(内存)的过程。一般的声明方式为 数据类型 变量名称。

代码中的 int(integer)用来明确变量的数据类型

代码中的 coke、popcorn 是用来区分不同变量的变量名称

// 导入系统输入输出头文件 iostream

#include <iostream>

// 使用标准命名空间 std

using namespace std;

int main() {

    // TODO 声明可乐数量变量 coke

    int coke;

    // TODO 声明爆米花数量变量 popcorn

    int popcorn;

    // TODO 声明消费总额变量 money

    int money;

    

    return 0;

}

 

变量命名规则 

数字不可以出现在第一个位置上;

例如:coke330合法,但是330coke以数字作为开头,因此不合法。

在C++中,标识符中的英文字母是区分大小写的;

例如:coke330和Coke330表示的是完全不同的变量名称,即表示不同的标识符。

C++的关键字(保留字)不可以⽤做标识符;

例如:pout合法,但是cout是C++的关键字,不可以用作标识符,因此不合法   Tips: 无需背诵所有关键字

 

变量的初始化

// 声明消费总额变量 money,并且初始化数值为 0

int money = 0;

 

代码中的符号"="是赋值运算符

操作是将符号"="右边的数值存放到 左边 的变量中

 

// 导入系统输入输出头文件 iostream

#include <iostream>

// 使用标准命名空间 std

using namespace std;

int main() {

    // TODO 声明消费总额变量 money,并且初始化数值为 0

    

    int money = 0;

       

    return 0;

}

 

变量的输出

//将初始化好的消费总额打印在屏幕上,并且进行换行

cout << money << endl;

 

输出变量的时候,我们可以注意以下几点

变量money与"Hello, World!"一样,也可以作为输出内容

输出的内容是变量中保存的数值,而不是变量名称

 

// 导入系统输入输出头文件 iostream

#include <iostream>

// 使用标准命名空间 std

using namespace std;

int main() {

    // 定义消费总额变量 money,并且初始化数值为 0

    int money = 0;

    // TODO 将初始化好的消费总额打印在屏幕上,并且进行换行

    cout << money << endl;

    return 0;

}

 

总结 

// 导入系统输入输出头文件 iostream

#include <iostream>

// 使用标准命名空间 std

using namespace std;

int main() {

    // 声明可乐数量变量 coke

    int coke;

    // 声明爆米花数量变量 popcorn

    int popcorn;

    // 声明消费总额变量 money,并且初始化数值为 0

    int money = 0;

    

    // 将初始化好的消费总额打印在屏幕上,并且进行换行

    cout << money << endl;

    

    return 0;

}

 

 

练习题

  1. 阅读以下代码,若想要输出a+b的结果,____处应当填入?

const int a = 10;

int b = 10;

____ 

常量a不可被修改。

 

2. 常量

字面量-装在变量里的常量

内存可以看作一个充满盒子的仓库,每个盒子可以储存计算时用到的数据,称为一个变量。例如:用户需要的可乐数量、爆米花数量以及总金额等。

计算机如何定义存放在变量中的数据?

字面量就是存放在变量中的数据。

字面量经常会被装到变量中使用,这个操作叫做赋值,一般写法为 变量名 = 字面量。

// 小戴需要2瓶可乐,3个爆米花

coke = 2;      

popcorn = 3;

代码中的符号"="是赋值运算符

操作是将符号=右边的数值存放到左边的变量中

#include <iostream>

using namespace std;

int main() {

    int coke, popcorn;

    // TODO 小戴需要2瓶可乐,3个爆米花

    coke = 2;      

    popcorn = 3;

        

    return 0;

}

整数和浮点字面量-数学计算中的常量

整数字面量是没有任何小数或指数部分的数字字面量,与数学中的整数直接关联。

十进制:直接写出的整数。例如:0,23,-1024

八进制:以数字0开头的整数,有效数字为0~7,并且不带有正负号。例如:0126,0163

十六进制:以0x或0X开头的整数,有效数字为0~9、A~F(a~f),并且不带有正负号。例如:0x12a,0xf39

浮点字面量是有分数形式或指数形式的数字字面量,与数学中的小数直接关联。

小数形式:由数字和小数点组成。例如:0.66,30.0,14.15926

指数形式:在数学中,一个可以用幂的形式来表示的形式。在C语言中,则以e或E后跟一个整数来表示以10为底数的幂数。

e或E的左侧必须要有数字

e或E的右侧为幂次的数值,必须为整数

上述小数可以等价表示为:6.6E-1,30.0e0,0.01415926E3

字符字面量-表达字符的常量

单字符字面量:

通过将单个字符括在单引号内来创建字符字面量。

例如:'a','m','F','2','}'等。

转义符字面量:

使用''开头的转义字符序列来表示一个特殊字符。

   `'\n'`表示换行符;

   `'\t'`表示制表符;

   `'\''`表示单引号字符(不被解析成字符外的单引号);

   `'\\'`表示真正的斜杠字符。

字符串字面量-构成输出的常量

字符串字面量是由一对双引号括起来的字符序列

字符串中可以包含类似于字符字面量普通字符以及转义字符

字符串除了存储所包含的字符外,还额外包含一个结束标志'\0'

'\0':结束符; ASCII编码对应数值为0的字符

练习:

输出下列:

****

****

****

#include<iostream> 

using namespace std; 

int main() { 

    // TODO 输出三行内容,每行为4*和一个换行符

    cout << "****\n";

    cout << "****\n";

    cout << "****\n";

    return 0;

符号常量-具有名称的常量

在C++中,随着程序运算不改变的量叫做符号常量,可以使用const关键字来定义并且初始化:

const int kCokePrice = 5;

const int kPopcornPrice = 10;

const是⼀个修饰符,加在数据类型int的前⾯,用来给这个变量加上一个不变的属性

初始化时也可以将修饰符const与数据类型int调换位置,写成int const kCokePrice = 5;

总结代码

#include<iostream> 

using namespace std; 

int main() { 

    // 字面量

    cout << 1 << 是一个整型字面量" << endl;

    cout << 0.5 << 是一个浮点型字面量" << endl;

    cout << 'a' << 是一个字符型字面量" << endl;

    cout << "这句话就是一个字符串型字面量\n" << endl;

    

    // 定义符号常量表示可乐单价

    const int kCokePrice = 5;

    // 定义符号常量表示爆米花的单价

    int const kPopcornPrice = 10;

    

    // 将可乐与爆米花的单价分别打印在屏幕上,并且加上提示信息

    cout << "CokePrice is: " << kCokePrice << endl;

    cout << "PopcornPrice is: " << kPopcornPrice << endl;

    

    return 0;

课后题

  1. 下列关于常量说法正确的是____。

选项A字符常量只能包括一个字符

选项B"true"是字符串字面量

3. 数据类型

什么是数据类型

在C++的变量声明中,变量名之前需要指定数据类型。

数据类型 变量名称;

数据类型将会决定一个变量存储什么样的信息,从而决定变量的容量有多大,在内存中需要分配多大的空间。

C++中的数据类型分为基本类型和复合类型:

其中基本类型包括了整数、浮点数

复合类型是在基本类型的基础上创建的,包括数组、字符串以及结构体等

整数类型

整数类型分为数值整数类型和字符类型

数值整数用来表示没有小数部分的数字。

数值整数可以按照占用内存大小分为short、int、long以及long long这四种,占用内存越大的类型能表示的数值范围就更大。

同时又可以按照是否表示负值分为有符号版本和无符号版本 

字符类型则专门用来存储计算机中的基本符号:英文字母、数字以及标点等。

整数类型-数值整数类型

表示范围

在数学中,整数的范围是无穷无尽的,但是计算机的内存是有限的,所以一种类型能表示的整数范围也是有限的。因此,在C++中,我们需要根据需求,选择合适的数值整数类型。

short、int、long以及long long这四种数值整数类型占用的字节数递增,所以能表示的整数范围也递增。

short类型至少占据2个字节,即16位;一般占用2字节;

int在现代系统中一般占用4个字节,即32位;类型长度大于等于short类型;

long类型长度至少占据4个字节,且大于等于int类型;一般占用4个字节;‘

long long类型长度至少占据8个字节,且大于等于long类型;一般占用8个字节。

计算机内存采用二进制的存储方式,每一个位可以表示0与1两种状态,因此占据nn 位的内存块,可以表示 2^n2个不同的数字。

比如一个 8 位的内存块,可以表示 2 的 8 次方个不同的组合,也就是说能表示 256 个不同的整数;

32 位的int类型,可以表示 2^{32}=4294967296232=4294967296 个不同的整数。  

 

每个类型数据可以分别指定有符号版本和无符号版本,用来明确该类型是否需要表示负值。

比如unsigned int就表示无符号的int类型,只能表示正值;

signed int就表示有符号的int类型,可以表示负值。

不指定有无符号时,都默认是有符号版本。

如果是无符号版本,那么一个8位的内存块可以一一对应到0~255之间的整数;

如果是有符号版本,那么就会考虑负数,这个8位的内存块可以表示一128~127之间的整数。

整数类型-数值整数类型

short price = 500;    // 单价

int coupon = -2000;   // 优惠

long total = 48000;   // 总价

如果输入:

short total = 48000;  // 总价

cout << "总价为:" << total << "元。\n";

输出:

总价为:-17536元。

Tips: 这是由于short默认状态下是符号类型,占据16位内存,数据范围在-32768~32767之间,所以无法正确表示48000。

默认状态下short等四个整数类型都是符号类型,这使得它们能够表示的最大数值减小了一半左右。

在确定变量的数值不会是负数的情况下,我们可以利用unsigned关键字,加在原有数据类型之前,创建无符号的整数类型。

unsigned short bike = 6;           // 单车数

unsigned int car = 58000;          // 汽车数

unsigned long people = 16825000;   // 总人数

如果使用无符号short类型定义总价total变量,我们运行以下代码:

unsigned short total = 48000;  // 总价

cout << "总价为:" << total << "元。\n";

输出:

总价为:48000元。

#include <iostream>

using namespace std;

int main() {

    // TODO 声明 short 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值