在c语言中 如果算数运算符 的运算对象,c语言程序设计 第三章 运算符及表达式.doc...

第三章 运算符和表达式

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。

(2) 在使用除法运算符时要注意右操作数(除数)不能为零。

(3) 取余运算%只能对整型数据取余。另外,由于取余实质上是先进行除法运算,然后得到相除后的余数,所以和除法运算符一样,右操作数不能为零。例如,int a=15,b=0;double

d=3.0;则a%b和a%d都是非法的表达式。

【例3.1】 调用函数printf打印表达式的值。

#include

main()

{

int a=15,b=20;

printf("%d+%d=%d\n",a,b,a+b);

printf("15+20=%d\n",15+20);

printf("%d+5=%d\n",a,a + 5);

}

说明:

printf不仅能打印单个常量或者单个变量的值,还能将任意的有值表达式的值打印在

控制台屏幕上。

(2) 操作数和运算符之间可以有空白符,见本例程序中的“a + 5”。

【例3.2】 测试更多的算术运算符。

#include

main()

{

int i=7,j=2;

double d=2.0;

printf("%d%%%d=%d\n",i,j,i%j);

printf("%d%%%d=%d\n",j,i,j%i);

printf("%d/%d=%d\n",i,j,i/j);

printf("%d/%f=%f\n",i,d,i/d);

}

说明:

(1) %是格式说明符的起始字符,需要用%%来打印%,见本例程序第6行和第7行。

(2) 从程序第8行和第9行的运行结果中不难看出,当两个整型数据参与除法运算时结果为整数,否则为浮点数。

4. 字符的算术运算

第二章中提到过,由于字符在内存中是用ASCII码存储的,而ASCII码就是一个整数,所以字符数据和整型数据是兼容的,即可以把字符赋给整型变量,也可以把整数赋给字符变量,还可以用转换字符c或d输出字符数据和整型数据。兼容性还体现在能让字符数据参与算术运算。

【例3.3】 对字符进行算术运算。

#include

main()

{

char ch1='A',ch2='a';

int i=0x20;

printf("%d,%d\n",ch1+0x20,ch2-i);

printf("%c,%c\n",ch1+0x20,ch2-i);

}

说明:字符数据参与算术运算时,实际是用该字符的ASCII码值进行相应的计算。

二、自增(++)和自减运算(- -)

++和--是两个单目的算术运算符,作用是使变量当前的值加1或减1。

当++或--放在变量名前面时,称为前自增或前自减运算;当++或—放在变量名后面时,称为后自增或后自减运算。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值