购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

[任务一] 计算算术表达式的值

算术运算是数据处理中的基本运算。算术运算符的运算规则大多数与数学上的运算规则相同,但也有个别运算符具有与数学上不同的处理要求。

1.请分析下面程序的运行结果,并通过上机验证,归纳在C语言中算术运算符的运算规则和特定的要求。

(1)请在程序最后添加下列语句行,再执行程序,然后分析出现的情况。

printf("%d%f\n",19%5.0,f1%f2);

__________________________________________________________

(2)分析程序运行结果,完成下表。

注意:如果与数学上的运算规则相同,运算规则栏可不填。

眼下留神

●字符型数据在计算机中存储的是它的ASCII编码。ASCII编码本质上是整型数据,因此,字符可以加上或减去一个整数,结果是另一个字符的ASCII编码。

●虽然字符和整数之间可以进行其他的算术运算,但却没有实际意义,因此在程序设计中应避免出现这样的运算。

2.请根据你在数学课程中所学到的算术运算符的运算规则,计算下面程序中的表达式的值,并上机验证,然后完成表中提出的问题。

(1)请描述什么是算术表达式?

_____________________________

(2)当在算术表达式中出现多个运算符时,如何确定它们运算的先后顺序?

_____________________________

(3)表达式中的小括号有何作用?

_____________________________

眼下留神

●优先级是指在表达式中运算符执行的先后顺序。

●结合性是指操作数与运算符结合的方向,它分为左结合、右结合两种。左结合是指从左向右结合执行运算;右结合是指从右向左结合执行运算。结合性决定了优先级相同的运算符的执行先后顺序。

●在C语言中,不同类型的数据可以进行混合运算,但在运算之前它们要转换成同一种数据类型才能运算。C语言提供了两种数据转换方式。

①自动转换:由编译器自动完成的类型转换,其转换操作如右图所示。注意:箭头方向所指的是级别较高的数据类型。

←表示在运算时总要进行的转换。

↑表示操作数类型不同时的转换方向。

类型转换是一步到位的,不经过中间类型。

②强制转换:通过类型转换运算符来将表达式的值的类型转换为所需的数据类型,一般格式为:

(类型标识符)表达式

如(int)fv的值为int型,(float)x/y是把x的值转换成实数后再除以y。

●数据类型所占内存空间越大,其级别就高。把较高类型的数据强制转换成低级别类型的数据时,可能会丢失信息。

●类型转换运算符的优先级高于算术运算。

3.请把下面的数学表达式改写成C语言表达式,并完成下面的问题。

(1)数学表达式C语言表达式

(2)为了写出符合C语言语法规则又能保持原数学表达式的运算要求的表达式,你采取了什么措施?

__________________________________________________________

(3)请描述算术运算符的优先级和结合性。

__________________________________________________________

(4)请归纳将数学表达式改写成C语言表达式的要点。

①_____________________________

②_____________________________ hMvX+7wER8pi4cU9pRVTg6cMqs0q6f5lTR9aGcQc+C8jA2O3XY6t64pT5mB0l7sp

点击中间区域
呼出菜单
上一章
目录
下一章
×