基础篇(2):c++顺序结构程序设计
一个程序最基本的结构莫过于3种:顺序,选择,循环。这篇讲讲顺序结构。
c++语言的运算符与表达式数量之多,在高级语言中是少见的,也使得它的语言功能十分完善。
c++的运算符有单目与双目之分(作用于一个或两个量),可分为以下几类:
1、算数运算符
用于各类数值运算,包括加(+)、减(-)、乘(*)、除(/)、求余(%,又称模运算)、自增(++)、自减(--)共七种。前5种为双目运算符,后2种为单目。
重点介绍:
模运算符:
求余运算符(%)是双目运算符,两个操作数只能都是整型数,其基本形式为a%b,其值为a除以b的余数,比如9%6=3。
除运算符:
如果两个操作数(a、b)均为整型数,则a/b的值为a除以b的整数部分。如:5/2=2,但5.0/2=2.5。
自增自减运算符:
它们用于对一个操作数进行加1或减1操作,其结果仍然赋予该操作数(必须为变量),常用于计数。
2、关系运算符
用于比较运算。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。都是双目运算符。其结果是整型,只有两种:0与1。0代表关系不成立,1代表关系成立。常用于条件判断语句。
3、逻辑运算符
用于逻辑运算。包括与(&&)、或(||)、非(!)三种,除最后一种外均为双目。逻辑运算的值也为“真”和“假”两种,用“1”和“0”分别表示。各个运算符的求值规则如下:
运算符 | a=1 ,b=1 | a=1,b=0 | a=0,b=1 | a=0,b=0 |
&& | 1 | 0 | 0 | 0 |
|| | 1 | 1 | 1 | 0 |
运算符 | a=1 | a=0 |
! | 0 | 1 |
4、位操作运算符
使参加运算的量按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
“位与”和“位或“跟“与”和“或”是一样的,不同在于位运算是对数的二进制位进行操作。如9|5,相当于00001001|00000101,其结果为00001101,即13。
而“位异或”则是逐位比较,相同则是0,不同为1。如9^5,相当于00001001^00000101,结果为00001100,即12。
“位非”也与“非”一样,逐位取反。
“左移”与“右移”指将左侧操作数的二进制右移/左移右侧操作数位,移出的舍弃,不足的补0。比如3<<4,就是指将00000011左移4位,即00110000(48),又如15>>2,是将00001111右移2位,得00000011(3)。左移a位实质上是乘2^a次,右移a位就是除以2^a次(余数舍弃)。
5、赋值运算符
用于赋值运算,分为简单赋值(=)、复合算数赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
6、条件运算符
这是一个三目运算符,用于条件取值。
7、逗号运算符
用于将若干表达式合成一个表达式。
8、指针运算符
用于取内容(*)和取地址(&)两种运算。
9、求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
10、特殊运算符
有括号(),下标[],成员(—>,.)等几种。
在初学者c++编程中,前5种运算符较为常用,其他的暂不需掌握。
补充:算术运算符、关系运算符、逻辑运算符和赋值运算符的优先级如下:
赋值运算符 逻辑运算符 关系运算符 算术运算符
低————————————————————————>高
基础篇(2):c++顺序结构程序设计的更多相关文章
- Python程序设计实验报告二:顺序结构程序设计(验证性实验)
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 崔攀 学号3190505136 成绩 日期 2020.3.22 指导老师 修宇 [实验 ...
- C++入门到理解阶段二基础篇(5)——C++流程结构
1.顺序结构 程序从上到下执行 2.选择结构(判断结构) 判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的). C++ 编程 ...
- HTML基础篇之HTML基本结构
课堂知识总结 第一接触和学习HTML知识在学习过程中对所属的标签的自己认为的理解和解释. HTML元素:文档里面的标签和内容. 比如:<h1>大家好</h1> 左边的是开始标 ...
- C#基础篇九OOP属性结构枚举
1.设计一个Ticket类,有一个距离属性(本属性只读,在构造方法中赋值),不能为负数,有一个价格属性,价格属性只读,并且根据距离计算价格(1元/公里):-----------0-100公里 票价不打 ...
- 嵌入式Linux学习笔记之第一阶段---基础篇
嵌入式Linux学习分五个阶段 第一阶段: 01嵌入式环境搭建初期 02C语言语法概述 03C语言内存操作 04c语言函数 05linux基础 06gun基础 第二阶段: 01-linux之io系统编 ...
- C语言程序设计第二次作业--顺序结构
C语言程序设计第二次作业--顺序结构 1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 #include <stido ...
- 前端开发工程师 - 02.JavaScript程序设计 - 第1章.基础篇
第1章--基础篇 JS介绍 html 网页的内容:css 网页的样式:javascript 网页的行为 i.e. hello world <!DOCTYPE html> <html& ...
- C语言程序设计第二次作业——顺序结构
(一)改错题 1.输出带框文字:在屏幕上输出以下3行信息. 错误信息1: 错误原因:i和d位置错误 改正方法:i和d位置互换 错误信息2: 错误原因:\n后缺了一个" 改正方法:\n后加一个 ...
- C语言程序设计第二次作业—————顺序结构改
1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 #include <stido.h> int mian() { ...
随机推荐
- .gitkeep--git提交空目录的解决方法
前言 git和 svn不同,仅仅跟踪文件的变动,不跟踪目录.所以,一个空目录,如果里面没有文件,即便 git add 这个目录,另外在别处 check out 的时候,是没有这个空目录的. 只跟踪文件 ...
- ubuntu 的 python从2.* 升级到3.*
1.在ubuntu 的终端中用代码下载最新的Python sudo apt-get install python3 2.用命令删除usr/bin/目录下的默认python link文件root@sal ...
- Ehab and subtraction(思维题)
time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...
- @async 方法上添加该注解实现异步调用的原理
在我们使用spring框架的过程中,在很多时候我们会使用@async注解来异步执行某一些方法,提高系统的执行效率.今天我们来探讨下 spring 是如何完成这个功能的. spring 在扫描bean的 ...
- Android中常用的几种加密
1.数字摘要 是指通过算法将长数据变为短数据,通常用来标识数据的唯一性,是否被修改,常用的加密算法有md5和sha1两种,如Android的App签名也是用的这两种算法. md5具有不可逆性,也可用来 ...
- Java文件与io——NewIO
为啥要使用NIO? NIO的创建目的是为了让JAVA程序员可以实现高速I/O而无需编写自定义的本机代码.NIO将最耗时的I/O操作(即填充和提取缓冲区)转移回操作系统,因而可以极大地提高速度 流与快的 ...
- Java NIO基本使用介绍
NIO主要包括Channel,Buffer,Selector三个核心元素组成. Channel即通道,l和Buffer有好几种类型.下面是JAVA NIO中的一些主要Channel的实现: FileC ...
- aop 切面配置
<bean id="userServiceImpl" class="com.bj.aop.xml.before.UserServiceImpl">& ...
- 有限状态机在单片机和 Arduino 编程中的应用
有限状态机在单片机和 Arduino 编程中的应用,个人认为在实际中这是一种思想,意味着解决一类问题. 本帖最后由 张飞 于 2015-3-4 20:18 编辑 在单片机编程中,如果在不使用操作系统的 ...
- 在项目中导入import javax.servlet 出错解决办法
我们有时会把别人的项目copy到自己这里进行二次开发或者参考学习,有的时候会发生下图的错误,即eclipse项目里我们导入的项目里提示HttpServletRequest 不能引用,会伴随头疼的小红叉 ...