基础篇(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() { ...
随机推荐
- Navicat连接MySQL数据库的一些问题与解决方案
前言 安装MySQL数据库与Navicat并不算难事,关键是怎么让他们工作花费了我整整一天的时间,最终才把弄好.遇到各种各样的问题,上网看了大量博客,发现很多博客都是直接copy或者并不能非常好的解答 ...
- 5、python数据类型之元组(tuple)
元组 元组和列表最大的区别是元组中的元素固定,元组不能修改,所以不能对元组进行增.删.改 1.创建 tu = (11,22,33) tu = tuple(11,22,33) tu = tuple([] ...
- mysql CPU占用高
https://blog.csdn.net/u011239989/article/details/72863333 QPS高,sql简单的场景下, 需要 1. 提高数据库的服务器性能CPU 内存等 2 ...
- 红黑树(Red-Black Tree),B树,B-树,B+树,B*树
(一)红黑树(Red-Black Tree) http://www.cnblogs.com/skywang12345/p/3245399.html#a1 它一种特殊的二叉查找树.红黑树的每个节点上都有 ...
- Python踩坑之旅其一杀不死的Shell子进程
目录 1.1 踩坑案例 1.2 填坑解法 1.3 坑位分析 1.4 坑后扩展 1.4.1 扩展知识 1.4.1 技术关键字 1.5 填坑总结 1.1 踩坑案例 踩坑的程序是个常驻的Agent类管理进程 ...
- Java中的==和equals区别
概述: A.==可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同:当用于引用类型的时候,是比较对象是否相同. B.对于String a = “a”; Integer b = 1;这种类型 ...
- CentOS-7.5 解决ifconfig报错
1.报错信息:-bash: ifconfig: command not found 2.检查IP地址是否设置正常 ip addr 以上说明ip设置正常,如果没有获取到IP地址则设置一个即可,设置i ...
- 在Magento中用MySQL模拟队列发送电子邮件
1. 需求 顾客在网站上购买特定商品并且这些商品的总金额超过特定金额后,使用email给顾客发送一个优惠券:假如某件商品已经降价了,则此商品的金额不计算在目标总金额内: 2. 需求分析 ①发送优惠券的 ...
- #include stdio.h(2)
#include <stdio.h> //mian函数是程序的入口 int main() { /* //函数:是按一定的格式对一段代码的封装 //专门用来实现一功能的代码合集,可以重复使用 ...
- testNG测试基础一
1.TestNG概念 TestNG:Testing Next Generation 下一代测试技术,是一套根据JUnit和Nunit思想构建的利用注释来强化测试功能的测试框架,可用来做单元测试,也可用 ...