深圳英文网站推广wordpress汉化自适应主题
web/
2025/10/8 5:34:39/
文章来源:
深圳英文网站推广,wordpress汉化自适应主题,今天实时热搜榜排名,电子商务网站设计步骤赋值操作符
在变量创建的时候给⼀个初始值叫初始化#xff0c;在变量创建好后#xff0c;再给⼀个值#xff0c;这叫赋值。
int a 100; // 初始化
a 200; // 赋值#xff0c;这⾥使⽤的就是赋值操作符赋值操作符 是⼀个随时可以给变量赋值的操作符#x…赋值操作符
在变量创建的时候给⼀个初始值叫初始化在变量创建好后再给⼀个值这叫赋值。
int a 100; // 初始化
a 200; // 赋值这⾥使⽤的就是赋值操作符赋值操作符 是⼀个随时可以给变量赋值的操作符赋值运算符是把右边的值赋值给左边的这个和数学中的书写习惯是不同的。
连续赋值
赋值操作符也可以连续赋值如
int a 3;
int b 5;
int c 0;
c b a 3; // 连续赋值从右向左依次赋值的虽然⽀持这种连续赋值但是写出的代码不容易理解建议还是拆开来写这样⽅便观察代码的执⾏细节。
int a 3;
int b 5;
int c 0;
b a 3;
c b;这样写在调试的时候每⼀次赋值的细节都是可以很⽅便的观察的。
复合赋值符
在写代码时我们经常可能对⼀个数进⾏⾃增、⾃减的操作如下代码
int a 10;
a a 3;
a a - 2;这样代码C给提供了更加⽅便的写法
int a 10;
a 3;
a - 2;C中提供了复合赋值符⽅便我们编写代码这些赋值符有
复合赋值符样例一般写法a10aa10-a-10aa-10*a*10aa*10/a/10aa/10%a%10aa%10a1a1a10|a|10^a^10
练习
账户余额
小明账户有100元经过了下面的操作
往里面存了10元购物花掉了20元把里面的钱全部取出 请在每次操作后输出账户余额
#include iostream
using namespace std;int main()
{int x 100;x 10;cout x endl;x - 20;cout x endl;x 0;cout x endl;return 0;
}交换值
#include iostream
using namespace std;int main()
{int a, b;cin a b;int tmp a;a b;b tmp;cout a b endl;return 0;
}类型转换
在使⽤C/C写代码的过程中不同类型的数据进⾏混合计算的时候或者赋值时等号两边的类型不统⼀的时候都会发⽣类型转换这时就需要根据类型的转换规则转换成合适的类型。
混合运算时的类型转换
字符、整数、浮点数可以混合运算在这种情况下⾸先要将不⼀致的数据类型进⾏转换类型统⼀后才能进⾏计算。
这⾥边⼀般涉及两类转换整型提升和算术转换。
整型提升表达式之中的 char 和 short 类型⼀定会先转换成 int 类型然后参与运算。算术转换表达式中出现下⾯的任意两种类型的值进⾏计算的时候要先要将较下⾯的类型转换成另外⼀种类型才能计算。
long double
double
float
unsigned long int
long int
unsigned int
int这些转换都是隐式⾃动发⽣的有些编译器会报警告写程序的⼈并没有感知到也不需要操⼼细节
#include iostream
using namespace std; int main()
{ //案例1 char a a; int b 10; char c a b; //这⾥a会发⽣整型提升ab的结果存放到c中⼜发⽣截断//案例2 int c 10; double d 3.14; double e c d; //cd的时候这⾥c会发⽣算数转换转换为double类型 return 0;
}赋值时类型转换
当赋值操作符两端的数据类型不⼀致的时候这时就需要类型转换这种转换也是隐式⾃动发⽣的。 转换规则如下
float 和 double 赋值给 int 直接截断⼩数部分保留整数部分。
int a 3.14; //这⾥a得到的是3较⼩的类型转换较⼤类型直接转换值不变。较⼤的类型转换较⼩的类型⼀般会发⽣截断按照较⼩类型的⻓度保留低位数据给较⼩的类型。 这些转换都是隐式⾃动发⽣的有些编译器会报警告写程序的⼈并没有感知到也不需要操⼼细节。
强制类型转换
在C/C中也会有强制类型转换根据实际的需要将某⼀数据的数据类型转换为指定的数据类型强制类型转换是临时转换的不影响变量本⾝的类型。语法形式如下
类型名表达式double d 3.14;
int a (int)d;上⾯的代码是将 double 类型的3.14转换成 int 类型的值赋值给 a 。
练习
计算成绩
#include iostream
using namespace std;int a, b, c;
int ret;
int main()
{cin a b c;ret (int)(a * 0.2 b * 0.3 c * 0.5);// 这⾥进⾏了强制类型转换如果不转换也会⾃动转换的cout ret endl;return 0;
}B2016 浮点数向零舍入 - 洛谷
#include iostream
using namespace std;double x;
int main()
{cin x;cout (long long)x endl;// 题⽬给的数据较⼤强制转换为int存在漏洞return 0;
}这⾥也要注意 -10^15 ≤ x ≤ 10^15 这个取值范围明显超过int的取值范围。
B2017 打印 ASCII 码 - 洛谷
#include iostream
using namespace std;int main()
{char a;cin a;cout (int)a endl;// 如果没有强制类型转换编译器会认为c是字符类型打印的依然是字符return 0;
}B2018 打印字符 - 洛谷
#include iostream
using namespace std; int main()
{ int n 0; cin n; cout (char)n endl; // 利⽤强制类型转换将ASCII码值按照字符类型打印 return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88896.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!