C语言程序设计3第3章运算符和表达式.ppt

合集下载

C语言程序设计教案第3讲 数据类型、运算符与表达式

C语言程序设计教案第3讲 数据类型、运算符与表达式
12
<
>
2,实型变量的分类
说明: C并没有具体规定每种类型的长度 并没有具体规定每种类型的长度, 说明:ANSI C并没有具体规定每种类型的长度,精度和数值 范围.下面是常用的C 范围.下面是常用的C编译系统的情况 类 型 字节数 有效数字 最小取值范围 float 4 6~7 -3.4*10-38~ 3.4*1038 double 8 15~16 -1.7*10-308~ 1.7*10308 long double 16 18~19 -1.2*10-4932~1.2*104932
8
取反
<
>
2.
整型变量分类
基本类型: 基本类型:int 根据数值的范围分为: , 根据数值的范围分为:int,short,long , 根据有无符号(singed/unsigned)及范围可分: 及范围可分: 根据有无符号 及范围可分
类 型 举例: 举例: [signed] int unsigned [int] [signed] short [int] unsigned short [int] [signed] long [int] unsinged long [int]
C 数 据 类 型
构造类型 指针类型 空类型 void
定义类型 typedef
<
>
2
2.2 常量与变量
一,标识符
定义:用来标识变量名,符号常量名, 定义:用来标识变量名,符号常量名,函数 数组名,类型名, 名,数组名,类型名,文件名的有效字符序 列称为标识符.(即一个名字) .(即一个名字 列称为标识符.(即一个名字) 使用规则
32767,32767,-32768,8
<

C语言第3章数据类型、运算符与表达式ppt课件

C语言第3章数据类型、运算符与表达式ppt课件
第三章
数据类型、运算符与表达式
1
主要内容
一、C的数据类型 二、常量与变量 三、基本数据类型 四、运算符与表达式
2
一、C的数据类型
(一) 什么是数据类型? (二) C语言的数据类型有哪些?
3
(一) 什么是数据类型?
对数据的描述
对操作的描述
数据结构+算法=程序
C语言中以 “数据类型”形式存在
4
所谓数据类型是按被定义变量的性质,表示形 式,占据存储空间的多少,构造特点来划分的。
int NUM=20; sum=PRICE*NUM;
11
符号常量优点
1、含义清楚。 2、在需要改变一个常量时,能够做到“一
改全改”
12
(二)变量
概念
变量代表内存中具有特定属性的一 个存储单元,它用来存放数据,也 就是变量的值。
13
(1)变量名。每个变量都有一个名字 ──变量名,代表一个地址。 (2)变量值。在程序运行过程中,变 量值存储在内存中。在程序中,通过 变量名来引用变量的值。
#include <stdio.h>
void main() {
int student,age; int if=adrress=1; float score=90;
stadent=2; Age=20; printf("%d %d %d %f",if,student,age,score); }
本程序中有 几处错误?
(5)标识符的有效长度随系统而异,如果超 长,则超长部分被舍弃。VC++6.0中规 定最大长度为247个字符。
23
请选出下列正确的标识符 M.D.John , 12%gf ,1add ,_ce36 ,age& 5thclass, lotus-1-2-3 , cd*ef , float,

c语言程序设计第三章运算符与表达式

c语言程序设计第三章运算符与表达式

第三章运算符和表达式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。

C语言课件第三章

C语言课件第三章

三、 自增、自减运算符 ++ --
++、- -运算符的作用是使变量的值加1或减1
1)该运算符为单目运算符,其运算对象只能是 变量,不能为常量或者表达式。 例如: i++ 、x- - 都是正确的 5++ 、(x+y)++ 都是错误的
2)该运算符作前缀、后缀都可以 例如 i++、++i、i- - 、- -i 都是正确的
3)对变量而言 i++ 或者++i都相当于i=i+1 i- -或者- -i都相当于i=i-1
例如: main( ) { int i=3 , j=3; +i+++i; j---j;; printf (“%d, %d\n”, i, j ); }
运行结果:4,2
4)但如果作为表达式,前缀和后缀则不同: 后缀:先取值再运算(i++,先取i值,i再自加) 前缀:先运算再取值(++i,i先自加,再取i值)
2)强制类型转换运算符优先级高于算术运算符
float x=3.6; int y; y=(int)x%3+2;
x = ?3.6 y=?2
计算下列表达式的值 设 x=2.5, a=7,y=4.7
x+a%3 * (int)(7x7+.2y ) % 2 / 4
设 a=2,b=3,x=3.5,y=2.5
(float5).(0a+b )/2+(int3)(x)%(int2)(y)
例如: main() { int i=3; printf(“%d\n”+, +i+i+ ); printf(“%d”, i ); }

c语言第03章

c语言第03章

活期存款一年后本息和为: p1=p0(1+r1) 一年期定期存款,一年后本息和为: p2=p0(1+r2) 两次半年定期存款,一年后本息和为:
r3 r3 p3 = p0(1 + )(1 + ) 2 2
6
3.1顺序程序设计举例

算法:
输入p0,r1,r2,r3的值 计算p1=p0(1+r1) 计算p2=p43; r 3 )
2 2
输出p1,p2,p3
7
3.1 顺序程序设计举例
#include <stdio.h> 定义变量同时赋予初值 int main ( ) {float p0=1000, r1=0.0036,r2=0.0225, r3=0.0198, p1, p2, p3; p1 = p0 * (1 + r1); p2 = p0 * (1 + r2); p3 = p0 * (1 + r3/2) * (1 + r3/2); printf(”%f\n%f\n%f\n”,p1, p2, p3); return 0; }
\„ \ddd \“ 单引号 例 void main() { printf(“Y\b=\n”);\xhh 3位8进制数代表的字符 aaa }
转义字符:反斜线后面跟一个字符或一个代码值表示
<
双引号 运行结果: 2位16进制数代表的字符 屏幕显示:= 15 打印机输出:¥
C语言程序设计
第3章 最简单的C程序设计
19
C语言程序设计
第3章 最简单的C程序设计

3.2.3不同类型数据间的转换
1.隐式转换
什么情况下发生
运算转换------不同类型数据混合运算时 赋值转换------把一个值赋给与其类型不同的变量时 输出转换------输出时转换成指定的输出格式

C语言程序设计--第3章基本数据类型和表达式

C语言程序设计--第3章基本数据类型和表达式

2.实型变量
实型变量分为单精度(float型)和双精度(double型)。 如: float x,y; double z; / *定义x , y为单精度实数* / / *定义z为双精度实数* /
一个float型数据在内存中占4个字节(32位),提供7位有效数字 一个double型数据占8个字节(64位),双精度提供15 ~ 16位有 效数字 值得注意的是,实型常量是double型,当把一个实型常量赋给一 个float型变量时,系统会截取相应的有效位数。
§3.1 基本语法单位
任何一种语言都会根据自身的特点规定 它自己特定的一套基本符号。例如,英语的 基本符号是26个英文字母和一些标点符号。 C语言作为一种程序设计语言,也有它的基 本符号,程序就是由这些基本符号组成的。
§3.1.1 基本符号
程序中要对各种变量和各种函数起名,这些变量名、 函数名都是由语言的基本符号组成的。C的基本符号包 括: (1)数字10个(0~9); (2)英文字母大小写各26个(A~Z, a~z); (3)特殊符号,主要用来表示运算符,它通常是 由1~2个特殊符号组成。包括:
digits是一位或多位十进制数字(从0~9)。 1.575e9表示1.575×109
注意:
◆所有的实型常量均视为双精度类型。实型常量
的整数部分为0时可以省略,如下形式是允许的: .57,.0075e2,-.125,-.175E-2; 须为整数: 如e3,2.1e3.5,. e3,e等都是不合法的指数 形式。
不同的,而且取值范围与机器硬件有关,在 使用时请参阅有关手册。
◆需要指出的是:C语言没有提供布尔(逻辑)
类型,在逻辑运算中,它是以非零表示真 (TRUE),以数值0表示假(FALSE)。

3 数据类型.运算符与表达式

3 数据类型.运算符与表达式
THE C PROGRAMMING LANGUAGE
C语言程序设计
第6页
符号常量
一般来说,下列两种情况用符号常量比较方便。 1)当某一常数在程序中多处出现时,可事先定义一个符 号常量。 2)有时,程序中的常数是有意义的,但写一个具体数字,程 序的阅读者则很难明白该常数的意义,此时可定义一个符 号常量。 例如: # define PI 3.1415926 注意:1)表示常量的标识符一般用大写 2)不能给符号常量赋值 PI=6; 错误 思考题:使用符号常量的好处? 含义清晰;一改全改
C语言程序设计
第14页
3.4 实型数据 3.4.1 实型常量
注意:1)没有unsigned和signed 之分。 2)实型常量没有单、双精度数之分;但可以赋给 一个float型或double型变量。赋值时要注意有效 数字位数。 float a; a=12345.6789 (只能接受前7位) 3)C编译系统将浮点型常量作为双精度来处理
C语言程序设计
第11页
3.3.2 整型变量
有三种整型变量(int、short int、long int): 但也可以将变量的类型定义为无符号(unsigned int) 1)有符号基本整型:signed int signed int 2)无符号基本整型:unsigned int 3)有符号短整型: signed short int signed int 4)无符号短整型: unsigned short int unsigned short 5)有符号长整型: signed long int signed long long 6)无符号长整型: unsigned long int unsigned long
THE C PROGRAMMING LANGUAGE

C语言第3章(谭浩强)

C语言第3章(谭浩强)
17





void main( ) { int a,b,c,d; unsigned u; a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%d\n”,c,d); } 运行结果:a+u=22,b+u=-14 结论:不同类型的整型数据可以进行算 术运算。
位数 16
取值范围 -215-(215-1) -32768—+32767 -32768—+32767
Short [int] Long [int]
短整型 长整型
16 32
16 16 32
Unsinged int 无符号整型 Unsinged short [int] Unsinged long [int] 无符号短整 型 无符号长整 型
8


④大写字母与小写字母意义不同, 被认为是两个不同的字符。一般变 量名用小写字母表示。 注意:常量名常用大写、变量名常 用小写!
year Day a_12 _abcdef #123 .com $100 1999Y a=b 1_2_3 +abcedfghi ∏ -5 等
9

3、变量要先定义后使用


可以改为double型) void main( ) {float x;double y; x=123456.789;y=123456.789; printf(“%f, %f”,x,y);} 结果为: 123456.789062, 123456.789000
29
§3.5
字符型数据
一、字符常量 1、在C语言中字符型常量是用单引号括 起来的一个字符。 如:’a‟、’A‟、’3‟、’?‟、’ ’、 ’$‟等。 2、以‚\”开头的转义字符,如\n不代表 字母n,而是代表换行。

第3章 C语言的运算符

第3章 C语言的运算符
① 前缀形式:++i、--i,它的功能是在使用i之前, i 值先加 (减)1(即先执行i+1或i-1,然后再使用i值)。 ② 后缀形式:i++、i--,它的功能是在使用i 之后, i 值再加 (减)1(即先使用i值,然后再执行i+1或i-1)。
普通高等教育“十一五 ” 国家级规划教材
3.2. 算术运算符与算术表达式
3、C语言的运算符和表达式
3.1.2 运算符的优先级和结合性
例如:
普通高等教育“十一五 ” 国家级规划教材
3*5/3 :表达式中出现了二个运算符即*和/。按 照优先级的次序,5的两侧“*”和“/”优先级相同, 则按结合性处理。“*”和“/”运算符的结合性为从 左到右,则先乘后除,表达式的值为5。
d=a+b-c :表达式中出现了三个运算符即=(赋 值)、+、-。按照优先级的次序,加和减的运算优先 级相同,而赋值运算符优先级较低。根据加和减的结 合性是从左到右,因此先计算加,再计算减,最后进 行赋值。
3 C语言的运算符和表达式
普通高等教育“十一五 ” 国家级规划教材
3.1.1运算符的优先级和结合性
注意所有的单目运算符、赋值运算符
和条件运算符都是从右向左结合的,要 予以特别关注,其余均为从左向右结合 的,与习惯一致。
普通高等教育“十一五 ” 国家级规划教材
学习 C语言的运算符,不仅要掌握各种 运算符的功能,以及它们各自可连接的运算 对象个数,而且还要了解各种运算符彼此之
普通高等教育“十一五 ” 国家级规划教材
第3章 运算符与表达式
作为一种程序设计语言,C 语言规定了一套严密的字符 集和语法规则,程序设计就是根据这些基本字符和语法规则

C语言教程第3章 数据类型、运算符与表达式

C语言教程第3章  数据类型、运算符与表达式
#include <stdio.h> void main( ) { int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf("a+u=%d,b+u=%d\n",c,d); } 运行结果为 a+u=22,b+u=-14
注意以下几点:
(4) 一个整常量后面加一个字母u,认为 是unsigned int型,如12345u,在内存 中按unsigned int规定的方式存放(存储 单元中最高位不作为符号位,而用来存 储数据,见图2.4(b)。如果写成-12345u, 则先将-12345转换成其补码53191,然 后按无符号数存储。
int a; unsigned int b;
一个整数(以13为例)在存储单元中 的存储情况
3. 整型变量的定义
int a,b; (指定变量a、b为整型) unsigned short c,d; (指定变量c、d为无符号短整型) long e,f; (指定变量e、f为长整型)
例3.2整型变量的定义与使用。
字符型变量用来存放字符常量,请注 意只能放一个字符,不要以为在一个字符 变量中可以放一个字符串(包括若干字符)。 字符变量的定义形式如下: char c1,c2;
c1='a';c2='b';
3.5.3 字符数据在内存中的存储 形式及其使用方法
字符的相应的ASCII代码放到存储单元中
例3.6向字符变量赋予整数。
单精度 ( float 型 占4B) 双精度 ( double 型 占8B )

C语言课件 第3章 数据类型

C语言课件 第3章 数据类型
基本数据类型:整型, 型,字符型
主要掌握各种类型的常量表示,变量的定义, 所占存储空间的大小,取值范围
一,整型: 整型: 整型 用于表示整数 所占内存空间:随机器而异,一般微机 上一个整型数据占 2B 的内存空间. 整型的可用修饰符: short [int] long [int] unsigned int / unsigned short /unsigned long
3.1 C的基本语法单位 的基本语法单位
1,字符集 character set 2,关键字 keyword 3,标识符 identifier 标识符命名规则: 标识符命名规则: (1)由字母,数字及下划线组成,且不能以字母开头. (2)不能与关键字同名 (3)尽量"见名知义" 例如:下列标识符,是否合法?为什么? area if score student_no 2day month_3 int _sum no*3 &aa
整型变量的定义(或说明): 如: int a, c, no; long s; unsigned x, y; 等 整型常量: decimal: 12 -3 0 octal : 024 056 hexadecimal: 0x3A -0X34 long int : 12L 0L 问题:要定义两个变量x 问题:要定义两个变量x 和y,分别用于存放数据 1024 和 65536,如何确定x和y类型? 65536,如何确定x
由例题分析可知: 由例题分析可知: 常量: 常量:在程序的运行过程中其值不能被改变 的量.如程序中的3 的量.如程序中的3, 4 符号常量: 符号常量:用一个标识符代表一个有特定含 义的常量. 义的常量.如 PI 变量: 变量:在程序的运行过程中其值可以被改变 的量. 的量.如 r , v 提示:变量必须先定义, 提示:变量必须先定义,后使用

C语言程序设计教程完整全套教学课件pptx

C语言程序设计教程完整全套教学课件pptx

C语言与高级语言的关系
探讨C语言与Java、Python等高级语 言之间的联系与区别,以及各自适用 的场景。
C语言的特点与优势
阐述C语言高效、灵活、可移植等特 点,以及在系统级编程、嵌入式开发 等领域的广泛应用。
计算机系统基本概念
1 2 3
计算机系统的组成
介绍计算机硬件系统的基本组成,包括中央处理 器、内存、输入/输出设备等。
强制类型转换
通过类型转换运算符来实现,其一般 形式为“(类型说明符)(表达式) ”,其功能是把表达式的运算结果强 制转换成类型说明符所表示的类型。
03
控制结构
顺序结构
顺序结构的概念
按照代码的先后顺序,逐行 执行程序。
顺序结构的流程图
用箭头表示程序执行的顺序 。
顺序结构的应用场景
适用于简单的计算和输出任 务。
局部变量和全局变量
局部变量
在函数内部定义的变量,只在该函数内有效,不同函数中的局部变量互不影响。
全局变量
在函数外部定义的变量,可以在整个程序范围内访问,但过度使用全局变量会降低程序的可维护性和可读性。
模块化设计思想
模块化设计概念
01
将程序划分为若干个独立的功能模块,每个模块完成
特定的功能,提高程序的可维护性和可重用性。
&&、||、!等
运算符和表达式
位运算符
&、|、^、~、<<、>>等
赋值运算符
=、+=、-=、*=、/=等
条件运算符
?
运算符和表达式
逗号运算符
,
表达式
由运算符和操作数组成的式子,用于计算一个值
数据类型转换
自动类型转换

C语言:运算符和表达式PPT教学课件

C语言:运算符和表达式PPT教学课件

逻辑运算的真值
数据a 数据b !a
T
TF
T FF
F
TT
F
FT
!b a&&b a||b
FT
T
TF
T
FF
T
TF
F
!(a&&b) F T T T
说明:T:非0值,表示“真” F:0值,表示“假”
逻辑表达式
逻辑表达式的值应该是一个逻辑量“真”或“假 ”。
系统给出的逻辑运算结果不是0就是1,不可能是 其他数值。而在逻辑表达式中参与逻辑运算的运 算对象(操作数)可以是0(“假”)或任何非0 的数值(按“真”对待)。可以是0或非0的整数 ,也可是任何类型的数据。系统最终是以0或非0 来判断它们属于“真”或“假”。
在逻辑表达式的求解中,并不是所有的逻辑运算 符都被执行,只是在必须执行下一个逻辑运算符
条件运算
非0 真 表达式1 0 假
表达式 2
表达式3
在两个表达式的值中选择一个的操作
形式:e1?e2:e3
例:
数据: e1为算术表达式, e2、e3可以是( a任>b意)类? a型: b;
的表达式,条件表达式的值的类型为e2与e3二者中
习题
1、请写出下列计算式的C语言表达式:
x(2ab)c xy
4a a/5c
Байду номын сангаасd/a
eabf
cf(be)
4*a+(x*(2*a-b)/(a/(5*c))-c*(x*y/(d/a)))/((((e-f)/(a*b))*c-f)*(b-e))
4*a+(x*(2*a-b)/a*5*c-c*x*y/d*a)/((e-f)/a/b*c-f)/(b-e)

C语言表达式和算术运算符ppt课件

C语言表达式和算术运算符ppt课件
如:17%-3=2 -19%4=-3 -15%-7=-1
5%1.5是非法的算术表达式
2)除法运算符“/”进行求商运算。对于不同类型的运算对象, 除法表达式计算结果的类型也会不同。
例:计算x/y 如果x,y为整型,小数部分舍去,没有四舍五入 如果x,y中有一个为实型量,则x,y都被化为double类型进
结合性: 同一优先级,自 左向右,为左结合性,反 之为右结合性。
初等运算符( [ ]、( )、 . 、-> )
↓ 单目运算符
↓ 算术算
符!)
↓ 赋值运算符
↓ 逗号运算符
.
4
3.5.2算术运算符和算术表达式
1、基本的算术运算符:
+ (加法运算符,或正值运算符。如:3+5、+3) - (减法运算符,或负值运算符。如:5-2、-3) * (乘法运算符。如:3*5) / (除法运算符。如:5/3) % (模运算符,或称求余运算符,%两侧均应为整型数据,
行计算,结果为double
.
8
算术运算符和算术表达式
运算实例: x,y为整型量:5/2结果为2,整型量
2/5结果为0,整型量 x,y其中一个为实型量 5.0/2或 5.0/2.0或 5.0/2.0结果为2.5,实型量
.
9
练习:
例 1/2 = 0 -5/2 = -2 -5/2.0 = -2.5
例 5%2 = 1 -5%2 = -1 5%-2 = 1 1%10 = 1 5%1 = 0 5.5%2 =
第3章 表达式和运算符(3)
.
1
3.5 运算符和表达式
3.5.1 运算符的种类、优先级和结合性 3.5.2 算术运算符和算术表达式 3.5.3 赋值运算符和赋值表达式 3.5.4 增量运算符和增量表达式 3.5.8 逗号运算符和逗号表达式
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章 运算符和表达式
3.1 表 达 式
3.2 运算符及表达式 3.3 运算符优先级和结合性
退出
3.1 表 达 式
C语言的表达式分为基本表达式和复杂表达式。 基本表达式是由以下单项构成的,即:标识符、 常量、字符串字面量和用圆括号括起来的表达式。 将基本表达式通过运算符连接在一起,就构成复 杂表达式。例如:2+8,a+b,(x-y)/a等。
printf("(3)x=%d\n",x); x=a+4%5-6;
printf("(4)x=%d\n",x);
x=-3*4%-6/5; printf("(5)x=%d\n",x);
x=(7+6)%5/2;
printf("(6)x=%d\n",x); y=25.0/2.0*2.0; printf("(7)y=%f\n",y); }
3.2.3 增量运算符和增量表达式 自增运算符“++”和自减运算符“――”。它们 都是单目运算符。当出现在运算分量的前面时,例如 ++i、――i,就称之为前缀运算符;当出现在运算分 量的后面时,例如x++、y――,就称之为后缀运算 符。由增量运算符和运算ห้องสมุดไป่ตู้量构成的表达式称为增量 表达式。 1.自增运算符 ++n 这个表达式执行后,n的值增1。 还可采用“后缀加”的形式: n++ 但必须指出,并非在任何情况下二者都等价。
例3-1:算术运算符应用示例。 /* arithmetic practice */ #include <stdio.h> void main() { int a=99; int b=5; int c=11; int d=3; int result; result=a-b;
printf("a-b=%d\n",result); result=b*c; printf("b*c=%d\n",result); result=a/b; printf("a/b=%d\n",result); result=a%b; printf("a%%b=%d\n",result); result=a%d+b/c; printf("a%%d+b/c=%d\n",result); }
例3-3:显示前缀加和后缀加的区别。
#include <stdio.h>
void main() { int a,b,c; a=9;
b=++a;
printf(" (1) a=%d ***b=%d\n",a,b); a=9; c=a++; printf(" (2) a=%d ***c=%d\n",a,c);
}
运行后输出的结果是:
(1)a=10***b=10
(2)a=10***c=9
执行b=++a,这条语句等价于下述两条语句: c=a+1; b=a; 而改为后缀加形式,即: c = a ++,这条语句等 价于下述两条语句: c=a; a=a+1; 简而言之,在表达式中出现前缀加的情况下,前 缀加所作用的运算分量值先增1,然后进行其他级别较 低的运算;而在表达式中出现后缀加的情况下,先以 其运算分量的当前值参与其他级别较低的运算,最后 该运算分量值才增1。
例3-4:复合赋值符和自增运算符“++”的应用。 Void main( ) { int x=2,y,z; x *=3+2;
printf("(1)x=%d\n",x);
x *=y=z=4; printf("(2)x=%d\n",x); x=y=1; z=x++ -1;
printf("(3)x=%d***z=%d\n",x,z); z=x++ * ++y;
② 赋值运算可连续进行。例如, a=b=c=0 a=(b=(c=0)) ③ 赋值运算符的优先级比上述运算符的优先级都
低。
a=(b=9)*(c=7) ④ 赋值表达式的值等于右边表达式的值,而结果 的类型由左边变量的类型决定。
⑤ 除了上述基本的赋值运算符之外, C语言中还 提供了另外10个赋值运算符,它们是: += -= *= /= %= >>= < <= &= |= ^= 这些运算符是把“运算”和“赋值”两个动作结 合在一起,往往把它们称为复合赋值运算符。 x +=2 其等效形式是:x=x+2。 表达式 x *=y+5 的等效形式是:x=x*(y+5)。 而表达式 x %=y-10 的等效形式是:x=x%(y-10) 复合赋值运算符右边的表达式应作为一个整体对 待。
输出结果是: (1)x=30
(2)x=24
(3)x=11 (4)x=1 (5)x=0 (6)x=1 (7)y=25.000000
3.2.2 赋值运算符和赋值表达式 赋值运算符“=”,其简单的使用形式是: 变量=表达式 这种形式的整个表达式称作赋值表达式。在使用 赋值表达式时应注意以下几点: ① 在赋值运算符左边的量 ( 通常称为左值 ) 必须是 变量,不能是常量或用上述运算符结合起来的表达式。 int a,b; a=b;b=8; 是正确的赋值形式; 6=a;a+b=14; 等形式都是不对的。
输出结果是:
a-b=94
b*c=55
a/b=19
a%b=4 a%d+b/c=0
例3-2:计算有多个算术运算符的算术表达式。 #include <stdio.h> void main() { int x,a=3; float y; x=20+25/5*2; printf("(1)x=%d\n",x); x=25/2*2; printf("(2)x=%d\n",x); x=-a+4*5-6;
由表达式还可组成更大的表达式。例如:
x=(a+b)% 10
3.2 运算符及表达式
运算符是在一个数学运算中表示相应运算动作的
一种符号。
运算符所作用的对象称作运算分量。
3.2.1 算术运算符和算术表达式 在C语言中,基本算术运算符有5个,它们是: +(加) -(减) *(乘) /(除) %(取模) 算术运算符和运算分量组成的求值序列称作算术 表达式。 要注意运算符“/” 和 “%” 的区别。 运算符 “/” 可以作用于算术类型。 运算符“%”却只能作用于整型量。 a/b表示两个整数进行整除,其结果是舍弃余数后 所得到的商值。 是取整数除法的余数,而不管商的值是多少。
相关文档
最新文档