三、基本数据类型和计算(一)

这篇具有很好参考价值的文章主要介绍了三、基本数据类型和计算(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

、基本数据类型和计算(一)

1、常量和变量

1)常量和变量定义

常量 值不会改变
变量 值可能改变

2)常量及变量名起名必须遵守的规则

1 不能重名
2 不能和C/C++语言里的关键字重名
3 必须是字母或者字母和数字的组合,符号仅_可以使用
4 名字不能用数字开头

3)起名字建议遵守的规则

1 最好要能够直观表达你这个名字代表的内容
2 名字别太长

4)变量定义方式

1 类型 名字 {初始值}; int num {100};
2 类型 名字 = {初始值}; int num={100};

5)常量的定义方式

1 直接使用值 2023
2 const 类型 名字 {初始值}; const int number {100};
3 类型 const 名字 {初始值}; int const number {100};
4 #define 名字 值 #define PI 3.14
#include <iostream>
#define mon_fix 11     //定义常量
int main()
{
    int year{ 2023 };  //定义变量
    int mon{ 11 };
    int day{ 9 };

    const int year_fix{ 2023 };     //定义常量
    //year_fix = 2024   常量不可以修改

    std::cout << "时间日期显示程序" << std::endl;
    std::cout << "今年是" << year_fix << "年" << std::endl;   //常量使用
    std::cout << "今年是" << year_fix << "年" <<  mon_fix << "月" << std::endl;
    std::cout << "今年是" << year << "年" << mon << "月" << day << "日" << std::endl;

    year = 2024;     //变量的修改、赋值
    std::cout << "今年是" << year << "年" << std::endl;

}

三、基本数据类型和计算(一)

注:不管是常量还是变量,本质上都是在内存中申请一块区域,用来存放我们的数据,只不过常量申请的内存区域不允许修改,而变量申请的内存区域允许修改。以上说的可以修改和不可以修改,只是站在编辑器的角度,实际上,不管是变量还是常量,甚至已经编译好的代码,都可以修改。

2、布尔和整型

1)带符号的整数类型表

类型 内存占用(字节) 取值范围
singed char 1字节 -128~127
char 1字节 -128~127或0-256,取值范围取决于编译器
short 2字节 -32768~72767
short int 2字节 -32768~32767
singed short 2字节 -32768~32767
signed short int 2字节 -32768~32767
int 4字节 -232/2~232-1
singned 4字节 -232/2~232-1
singed int 4字节 -232/2~232-1
long 4/8字节 取决于编译器,x64为8字节,X86为4字节
long int 4/8字节 取决于编译器,x64为8字节,X86为4字节
singed long 4/8字节 取决于编译器,x64为8字节,X86为4字节
signed long int 4/8字节 取决于编译器,x64为8字节,X86为4字节
long long 8字节 -264/2~264/2-1
long long int 8字节 -264/2~264/2-1
signed long long 8字节 -264/2~264/2-1
signed long long int 8字节 -264/2~264/2-1

2)不带符号的整数类型数(即没有负数)

三、基本数据类型和计算(一)

3)布尔类型

三、基本数据类型和计算(一)

:非0即为true,例-1也表示true

4)分解变量的定义方式

三、基本数据类型和计算(一)

注:使用{}方式初始化,安全性更高,括号中不写内容,默认初始化为0

5)输入和输出

三、基本数据类型和计算(一)

//输入工资,把输入的内容显示出来
#include <iostream>

int main()
{
    unsigned short salary; //工资,因后面会进行输入,所以可以不用初始化
    unsigned short bonus; //奖金
    unsigned short total; //总收入
    
    std::cout << "请输入你的工资:";
    std::cin >> salary;                //输入
    std::cout << "你的工资为:" << salary << std::endl;
    std::cout << "请输入你的奖金:";
    std::cin >> bonus;
    std::cout << "你的奖金为:" << bonus << std::endl;
    total = salary + bonus;
    std::cout << "你的总收入为:" << total;

}
//若最后运算后的值超过了变量类型的范围,则会溢出

三、基本数据类型和计算(一)

输入过大的数据,会超过变量的定义范围,导致溢出

三、基本数据类型和计算(一)

3、赋值和运算

1)整型字面量的表达

进制 表达方式 案例
二进制 0b+二进制+后缀; 0b11L
八进制 0+八进制+后缀; 011L
十进制 十进制数+后缀 35L
十六进制 0x+十六进制数+后缀 0xFF

2)关于后缀的说明

符号 类型
L/l long 类型
LL/ll long long类型
U/u 无符号类型

注:U/u可以和L/l或者LL/ll组合使用,如65535ULL

#include <iostream>

int main()
{
	std::cout << 0b111 << std::endl;    //二进制
	std::cout << 0b111U << std::endl;    //无符号数的二进制
	std::cout << 0b111U << std::endl;    //无符号数且类型为long类型的二进制
	std::cout << 0b111U << std::endl;    //无符号数且类型为long long类型的二进制
}

三、基本数据类型和计算(一)

2)基本的算数运算

运算符名称 运算符 示例
+ a=b+c;a=a+c
- a=b-c;a=a-c
* a=b*c;a=a*c
/ a=b/c;a=a/c
模(即取余数) % a=b%c;a=a%c
#include <iostream>

int main()
{
	int a{ 100 };
	int b{ 3 };
	int c{};
	c = a / b;                       //除法运算
	std::cout << c << std::endl;    
	a = a % b;                       //模运算,即取余数
	std::cout << a << std::endl;

}

三、基本数据类型和计算(一)

3)二元运算符

运算符名称 运算符 示例
+= a+=1;相当于a=a+1
-= a-=1;相当于a=a-1
乘法 *= a*=1;相当于a=a*1
/= a/=1;相当于a=a/1
%= a%=1;相当于a=a%1
#include <iostream>

int main()
{
	int a{ 100 };
	int b{ 3 };
	int c{};
	c = a += b; // a=a+b; c=a
	std::cout << c << std::endl;       
	c = a /= b;        // a=a/b; c=a
	std::cout << c << std::endl;
	c = a %= b;      // a=a%b; c=a
	std::cout << c << std::endl;

}

三、基本数据类型和计算(一)

4)递增递减运算符

名称 运算符 示例说明
先递增 ++a; int a=10;int end=++a+5; //end=16;a=11;
后递增 a++; int a=10;int end=a++ +5; //end=15;a=11;
先递减 --a; int a=10;int end=--a+5; //end=14;a=9;
后递减 a--; int a=10;int end=a-- +5; //end=15;a=9;
#include <iostream>

int main()
{
	int a{ 10 };
	int b{ 10 };
	int c{ 10 };
	int d{ 10 };
	int send_1{}, send_2{},send_3{}, send_4{};

	send_1 = ++a + 5;
	std::cout << "先递增示例:send_1=" << send_1 << ";a=" << a << std::endl;

	send_2 = b++ + 5;
	std::cout << "后递增示例:send_2=" << send_2 << ";b=" << b << std::endl;

	send_3 = --c + 5;
	std::cout << "先递减示例:send_3=" << send_3 << ";c=" << c << std::endl;

	send_4 = d-- + 5;
	std::cout << "先递减示例:send_4=" << send_4 << ";d=" << d << std::endl;

}

三、基本数据类型和计算(一)

注:一次运算最多使用一次递增或者递减,负责容易导致结果不确定,c++标准中可以这么写:end=end++ +1;但是不推荐

4、浮点数

1)浮点数数据类型

类型 内存占用(字节) 取值范围
float 4字节 大约7位精度,±3.4*10^±38
double 8字节 大约15位精度,±1.7*10^±38
long double 8字节 大约15位精度,±1.7*10^±38

注:表示的数若超过进度,后面的数就会用0补充

2)浮点数的表达

后缀符号 表示类型 示例
f或F float类型 200.0f/200.0F或2E2f
不加后缀 double类型 200.0
L/l long double类型 200L

注:200.0f和200L区分开,200.0f为float类型;200L为long double类型

3)浮点数注意事项

浮点数不仅可以表达小数,也可以表示整数,E几表示10的几次方,比如1E2=1*10^2=200;

#include <iostream>

int main()
{
	float a{ 65923600.0 };
	float b{ 0.00000001 };
	float c{};

	c = a + b;
	std::cout << "c的值为:" << c << std::endl;   //输出的c的值即为a的值,因为精度丢失了
}

三、基本数据类型和计算(一)

直接通过控制台打印出的数据不准确,可以通过设置断点的方式,查看数据

三、基本数据类型和计算(一)

4)练习:编写一个程序,根据输入的直径,计算圆的面积

//编写一个程序,根据输入的直径,计算圆的面积。面积=半径的平方*圆周率(3.14159)

#include<iostream>

int main()
{

	std::cout << "请输入圆的半径(单位cm):";
	float d;   //直径
	std::cin >> d;
	float r{ d / 2 }; //半径
	float s{ r * r * 3.14159f };
	std::cout <<"圆的直径为:"<<d <<std::endl << "圆的面积为:" << s << "平方厘米";

}

三、基本数据类型和计算(一)

5、类型转化

1)类型转化顺序表

如下表所示,优先级从大到小排列,两个优先级不同的数据进行允许,运算结果转化为优先级较高的数据类型。以下表为隐示数据转化

序号 数据类型
1 long double
2 double
3 float
4 unsigned long long
5 long long
6 unsinged long
7 long
8 unsigned int
9 int

三、基本数据类型和计算(一)

注:short和char类型运算时一律转化为int类型

类型转化顺序表

2)强制类型转换

语言 类型转化语法 实例
C语言 类型(要转化的内容) int a =int(b)
C++语言 static_cast<目标类型>(要转化的内容) int a =static_cast<int>(b);

①C语言类型转化

//C数据类型转化
#include <iostream>

int main()
{
	int a{ 500 };
	unsigned b{ 1000 };

	std::cout << "(a-b)=" << (int)(a - b) << std::endl;  //C语言强制类型转化

}

三、基本数据类型和计算(一)

②C++的数据类型转化

//C++的数据类型转化
#include <iostream>

int main()
{
	int a{ 500 };
	unsigned b{ 1000 };
	std::cout << "(a-b)=" << static_cast<int>(a - b) << std::endl;
}

三、基本数据类型和计算(一)

注:赋值运算符,就会将右面的数的类型,自动转化为左边的数据类型,如int a=c,即使c是float类型,也会转化为int类型,但是可能会丢失数据精度,如c=550.25f,强制转化以后就会变为550

3)计算数据类型长度

类型占用内存=sizeof(类型)

#include <iostream>

int main()
{
	unsigned int a{ 10025 };
	long long b{ 237189372198 };
	float c{ 3718392.31782 };
	std::cout << "long long的大小:" << sizeof(long long) << std::endl;
	std::cout << "变量a占用的大小:" << sizeof(a) << std::endl;
	std::cout << "变量c占用的大小:" << sizeof(c) << std::endl;
}

三、基本数据类型和计算(一)

6、进制转化

1)将十进制数转换为其他进制数

​ 将要转化的十进制数除以要转化的目标进制数,得到商和余数,商如果大于目标进制数,那么继续用商除以目标进制数,重复只到商小于目标进制数,将得到的最后的商和历次相除的余数连接起来,就是转化后的目标进制数

三、基本数据类型和计算(一)

2)其他进制转化为十进制

​ 从最高位依次计算每一位数字和当前进制数与该为位序减一次方的乘机,最后将各位的成绩相加。

①0b1111010111=1*2(10-1)+1*2(9-1)+1*2(8-1)+1*2(7-1)+0*2(6-1)+1*2(5-1)+0*2(4-1)+1*2(3-1)+1*2(2-1)+1*2(1-1)

②01727=1*8(4-1)+7*8(3-1)+2*8(2-1)+7*8(1-1)

③0x3D7=3*16(3-1)+D*16(2-1)+7*16^(1-1)

3)16进制和8进制转2进制

①16进制数,一个数转化为4个二进制

②8进制数,一个数转化为3个二进制数

三、基本数据类型和计算(一)

7、"麟江湖"激活游戏

(1)设计要求

三、基本数据类型和计算(一)

(2)设计

#include <iostream>
#define dVersion " v1.1" //游戏版本定义为常量
#define dUrl "http://www.ljh.com" //官方网站定义为常量
int main()
{
	system("color 84");            //黑色背景为color 04
	std::cout << "===========================================\n";
	std::cout << "           麟江湖“控制台”"<<dVersion<<"版                           \n";
	std::cout << std::endl;
	std::cout << std::endl;
	std::cout << std::endl;
	std::cout << std::endl;
	std::cout << "               正在加载游戏...             \n";
	std::cout << "                进度[100/100]                \n";    //进度调整为100%
	std::cout << std::endl;
	std::cout << std::endl;
	std::cout << std::endl;
	std::cout << std::endl;
	std::cout << std::endl;
	std::cout << std::endl;
	std::cout << std::endl;
	std::cout << std::endl;
	std::cout << "        官方网站:"<<dUrl<<"         \n";
	std::cout << "===========================================\n";
	system("pause");
	system("cls");//清屏
	std::cout << "================================================\n";
	std::cout << "               麟江湖“控制台”" << dVersion << "版                            \n";
	unsigned short birthYear;     //出生年
	float weight;  //体重
	unsigned short height; //身高
	unsigned short sex; //性别,0表示女,1表示男
	unsigned long long mobile; //手机号
	unsigned long long endInfo; //根据用户输入生成的加密信息

	std::cout << "请输入你的出生年:";
	std::cin >> birthYear;

	std::cout << "请输入你的体重:";
	std::cin >> weight;

	std::cout << "请输入你的身高:";
	std::cin >> height;

	std::cout << "请输入你的性别:";
	std::cin >> sex;

	std::cout << "请输入你的号码:";
	std::cin >> mobile;

	endInfo = (mobile / 2 + birthYear) * 10000000;
	float fls = height * height / weight;
	endInfo += (int)fls;
	endInfo *= 10;   //保障最后一位是0
	endInfo += sex;  //加上输入的性别,即可表示性别
	std::cout << "你的激活密码为:"<<endInfo<<std::endl;
	std::cout << "请登录官方网站,用激活密码兑换激活码!!!";

}

三、基本数据类型和计算(一)文章来源地址https://www.toymoban.com/news/detail-746034.html

到了这里,关于三、基本数据类型和计算(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python基础教程:基本数字类型与数值计算,Pythonui基础

    print(isinstance(a,int)) print(isinstance(b,str)) 执行结果: class ‘int’ class ‘float’ class ‘bool’ class ‘complex’ True False 两者的区别: type()不会认为子类是一种父类类型。 isinstance()会认为子类是一种父类类型。 class A: pass class B(A): pass print(isinstance(A(),A)) print(type(A()) == A) print(isinstan

    2024年04月17日
    浏览(9)
  • 基本数据类型转换(基本数据类型之间的运算规则)

    前提:这里讨论只是7种基本数据类型变量间的运算。不包含boolean类型的。   自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为: 有多种类型的数据混合运算时,系统首先自动将所有数据 转换成容量最大的那种数据类型,然后再进行计

    2024年02月15日
    浏览(14)
  • 探索MATLAB世界:掌握基础知识与实用技能(1. MATLAB环境与基本操作 2. 数据类型与变量 3. 条件与循环,1. 数据分析与统计 2. 图像处理与计算机视觉 3. 信号处理与控制系统)

    欢迎阅读本篇博客,我们将深入探讨MATLAB语言的基础知识与实用技能,旨在帮助初学者、初中级MATLAB程序员以及在校大学生系统地掌握这门强大的科学计算与数据可视化工具。 一、MATLAB的基础知识 1. MATLAB环境与基本操作 2. 数据类型与变量 3. 条件与循环 二、MATLAB的实用技能

    2024年03月12日
    浏览(21)
  • JavaScript引用数据类型(对象类型)和原始(基本)数据类型特点比较

    为讲解JavaScript引用数据类型(对象类型)和原始(基本)数据类型特点比较,需要先回顾JavaScript数据类型有哪些? 一)原始(primitive:原始、基本)数据类型,也称为原始值(primitive value),包括: 1.布尔值(Boolean),其字面值只有两个,分别是true和false。 2.null,Null类型

    2024年02月05日
    浏览(16)
  • 基本数据类型和包装类型 使用规范

    自动装箱(Autoboxing)和拆箱(Unboxing)是Java中用于在基本数据类型和其对应的包装类型之间进行转换的机制。这两种机制的目的是使代码更简洁和易读,同时提供类型安全性。 1、自动装箱:将基本数据类型的值自动封装成相应的包装类型对象。例如,将 int 转换为 Integer,将

    2024年02月09日
    浏览(10)
  • 【python基础】基本数据类型-数字类型

    视频讲解 数字类型 Python3 支持int(整型数据)、float(浮点型数据)、bool(布尔类型) 在Python 3里, 只有一种整数类型 int,表示为长整型 。像大多数语言一样,数值类型的赋值和计算都是很直观的。 编写程序如下所示: 这里需要注意的是 数值的除法运算,包含两个运算符:/ 返回

    2024年02月06日
    浏览(15)
  • Java基础篇_1.2——保留关键字、基本数据类型、基本数据类型之间的转换

    目录 一、保留 二、Java的基本数据类型 三、引用数据类型  四、基本数据类型间的转换  隐含强制类型转换 数值之间的合法转换 Java该语言是用 Unicode 字符集编写的。 Java是预先定义的具有特别意义的标识符,也被称为Java保留字,Java不能用作变量名、方

    2024年02月14日
    浏览(14)
  • 二、GoLang输出HelloWorld、基本数据类型、变量常量定义、基本类型转换

    go语言中,想要输出内容到控制台,package必须是main,包括方法名也必须是main, go语言输出的语法是 fmt 库。 Go语言的基本类型有: boolean:布尔类型 true / false string :字符串类型 数值型: int8:有符号8位整型(-128到127)长度 int16:有符号16位整型(-32768到32767)长度 int32:有

    2024年02月09日
    浏览(14)
  • Redis(二)—— 五大基本数据类型和三大特殊数据类型

    1、常用命令  批量操作: redis可以定义对象  方式(一) :以JSON格式(其实就是key-value格式)保存一个对象 方式(二) : 把对象的两个属性定义成两个key 注意,如果采用第一种方式,那么无法单独取出字段哦~ 2、使用场景 数字int类型的string作为计数器,比如统计文章的

    2024年02月15日
    浏览(10)
  • 【python基础】基本数据类型-字符串类型

    视频讲解: 字符串数据类型01 字符串就是一系列字符。在python中,用引号括起来文本内容的都是字符串。 其语法格式为:‘文本内容’或者“文本内容” 编写程序如下所示 我们发现其中的引号可以是单引号,也可以是双引号。这样的灵活性可以使我们进行引号之间的嵌套。

    2024年02月06日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包