《C语言程序设计:问题与求解方法》——2.13节运算符

2.13 运算符
在C语言源程序中,怎样才能表达我们想对以变量或常量形式出现的数据进行某种运算呢?这就要使用运算符。
用运算符把各种运算量(变量、常量、函数调用等)结合起来,构成表达式,用这种形式化、抽象化的方法来告诉编译程序,我们想要计算机对哪些数据、依照什么样的顺序、执行哪些种类的运算,请编译程序将其翻译成与某类机器有关的机器语言指令。
C语言中,常用的运算符分为三大类:
1)算术运算符:见表2-5。
2)关系运算符:大于(>)、大于等于(>=)、小于(<)、小于等于(<=)、 等于(==)、不等于(!=),用法见第4章。
3)逻辑运算符:与(&&)、或(||)、非(!),用法见第4章。

一元运算符是只需一个运算量的运算符;而二元运算符需要左、右两个运算量参与运算,才能得到运算结果。
使用算术运算符时,有以下几点需要注意:
1)初学者最容易漏写乘法运算符(比如将2xy误写为2xy )。
2)不要把实数除法误用为整数除法(比如,错把1.0/3.0 写成1/3 。1/3的值是0 )。一般地,如果m和n都是正整型量,则结果是舍弃了小数部分的整数商。
3)不要将数值0作为除数,这将导致程序无法运行下去而崩溃。
4)取模运算符%两边的运算量,都要求是整型量,不能是实型量。
5)注意:要确保程序运行时的运算结果不会溢出(即不超过数值的取值范围)。
取模运算符“%”得到的是整数除法的余数。取模运算符“%”的作用非常大,在后面章节你可以看到,在处理一些周期性问题或者将一个多位数值分解成一个个的单个数字时,都离不开它。
延伸与拓展:C语言中的运算符共有43种。运算符规定的运算,最终都将由编译程序翻译成的机器指令来具体执行。
运算符与运算类的机器指令之间并不是一一对应的。有些运算符规定的运算用一条机器指令即可实现(比如下一章要学到的i++、– –j等);另一些运算符指定的运算则需要多条机器指令来实现(比如下一章要讲的逗号运算符和第5章介绍的条件运算符等)。一种运算符随着运算量的类型不同,可以转换成不同的机器指令(比如加法运算符)。

时间: 2024-11-03 21:06:17

《C语言程序设计:问题与求解方法》——2.13节运算符的相关文章

《C语言程序设计:问题与求解方法》——导读

目 录 第0章 "理想厨房"的工作原理0.1 理想厨房系统0.2 理想厨房系统的一个炒菜实例0.3 "理想厨房"工作的重要特点0.4 理想厨房系统与计算机系统术语对照表本章习题第1章 计算机的基本工作原理1.1 二进制简介1.2 计算机系统1.3 提高部分本章习题第2章 C语言程序结构和基本语法要素2.1 高级程序设计语言和编译程序简介2.2 C语言历史概述2.3 C语言源程序的主要构成成分:函数定义2.4 C语言源程序的次要组成成分:编译预处理命令.注释和声明2.

C++实现二叉树遍历序列的求解方法_C 语言

本文详细讲述了C++实现二叉树遍历序列的求解方法,对于数据结构与算法的学习有着很好的参考借鉴价值.具体分析如下: 一.由遍历序列构造二叉树              如上图所示为一个二叉树,可知它的遍历序列分别为:                       先序遍历:ABDECFG                       中序遍历:DBEAFCG                       后序遍历:DEBFGCA 我们需要知道的是,由二叉树的先序序列和中序序列可以唯一地确定一棵二叉树:由

c语言-请问怎么学好《C语言程序设计教程》

问题描述 请问怎么学好<C语言程序设计教程> 这本书下学期就要学了,可是看着迷迷糊糊,看不懂,有没有什么学习的捷径?什么配套的辅导书比较好?谢谢! 解决方案 简单来说,就是Reading+Coding. 阅读入门可以从谭浩强的<C程序设计>开始,国人所写比较符合我们的思维习惯,但是过于基础,许多细节问题没有讲到,所以看完那本可以接着看看<C语言深度解剖>. 另外还有两本国外的C语言经典著作<C程序设计语言><数据结构与算法分析--C语言描述>,可

C语言学习教程第三章-C语言程序设计初步(1)

C语言程序设计 本课介绍C语言程序设计的基本方法和基本的程序语句.从程序流程的角度来看,程序可以分为三种基本结构, 即顺序结构.分支结构.循环结构. 这三种基本结构可以组成所有的各种复杂程序.C语言提供了多种语句来实现这些程序结构. 本章介绍这些基本语句及其应用,使读者对C程序有一个初步的认识, 为后面各章的学习打下基础. C程序的语句 C程序的执行部分是由语句组成的. 程序的功能也是由执行语句实现的.C语句可分为以下五类:1.表达式语句2.函数调用语句3.控制语句4.复合语句5.空语句 1.表

《C语言程序设计与实践(第2版)》——导读

前言 C语言程序设计是一门理论与工程实践密切相关的专业基础课程,在计算机学科教学中具有十分重要的地位.大力加强该课程的建设,提高该课程的教学质量,有利于教学改革和教育创新,有利于创新人才的培养.通过本课程的学习,学生应培养良好的编程风格,掌握常见的算法思路,真正提高运用C语言编写程序解决实际问题的综合能力,为后续课程的实践环节打好基础. 目前国内关于C语言的教材较多,有些教材语法知识介绍细致,较适合作为非专业的等级考试类教学用书:有些教材起点较高,内容深奥,不适于初学者.为了帮助广大学生更好地掌

《C语言程序设计与实践(第2版)》——1.2 计算机与程序设计

1.2 计算机与程序设计 计算机的功能非常强大,能做非常复杂.人脑难以胜任的许多工作.然而,从电子市场买回CPU.主板.内存.硬盘等硬件并组装好一台计算机后,你却发现这台计算机什么也做不了.究其原因,就是因为该计算机上还没有安装任何计算机程序,即软件.硬件是计算机拥有强大功能的前提条件,但是如果没有"大脑"(也就是计算机程序)去指挥它,它将什么也做不了,所以计算机程序的存在是计算机能够工作.能够按指定要求工作的必要条件.因此,计算机程序(Program,通常简称程序)可以简单理解为人们

《C语言程序设计进阶教程》一导读

前 言 为什么要写这本书 本文讲的是C语言程序设计进阶教程一导读,市面上有成百上千种关于编程的书籍,其中有很多都是关于C语言编程的,那么为什么我还要写这本书呢?为什么建议你花时间读它呢?这本书跟其他书有什么不同呢?跟很多作者一样,我写这本书是因为我觉得有必要,觉得这本书中的方法比其他书中的更好. 我将现在已有的关于编程的书分为两类:入门和进阶.入门类书是给初学者写的,一般都假设读者没有编程基础,所以主要是介绍基本的概念.通常以"Hello World!"程序开始,也就是将"H

c语言-求大侠帮忙:C语言程序设计---编程题(以下所有题目程序应是非递归的)

问题描述 求大侠帮忙:C语言程序设计---编程题(以下所有题目程序应是非递归的) 编写一个函数insert(s1,s2,ch),实现在字符串s1中的指定字符ch位置处插入字符串s2. 学校工会组织活动,要求有8名教师参加,这8名教师将分别从A学院3名教师.B学院5名教师.C学院6名教师中任意抽取,且其中必须有B学院的教师参加,请编程输出所有可能的方案 已知在C盘根目录下存有文本文件"file1.txt",编程统计文件"file1.txt"中每个字母字符和每个数字字符

Go语言中普通函数与方法的区别分析_Golang

本文实例分析了Go语言中普通函数与方法的区别.分享给大家供大家参考.具体分析如下: 1.对于普通函数,接收者为值类型时,不能将指针类型的数据直接传递,反之亦然. 2.对于方法(如struct的方法),接收者为值类型时,可以直接用指针类型的变量调用方法,反过来同样也可以. 以下为简单示例: 复制代码 代码如下: package structTest    //普通函数与方法的区别(在接收者分别为值类型和指针类型的时候)  //Date:2014-4-3 10:00:07    import (