C++ 基本数据类型、常量、变量(第二章)

本文详细介绍了C++编程中的基本数据类型,包括整数(int, signed, unsigned)、浮点数(float, double), 字符(char)以及布尔类型(bool),并展示了如何定义常量、变量和使用符号常量。实例演示了读取整数、命名常量和初始化变量的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

C++能够处理的基本数据类型

程序中的数据

整数类型

字符类型(char)

浮点数类型

字符串类型(详见第6章)

布尔类型(bool)

各基本类型的取值范围

常量

整数常量

浮点数常量

变量:在程序的运行过程中,其值可变的量

符号常量

题目:读入并显示整数

题目:为常量命名

题目:变量的初始化


C++能够处理的基本数据类型

l  整数类型;

l  浮点数类型;

l  字符类型;

l  布尔类型。

程序中的数据

l  常量

n  在源程序中直接写明的数据;

n  其值在整个程序运行期间不可改变。

l  变量

n  在程序运行过程中允许改变的数据。

整数类型

l  基本的整数类型:

int

l  按符号分

n  符号的

signed

n  无符号的

unsigned

l  按照数据范围分    

n  短整数

short

n  长整数

long

n  长长整数

long long

l  ISO C++标准并没有明确规定每种数据类型的字节数和取值范围,它只是规定它们之间的字节数大小顺序满足:

(signed/unsigned)signed char ≤(unsigned) short int ≤(unsigned) int ≤(unsigned) long int ≤ long long int

字符类型

char

l  容纳单个字符的编码;

l  实质上存储的也是整数。

浮点数类型

l  单精度

float

l  双精度

double

l  扩展精度

long  double

字符串类型(详见第6章)

l  有字符串常量

l  基本类型中没有字符串变量

l  采用字符数组存储字符串(C风格的字符串)

l  标准C++类库中的String类(C++风格的字符串)

布尔类型

bool

l  只有两个值:

true(真) 、false(假)

l  常用来表示关系比较、相等比较或逻辑运算的结果

各基本类型的取值范围

4.png

常量

l  在程序运行的整个过程中其值始终不可改变的量;

l  直接使用符号(文字)表示的值;

l  例如:12,3.5,'A'都是常量。

整数常量

l  以文字形式出现的整数;

l  十进制

n  若干个0~9的数字,但数字部分不能以0开头,正数前边的正号可以省略。

l  八进制

n  前导0+若干个0~7的数字。

l  十六进制

n  前导0x+若干个0~9的数字及A~F的字母(大小写均可)。

l  后缀

n  后缀L(或l)表示类型至少是long,后缀LL(或ll)表示类型是long long,后缀U(或u)表示unsigned类型。

浮点数常量

l  以文字形式出现的实数;

l  一般形式:

n  例如,12.5,-12.5等。

l  指数形式:

n  例如,0.345E+2,-34.4E-3;

n  整数部分和小数部分可以省略其一。

l  浮点常量默认为double型,如果后缀F(或f)可以使其成为float型,例如:12.3f。

字符常量

l  单引号括起来的一个字符,如:'a'、'D'、'?'、'$';

l  C++转义字符列表(用于在程序中表示不可显示字符)

5.png

C风格字符串常量

批注 2020-03-03 174610.png

例:

6.png

通过添加前缀可以改变字符常量或者字符串常量的类型,前缀及其含义如下表所示:

7.png

变量:在程序的运行过程中,其值可变的量

l  变量定义

n  数据类型    变量名1, 变量名2, ..., 变量名n;

l  初始化

n  C++语言中提供了多种初始化方式;

n  例如:

int a = 0;

int a(0);

int a = {0};

int a{0};

其中使用大括号的初始化方式称为列表初始化,列表初始化时不允许信息的丢失。例如用double值初始化int变量,就会造成数据丢失。

符号常量

l  常量定义语句的形式为:

n  

const 

数据类型说明符  常量名=常量值;

或:

n  数据类型说明符  const  常量名=常量值;

l  例如,可以定义一个代表圆周率的符号常量:

n  

const float PI = 3.1415926;

l  符号常量在定义时一定要初始化,在程序中间不能改变其值。

程序举例

题目:读入并显示整数

l  主要知识点:

n  常量

u  在源程序中直接写明的数据,其值在整个程序运行期间不可改变,这样的数据称为常量。

n  变量

u  在运行过程中从计算机的外部设备(例如键盘、硬盘)读取的,这些数据的值在程序运行过程中允许改变,这样的数据称为变量

n  从键盘输入数据

u  iostream类的对象cin的>>操作,可以从标准输入设备(通常是键盘)读入数据

n  数据的存储

u  为了存储数据,需要预先为这些数据分配内存空间。

u  变量的定义就是在给变量命名的时候分配内存空间。

l  源代码

#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;

}

题目:为常量命名

l  主要知识点:符号常量

l  源代码

#include <iostream>

using namespace std;

int main()

{
    const double pi(3.14159);

    int radius;

    cout << "Please enter the radius!\n";

    cin >> radius;

    cout << "The radius is:" << radius << '\n';

    cout << "PI is:" << pi << '\n';

    cout << "Please enter a different radius!\n";

    cin >> radius;

    cout << "Now the radius is changed to:" << radius << '\n';

    cout << "PI is still:" << pi << '\n';

        //cin>>pi;

        return 0;

}

l  运行结果:

Please enter the radius!

2

The radius is:2

PI is:3.14159

Please enter a different radius!

3

Now the radius is changed to:3

PI is still:3.14159

题目:变量的初始化

l  主要知识点:变量的初始化

n  虽然变量的值是可以在运行时获得的,但是在定义变量时也可以进行初始化,而且应该提倡进行初始化;

n  未经初始化的变量,其值可能是随机的。如果误用了未经初始化也没有给予确定值的变量,就会引起错误。

l  源代码

#include <iostream>

using namespace std;

int main()

{

    const double pi(3.14159);

    int radius(0);

    cout << "The initial radius is:" << radius << '\n';

    cout << "PI is:" << pi << "\n";

        cout << "Please enter a different radius!\n";

    cin >> radius;

    cout << "Now the radius is changed to:" << radius << '\n';

    cout << "PI is still :" << pi << '\n';

    return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值