简单的算术运算和表达式
- 格式:pptx
- 大小:505.13 KB
- 文档页数:52
第三章运算符和表达式3.1 运算符和表达式概述使用运算符可以对运算对象(包括常量和变量)进行计算以得到计算结果。
用运算符将运算对象连接成一个符合C语言语法规则的式称为表达式。
另外,C语言中的表达式是可以嵌套的,即简单表达式经过运算符连接后还可以形成更为复杂的表达式。
根据运算符所连接的运算对象(操作数)的个数,可以将C语言中的运算符分为三类:(1) 单目(一元)运算符:只连接一个操作数的运算符。
(2) 双目(二元)运算符:带有两个操作数的运算符。
(3) 三目(三元)运算符:同时对三个操作数进行计算的运算符。
C语言中的表达式可以分为三类:(1) 单个常量或者单个变量是最简单的表达式。
(2) 带有运算符的表达式。
(3) 函数调用。
任何一种运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。
所以运算对象、运算符和运算结果是运算的三大要素。
3.2 算术运算符和算术表达式一、基本算术运算符和简单算术表达式1. 基本算术运算符C语言为用户提供的基本算术运算符包括:+(加)、-(减)、*(乘),/(除)、%(求余),这些运算符都是双目运算符,也即在生成算术表达式的时,基本算术运算符左右两侧都必须出现运算对象。
2. 简单算术表达式当用基本算术运算符去连接常量或者变量时,就形成简单算术表达式。
简单算术表达式的基本形式:data1 op data2。
data1和data2表示某个常量或者变量,op代表上述5个基本算术运算符之一。
假设有变量定义:int a=20,b=-5;则a+b、a-b、a*-2、20/-b、20%6、a%b等都是简单算术表达式。
3. 基本算术运算符使用说明(1) +、-、*,/既可以连接整型数据,也可以连接实型数据。
当参与这4个运算符的运算对象都是整型数据时,得到整型数据运算结果;否则表示浮点运算。
例如,int a=15,b=2;则a*b等于30,而a/b等于7;a*2.0等于30.0,而a/2.0等于7.5。
运算符、布尔运算、表达式、标准函数hb007 发表于 2006-3-22 19:24:26一、运算符1、算术运算符例如:4 +5 = 9 8 - 3 = 52 *3 = 6 12 * 24 = 4085 / 2 = 2.5 34 / 12 = 2.83 5 div 2 = 2 123 div 4 = 30 5 mod 2 = 1 12 mod 5 = 22、逻辑运算符它们的运算真值表如下:3、关系运算符例如:设a,b为标准数据类型的变量,则:a=b 如果a等于b结果为真,否则为假。
a<>b 如果a不等于b结果为真,否则为假。
a<b 如果a小于b结果为真,否则为假。
a>b 如果a大于b结果为真,否则为假。
a<=b 如果a小于等于b结果为真,否则为假。
a>=b 如果a在于等于b结果为真,否则为假。
例如:5=5 结果为真。
5=10 结果为假。
false<true 结果为真。
false>true 结果为假。
'A'<'C' 结果为真。
12.5>-8 结果为真。
24>=21 结果为真。
10.3<10 结果为假。
二、运算符的优先级三、布尔运算要判断“X>Y”是否成立,其结果不是一个算术量(即数值),而是“成立”或“不成立”,也可以用“真”表示“成立”,用“假”表示“不成立”,也就是说,它的结果是一个逻辑值(“真”或者“假”)。
逻辑运算又叫布尔运算。
布尔(Bool)是英国数学家的名字,他首先提出对二值变量进行逻辑运算的代数,称为布尔代数。
1、布尔常量Pascal语言中“真”用true表示,“假”用False表示。
所以布尔类型只有true与false两个常量。
2、布尔型符号常量(boolean)在程序的说明部分,可以定义布尔符号常量。
如:constt=true;f=false;执行部分就可以用t代表true,用f 代表false。
第二讲主要内容运算符表达式一.运算符1.算术运算符和算术表达式C语言的运算符具有不同的优先级,而且还有一个特点,就是它的结合性。
在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向左进行运算。
这种结合性是其它高级语言的运算符所没有的,因此也增加了C语言的复杂性。
C运算符简介C语言的运算符可分为以下几类:1.算术运算符:用于各类数值运算。
包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
2.关系运算符:用于比较运算。
包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。
3.逻辑运算符:用于逻辑运算。
包括与(&&)、或(||)、非(!)三种。
4.赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
5.逗号运算符:用于把若干表达式组合成一个表达式(,)。
6.指针运算符:用于取内容(*)和取地址(&)二种运算。
7.求字节数运算符:用于计算数据类型所占的字节数(sizeof)。
8.特殊运算符:有括号(),下标[],成员(→,.)等几种。
9.条件运算符:这是一个三目运算符,用于条件求值(?:)。
10.位操作运算符:参与运算的量,按二进制位进行运算。
包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
1.1算术运算符和算术表达式1.基本的算术运算符●加法运算符“+”:加法运算符为双目运算符,即应有两个量参与加法运算。
如a+b,4+8等。
具有左结合性。
●减法运算符“-”:减法运算符为双目运算符。
运算符和表达式上课到这一课相隔了好长一段时间,这些日子里收到不少网友的来信支持和鼓励,要求尽快完成余下的部分。
出门在外的人不得不先为吃饭而努力,似乎这也成为我的借口,以后每晚抽空打一些吧这样大家也就可以不用隔太久就能看到一些新东西。
或许我的笔记并不是很正确,但我尽量的保证每课的实验都会亲自做一次,包括硬件的部分,已求不会误人子弟。
随着访问量不断的增加,网站已启用了的国际域名,在这里我感谢各位一直支持磁动力工作室的朋友,更要感激身在远方一直默默支持我的女友。
明浩2003-7-14 晚呵,费话少说了。
上两课说了常量和变量,先来补充一个用以重新定义数据类型的的语句吧。
这个语句就是typedef,这是个很好用的语句,但我自己却不常用它,通常我定义变量的数据类型时都是使用标准的关键字,这样别人可以很方便的研读你的程序。
如果你是个DELPHI编程爱好者或是程序员,你对变量的定义也许习惯了DELPHI的关键字,如int类型常会用关键字Integer来定义,在用C51时你还想用回这个的话,你可以这样写:typedef int integer;integer a,b;这两句在编译时,其实是先把integer定义为int,在以后的语句中遇到integer就用int置换,integer就等于int,所以a,b也就被定义为int。
typedef不能直接用来定义变量,它只是对已有的数据类型作一个名字上的置换,并不是产生一个新的数据类型。
下面两句就是一个错误的例子:typedef int integer;integer = 100;使用typedef可以有方便程序的移植和简化较长的数据类型定义。
用typedef还可以定义结构类型,这一点在后面详细解说结构类型时再一并说明。
typedef的语法是typedef 已有的数据类型新的数据类型名运算符就是完成某种特定运算的符号。
运算符按其表达式中与运算符的关系可分为单目运算符,双目运算符和三目运算符。
c语⾔-数据类型、运算符与表达式⼀、数据类型1、概念(1)标识符1.定义:⽤来标记常量、变量、函数及⽂件名字的字符序列。
2.构成规则:只能由数字、字母、下划线三部分组成,且不能以数字开头,并且严格区别⼤⼩写,不能定义为系统中存在的关键字。
(2)关键字c语⾔中具有特定含义、专门⽤作语⾔特定成分的⼀类标识符注:在C语⾔中,所有的关键字都有固定的意义,不能⽤作其它,且所有的关键字都必须⼩写(3)c的数据类型数据是操作的对象,数据类型是指数据的内在表现形式(代码、存储、运算)(4)常量和变量1. 常量【1】常量:在程序运⾏过程中,其值不能被改变的量 常量区分为不同类型(表⽰形式),如:12、1.0、‘a’【2】符号常量:⽤⼀个标识符代表的⼀个常量定义⽅法:#define 标识符常量#define PRICE 30#include <stdio.h>void main(){int num,total;num = 10;total = num * PRICE;printf("total = %d",total);}2. 变量【1】变量:其值是可以改变的量,它⽤标识符(变量名)来表⽰,在内存中占据⼀定的存储单元变量的定义⽅法:类型符标识符注意事项:<1>见名知意 <2>先定义后使⽤ <3>习惯上,符号常量名⽤⼤写,变量名⽤⼩写,以⽰区别【2】变量赋初值变量先定义,后使⽤,⼀般放在函数开头变量初始化:可以在定义时赋初值2、整型数据(1)整型常量1. 各种进制的整数表⽰⽅法⼗进制整数:由数字0~9和正负号表⽰. 如 123,-456,0⼋进制整数:由数字0开头,后跟数字0~7表⽰. 如 0123,011⼗六进制整数:由0x开头,后跟0~9,a~f,A~F表⽰. 如 0x123,0xff2. 整型常量的类型【1】整型常量的值在-32768~+32767范围内,编译器认为是int类型【2】整型常量的值超过上述范围,⽽在-2147483648 ~ +2147483647范围内,编译器认为是long类型【3】当系统定义short int与int占内存长度相同,则两种类型常量均可以赋给 int和short int型变量【4】在整型常量后⾯加⼤写L或⼩写l,则告诉编译器,把该整型常量作为long类型处理。