- 1
- 0
- 约7.68千字
- 约 15页
- 2017-10-22 发布于北京
- 举报
C、C语言运算符、表达式、语句
第七章 运算符、表达式、语句
我们已经学会如何用变量来表达数据,比如我们现在要写一个《工资管理系统》……我看到很多学员本来昏昏欲睡的眼睛刷地放出了光芒:“老师,我们现在就能写《工资管理系统》系统了吗?”
回答:不能,我们刚刚学了点基础而已。不过,至少我们可以猜想,要写一个工资管理系统,总得懂得如何表达“工资”这个信息吧?还有像职工的年纪,职工人数等等,都得用C/C++语言来表达,这些我们现在都会啊!
double gongZi;? //工资
int??? nianLin; //年龄
int??? zhiGongRenShu; //职工人数
看看,上面那些定义变量的代码,你都看得懂,写得出的吧?我们还是颇有成就感的。
本章,我们将学习如何对数据进行运算。
7.1 算术运算符
7.1.1 加减乘除
先来学习最基本也最常用的加减乘除等运算。在C++中,加减乘除分别使用字符 +、-、*、/作为运算符号。
加、减、乘的操作没有什么需要特别说明之处,和生活中的相关运算完全一样,如:
int a = 1 + 2 - 3 * 4;
得到的结果:a等于 -9。当然,乘号使用*表示,这你得记。
除运算除了使用反余杠/表示以外,很重要的一点是别忘了,对于整数类型,或字符类型的数据进行除运算时,小数部分将被截掉,因为整型类型的数据不能保存小数部分,如:
int a = 5 / 2;
得到结果:a 等于 2,而不是2.5。
注意:可能大家会以为,之所以 5 /2 结果是2,是因为我们让一个整型变量a等于它,其实原因并不是因为a是int类型,请看:
float a = 5 / 2;
虽然a现在被声明为实型,但执行这句程序,a的值仍然是2。事实上,精度丢失是在计算机计算5/2时就发生了。所以,准确的写法是:
float a = 5.0 / 2;
或者:
float a = 5 / 2.0;
或者:
float a = 5.0 / 2.0;
也就是说,只有除数或被除数至少需要有一个是明确指定为实型,除运算才能得到小数部分。这里我们也更明确类似于5和5.0在计算机中的区别:虽然数值大小一样,但加了5.0被当成实型数对待,而5则被当成整型数。
7.1.2 求模运算
除了 + - * / 以外, % 操作也是C++常用的操作符。% 并不是进行“百分比”的运算。在C和C++里, % 进行求余数运算,求余数也称“求模”,以下是求余操作的例子:
int a = 5 % 2;
结果是,a 等于 1,即:5 除以2,余数为1。
7.1.3 赋值运算
差点忘了,我们已经很熟悉的等号:= ,C,C++称为赋值操作。看看例子,是不是很熟悉:
int a = 10;
再如:
int b;
b = a;
或:
int c = 12 * 2;
在C++中,可以使用连等操作:
int a ,b;
a = b = 100;
结果是,a和b都为100。
7.1.4 自运算
先来看一个计算机编程中常有的语句例子:
int a = 10;
a = a + 1;
上面的代码执行后,结果a的值是11。可能不是很理解 a = a + 1;这种运算。
首先可能会认为,a 和 a + 1 怎么会相等呢?这可是个严重错误,要知道,在C,C++里,= 就是表示赋值操作,至于表示左右两值“相等” 的另有符号。因此,a = a + 1,所完成的工作就是:先计算出 a + 1的值,然后将该值赋给a。
假设我们的存款原为a,现在存入1元,那么新的存款就等于旧存款加上1元钱,用编程语言表达,就是 a = a +1;
在C,C++中,这样的自加操作可以有另一种表达,并且用这一种表达,计算机的运算速度比较快。
a = a +1;的另一种运算速度较快的表达方法:
a += 1;
+= 被定义为一种新的操作符(因此+和=要连着,中间不能有空格)。它实现的操作就是将其左边的量在自身的基础上加上右边表达式的值。比如:,假设a原来的值为 10,那么:
a += 2;
执行这一句后,a的值为12,即 a = 10 + 2;
同样的,减,乘,除,求余都有这种操作符:-= 、 *= 、/= 、%= 等。我们以后学习到的另外一些运算符,也有同样的这种对应运算。举一些例子:
假设在分别进行以下操作之前,a原值都为10。
a -= 2;
执行后,a值为8;(a = 10 - 2)
a *= 2;
执行后,a值为20;(a = 10 * 2)
a /= 2;
执行后,a值为5;(a = 10 / 2)
a %= 2;
执行后,a值为0; (a = 10 % 2)
C,C++提供这些操作符,目的仅仅是为了提高相应操作的运算速度。为什么 a += 2;会比 a = a + 2;运算得快呢?从编译的
您可能关注的文档
- 7婴儿和学步儿的情绪、意志和个性发展.doc
- 7月2日中矿兴盛林娜晚评.doc
- 7短文两篇(行道树第一次真好).doc
- 7种女人的中药调理方.doc
- 7种“黑色食物”滋阴补肾.doc
- 7秋姑娘的信课内练习.doc
- 801金龙王和红金龙版.doc
- 80后MM的理财之道房产基金保险一个都不少.docx
- 80后女画家号召“剩女别结婚”.doc
- 7天无理由退换货政策实施现状.docx
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国黄铜合页行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国竹工艺家具行业投资前景及策略咨询研究报告.docx
- 2025年中国微机数显自动分析仪市场调查研究报告.docx
- 2026年及未来5年内中国微尘白色粉笔行业投资前景及策略咨询研究报告.docx
- 2025年中国微电脑型压胶机市场调查研究报告.docx
- 2026年及未来5年内中国数字化等功游泳训练测试系统行业投资前景及策略咨询研究报告.docx
- 2025年中国圆形花瓶市场调查研究报告.docx
- 2026年及未来5年内中国植物纤维静淀过滤器行业投资前景及策略咨询研究报告.docx
- 2025年中国超音波手套机市场调查研究报告.docx
最近下载
- 广东省广州市花都区中考化学一模试卷 (2).doc VIP
- 隋玉杰-个案工作 第七章-个案工作的主要理论派别(下).pptx VIP
- 2025年江西省从“五方面人员”中选拔乡镇领导班子成员考试历年参考题库含答案详解.docx VIP
- 隋玉杰-个案工作 第八章-儿童辅导.pptx VIP
- 亲子关系量表-pianta编制-张晓,陈会昌修订.docx VIP
- 新《增值税法实施条例》逐条解读课件PPT.pptx
- 2025年湖南交通职业技术学院单招语文考试模拟试题及答案解析.docx VIP
- 2025至2030中国半导体控制整流器行业市场占有率及投资前景评估规划报告.docx VIP
- 药物应用护理第一第二节.ppt VIP
- GB50021-2024岩土工程勘察规范(附条文说明).pptx VIP
原创力文档

文档评论(0)