C++入门基础--数据类型

数据类型

C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存

1、整型

作用: 整型变是表示的是整类型的数据

语法:int num = 1;
C++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同:

数据类型占用空间
short(短整型)2字节
int(整型)4字节
long(长整型)Windows为4字节,Linux为4字节(32位),8字节(64位)
long long(长长整型)8字节

示例:

#include<iostream>
using namespace std;

int main()
{
	//短整型 
	short int a = 1;
	
	//整型
	int b = 3;
	
	//长整型
	long int c = 2;
	
	cout << "a:" << a << " b:" << b << endl; 
	return 0;
}

这里声明了一个短整型(short int)变量a并初始化为1。短整型通常是16位的,用于存储较小的整数。

这里声明了一个整型(int)变量b并初始化为3。整型通常是32位的,是最常用的整数类型。

这里声明了一个长整型(long int)变量c并初始化为2。长整型通常是32位或64位的,用于存储比标准整型更大的整数。在这段代码中,虽然声明了变量c,但它没有在后面的代码中被使用。

这一行使用cout输出流输出变量ab的值,以及它们的名称。<<是流插入运算符,用于将数据插入到输出流中。endl是一个操纵符,用于在输出流中插入一个换行符,并刷新输出缓冲区。

return 0这一行表示main函数的结束,并返回0。在C++中,main函数返回0通常表示程序成功执行结束。

2、浮点型

作用: 用于表示小数

语法: float f = 3.14;

         double d = 3.2425926;
浮点型变量分为两种:

  • 单精度float
  • 双精度double

两者的区别在于表示的有效数字范围不同

数据类型占用空间
float4字节
double8字节
  • 由于float类型的有效数字位数较少,它的精度较低,这意味着它在表示非常大或非常小的数值时可能会丢失一些信息。
  • double类型由于有效数字位数更多,因此具有更高的精度

在C++中,浮点数字面量(如3.14)默认为double类型,除非显式地指定为float(通过在数字后添加fF后缀,如3.14f)

示例:

#include <iostream>
using namespace std;

int main() {
    // 声明单精度浮点型变量
    float floatValue = 10.5f;

    // 声明双精度浮点型变量
    double doubleValue = 20.123456789;

    // 输出浮点型变量的值
    cout << "Float value: " << floatValue << endl;
    cout << "Double value: " << doubleValue << endl;

    return 0;
}

  • float floatValue = 10.5f;这是一个单精度浮点型变量,用float关键字声明,并初始化为10.5。注意,数字后面的f后缀表示这是一个float类型的字面量。
  • double doubleValue = 20.123456789;这是一个双精度浮点型变量,用double关键字声明,并初始化为20.123456789。对于double类型的字面量,不需要特殊后缀。

3、字符型


字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元

在C++中,字符型是一种数据类型,用于存储单个字符。字符型在C++中使用char关键字进行声明。char类型的变量通常用于存储ASCII字符集中的字符,但它实际上是一个小的整数类型,可以存储任何小于或等于其大小的整数值。

char类型的大小至少为8位,这意味着它可以表示至少256个不同的值(从0到255)。这足以覆盖标准的ASCII字符集,其中包含了英文字母、数字、标点符号和一些控制字符。

作用: 字符型变量用于显示单个字符
语法:char ch = "a";
注意:

  •  在显示字符型变是时,用单引号将字符括起来,不要用双引号注意
  • 单引号内只能有一个字符,不可以是字符串

C和C++中字符型变是只占用1个字节

在C++中,char类型的变量可以用单引号括起来的字符字面量来初始化;

示例:

#include <iostream>
using namespace std;

int main() {
    // 声明字符型变量
    char ch = 'A';

    // 输出字符型变量的值
    cout << "Character value: " << ch << endl;

    // 输出字符型变量的ASCII值
    cout << "ASCII value of character: " << static_cast<int>(ch) << endl;

    return 0;
}
  1. char ch = 'A';在这行代码中,我们声明了一个char类型的变量ch,并将其初始化为字符'A'。字符字面量用单引号'包围。

  2. cout << "ASCII value of character: " << static_cast<int>(ch) << endl;这行代码再次使用cout输出流,打印字符串"ASCII value of character: "。然后,它使用static_cast<int>(ch)将字符ch转换为其对应的ASCII整数值,这里是65,因为'A'的ASCII码是65。最后,endl插入一个换行符并刷新输出缓冲区。

4、字符串类型

在C++中,字符串型指的是用于存储一系列字符的数据类型。C++提供了两种主要的方式来处理字符串:

C风格字符串(字符数组):这是一种使用字符数组来存储字符串的传统方式,它源自C语言。C风格的字符串以空字符'\0'(ASCII值为0)结尾,这个空字符标记了字符串的结束。

语法:char c[] = "Hello, World!";

C++风格字符串
string类:这是C++标准库提供的一个类,它封装了字符串的操作,使得处理字符串变得更加方便和安全,string类提供了许多用于操作字符串的成员函数,如添加、删除、查找和替换字符等,也是C++中处理字符串的首选方式,因为它提供了更高级的功能和更好的安全性

语法:string str = "Hello, World!";
示例:

#include<iostream>
#include <string>
using namespace std;

int main()
{
	//C风格的字符串
	char cstr[] = "Hello, World!";
	cout << cstr << endl;
	
	//C++风格的字符串 
	// 包含一个头文件 #include<string>
	string str = "Hello, World!";
	
	cout << str << endl;
	
	return 0;
}
  1. #include <string>:这行代码包含了string库,它提供了std::string类的定义,使得程序可以使用这个类来处理字符串。

  2. char cstr[] = "Hello, World!":在这行代码中,我们声明了一个C风格的字符串cstr,它是一个字符数组,并将其初始化为字符串"Hello, World!"。C风格的字符串以空字符'\0'结尾,这个空字符在字符串字面量的末尾隐含地存在。

  3. string str = "Hello, World!";:在这行代码中,我们声明了一个C++风格的字符串str,它是一个std::string对象,并将其初始化为字符串"Hello, World!"。这里,stringstd::string的别名,因为我们已经声明了using namespace std;

5、sizeof关键字

作用: 利用sizeof关键字可以统计数据类型所占内存大小
语法:sizeof( 数据挑型 /变量)

示例:

#include <iostream>
using namespace std;

int main() {
    int a;//声明了一个整型变量a。
    double b;//声明了一个双精度浮点型变量b。
    char c;//声明了一个字符型变量c

    cout << "size of int: " << sizeof(int) << " bytes" << endl;
    cout << "size of double: " << sizeof(double) << " bytes" << endl;
    cout << "size of char: " << sizeof(char) << " bytes" << endl;
    cout << "size of variable 'a': " << sizeof(a) << " bytes" << endl;
    cout << "size of variable 'b': " << sizeof(b) << " bytes" << endl;
    cout << "size of variable 'c': " << sizeof(c) << " bytes" << endl;

    return 0;
}
  • cout << "size of int: " << sizeof(int) << " bytes" << endl;:输出int类型的大小。
  • cout << "size of double: " << sizeof(double) << " bytes" << endl;:输出double类型的大小。
  • cout << "size of char: " << sizeof(char) << " bytes" << endl;:输出char类型的大小。
  • cout << "size of variable 'a': " << sizeof(a) << " bytes" << endl;:输出变量a的大小。
  • cout << "size of variable 'b': " << sizeof(b) << " bytes" << endl;:输出变量b的大小。
  • cout << "size of variable 'c': " << sizeof(c) << " bytes" << endl;:输出变量c的大小。

6、数据的输入

作用:用于从键盘获取数据
关键字: cin
语法:cin >> 变量

示例:

#include <iostream>
using namespace std;

int main() {
    int num;
    
    cout << "请输入一个整型数据" << endl;
    //cin从标准输入流中读取一个整数,并将其存储在变量num中。 
    cin >> num;
    
    cout << "num = "<< num << endl;

    return 0;
}
  • cout << "请输入一个整型数据" << endl;使用cout输出流向用户显示提示信息
  • cin >> num;:使用cin输入流从用户那里读取一个整数,并将其存储在之前声明的变量num中。如果用户输入的是一个整数,那么它将被成功读取并存储;如果用户输入的不是整数,cin将进入错误状态,后续的输入操作将被阻塞。
  • cout << "num = "<< num << endl;再次使用cout输出流,这次是为了显示字符串"num = ",紧接着输出变量num的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值