当前位置:首页计算机类软件水平考试中级软件评测师->在C程序中,若表达式中的算术运算对象的类型不同,则需要先统一

在C程序中,若表达式中的算术运算对象的类型不同,则需要先统一为相同类型后再进行计算。例如,表达式"a-b"中,若a是双精度浮点型变量,b是整型变量,为了尽可能保证运算精度,通常进行的处理是( )。

  • A.读取b的值并转换为双精度浮点型数据,然后进行两个浮点数的相减运算,变量b的值不变
  • B.读取a的值并转换为整型数据,然后进行两个整数的相减运算,变量a的值不变
  • C.将b重新定义为双精度浮点型变量(其值自动转换为双精度型数据),再进行两个浮点数的相减运算
  • D.将a重新定义为整型变量(其值自动转换为整型数据),再进行两个整数的相减运算
查看答案 纠错
答案: A
本题解析:

本题考查程序语言基础知识。

在表达式的求值过程中,若参与运算的数据类型不一致,则编译系统自动进行相应数据的类型转换(隐式类型转换),类型转换的一般规则是:为防止精度损失,如果必要的话,类型总是被提升为较宽的类型;所有含有小于整型的有序类型的算术表达式在计算之前其类型都会被转换成整型。

最宽的类型为long double,运算时另一个操作数无论是什么类型都将被转换成long double。如果两个操作数都不是long double型,那么若其中一个操作数的类型是double型,则另一个就被转换成double型。类似地,如果两个操作数都不是double型而其中一个操作float型,则另一个被转换成float型。否则如果两个操作数都不是3种浮点类型之一,它们一定是某种整值类型。在确定共同的目标提升类型之前,编译器将在所有小于int的整值类型上施加一个被称为整值提升的过程。

在进行整值提升时类型char、signed char、unsigned char和short int都被提升为类型int。

C/C++语言编译系统提供的内部数据类型的自动隐式转换规则如下:

①程序在执行算术运算时,低类型可以转换为高类型。

②在赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给它。

⑨当在函数调用时,将实参值赋给形参,系统隐式地将实参转换为形参的类型后,赋给形参。

④函数有返回值时,系统将自动地将返回表达式类型转换为函数类型后,赋值给调用函数。

更新时间:2021-12-08 07:53

包含此试题的试卷

你可能感兴趣的试题

单选题

下图是(请作答此空)设计模式的类图,该设计模式的目的是( ),图中,ConcreteStrategy和Strategy之间是( )关系,Strategy和Context之间是( )关系。

中级软件评测师,押题密卷,2021年软件评测师押题密卷4

  • A.适配器
  • B.桥接
  • C.装饰
  • D.策略
查看答案
单选题

下图是( )设计模式的类图,该设计模式的目的是( ),图中,Subject和Proxy之间是(请作答此空)关系,Proxy和RealSubject之间是( )关系。

中级软件评测师,押题密卷,2021年软件评测师押题密卷4

  • A.依赖
  • B.关联
  • C.继承
  • D.聚合
查看答案
单选题

下图是( )设计模式的类图,该设计模式的目的是(请作答此空),图中,ConcreteCommand和Command之间是( )关系,Invoker和Command之间是( )关系。

中级软件评测师,押题密卷,2021年软件评测师押题密卷4

  • A.将一个请求封装成一个对象,从而使得可以用不同的请求对客户进行参数化,队请求排队或记录请求日志,以及支持可撤销的操作
  • B.将一个类的接口适配成用户所期待的
  • C.动态地给一个对象附加额外的职责,不必通过子类就能灵活地增加功能
  • D.为一个对象提供代理以控制该对象的访问
查看答案
单选题

下图是( )设计模式的类图,该设计模式的目的是( ),图中,ConcreteStrategy和Strategy之间是(请作答此空)关系,Strategy和Context之间是( )关系。

中级软件评测师,押题密卷,2021年软件评测师押题密卷4

  • A.依赖
  • B.关联
  • C.继承
  • D.聚合
查看答案
单选题

下图是( )设计模式的类图,该设计模式的目的是( ),图中,Subject和Proxy之间是( )关系,Proxy和RealSubject之间是(请作答此空)关系。

中级软件评测师,押题密卷,2021年软件评测师押题密卷4

  • A.依赖
  • B.关联
  • C.继承
  • D.聚合
查看答案
单选题

下图是(请作答此空)设计模式的类图,该设计模式的目的是( ),图中,Subject和Proxy之间是( )关系,Proxy和RealSubject之间是( )关系。

中级软件评测师,押题密卷,2021年软件评测师押题密卷4

  • A.适配器
  • B.桥接
  • C.装饰
  • D.代理
查看答案
单选题

以下关于极限编程XP的叙述中,不正确的是( )。

  • A.由价值观、原则、实践和行为四个部分组成
  • B.每一个不同的项目都需要一套不同的策略、约定和方法论
  • C.有四个价值观,即沟通、简单性、反馈和勇气
  • D.有五大原则,即快速反馈、简单性假设、逐步修改、提倡更改和优质工作
查看答案
单选题

下图是( )设计模式的类图,该设计模式的目的是( ),图中,ConcreteCommand和Command之间是( )关系,Invoker和Command之间是(请作答此空)关系。

中级软件评测师,押题密卷,2021年软件评测师押题密卷4

  • A.依赖
  • B.关联
  • C.继承
  • D.聚合
查看答案
单选题

在结构化分析方法中,依据( )来进行接口设计。

  • A.数据流图
  • B.实体-关系图
  • C.数据字典
  • D.状态-迁移图
查看答案
单选题

在C程序中,若表达式中的算术运算对象的类型不同,则需要先统一为相同类型后再进行计算。例如,表达式"a-b"中,若a是双精度浮点型变量,b是整型变量,为了尽可能保证运算精度,通常进行的处理是( )。

  • A.读取b的值并转换为双精度浮点型数据,然后进行两个浮点数的相减运算,变量b的值不变
  • B.读取a的值并转换为整型数据,然后进行两个整数的相减运算,变量a的值不变
  • C.将b重新定义为双精度浮点型变量(其值自动转换为双精度型数据),再进行两个浮点数的相减运算
  • D.将a重新定义为整型变量(其值自动转换为整型数据),再进行两个整数的相减运算
查看答案