●在C程序中,若表达式中的算术运算对象类型不同,则需要先统一为相同类型后再进行计算。例如,表达式“a-b”中,若a是双精度浮点型变量,b是整型变量,为了尽可能保证运算精度,通常进行的处理是(30)。(30)A.读取b的值并转换为双精度浮点型数据,然后进行两个浮点数的相减运算,变量b的值不变B.读取a的值并转换为整型数据,然后进行两个整数的相加减运算,变量a的值不变C.将b重新定义为双精度浮点型变量(其值自动转换为双精度型数据),再进行两个浮点数的相减运算D.将a重新定义为整型变量(其值自动转换为整型数据)

题目

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

(30)

A.读取b的值并转换为双精度浮点型数据,然后进行两个浮点数的相减运算,变量b的值不变

B.读取a的值并转换为整型数据,然后进行两个整数的相加减运算,变量a的值不变

C.将b重新定义为双精度浮点型变量(其值自动转换为双精度型数据),再进行两个浮点数的相减运算

D.将a重新定义为整型变量(其值自动转换为整型数据),再进行两个整数的相减运算


相似考题
参考答案和解析
正确答案:A
更多“●在C程序中,若表达式中的算术运算对象类型不同,则需要先统一为相同类型后再进行计算。例如,表达式 ”相关问题
  • 第1题:

    在同一算术表达式中的常量及变量,数据类型不一致时也可以计算。()


    参考答案:错误

  • 第2题:

    阅读以下说明和C函数,将(1)~(5)空缺处的字句填写完整。

    [说明]

    计算机在处理算术表达式时,首先将其转换为后缀表达式。例如,表达式“46+5*120-37)”的后缀表达式形式为“46 5 120 37-*+”。

    计算后缀表达式时,从左至右扫描后缀表达式:若遇到运算对象,则压入栈中;遇到运算符,则从栈中弹出相关运算对象进行计算,并将运算结果压入栈中。重复以上过程,直到后缀表达式扫描结束。例如,后缀表达式“46 5 120 37-*+”的计算过程如下:

    a.依次将46、5、120、37压入栈中;

    b.遇到“-”,取出37、120,计算120-37=83,将其压入栈中;

    c.遇到“*”,取出83、5,计算5×83=415,将其压入栈中;

    d.遇到“+”,取出415、46,计算46+415=461,将其压入栈中;

    e.表达式结束,则计算过程完成。

    函数computing(char expr[],int*result)的功能是基于栈计算后缀形式的表达式(以串形式存入字符数组 expr)的值,并通过参数result返回该值。函数的返回值为-1/0,分别表示表达式有/无错误。假设表达式中仅包含数字、空格和算术运算符号,其中所有项均以空格分隔,且运算符仅包含加(“+”)、减(“-”)、乘(“*”)、除(“\”)。

    函数computing中所用栈的基本操作的函数原型说明如下。

    ● void InitStack(STACK*s):初始化栈。

    ● void Push(STACK*s,int e):将一个整数压栈,栈中元素数目增1。

    ● void Pop(STACK*s):栈顶元素出栈,栈中元素数目减1。

    ● int Top(STACK s):返回非空栈的栈顶元素值,栈中元素数目不变。

    ● int IsEmpty(STACKs):若s是空栈,则返回1;否则返回0。

    [C函数]


    正确答案:是一道考查栈结构在后缀表达式求值过程中应用的分析题。利用栈计算后缀表达式时从左至右扫描后缀表达式:若遇到运算对象则压入栈中;遇到运算符则从栈中弹出对应数目的运算对象进行计算并将运算结果压入栈中。重复以上过程直到后缀表达式扫描结束最后栈顶就是表达式的计算结果。 根据题干中的说明由于后缀表达式以字符串方式存储且以空格分隔符号(数值、算符)因此遇到空格字符时指向表达式中字符的指针ptr应增加1指向后续字符因此(1)空缺处应填入“ptr++”或其等价形式。下面以字符串“375”为例说明将一个数字串转换为数值的过程。 数值375=((0×10+3)×10+7)×10+5 (1)取得数字字符“3”(ASCII码值为51字符0的ASCII码值为48)。 (2)取得数字字符“7” (ASCII码值为55)。 (3)取得数字字符“5” (ASCII码值为53)。 以下程序代码用于将一个数字字符串转换为对应的整数存入tnum显然tnum的初始值应为0。 因此(2)空缺处应填入“0”。对于(3)空缺所在表达式的功能是:将数字字符转换为数值因此 (3)空缺处填入“*ptr-48”。 (4)空缺处用于将转换所得的数值tnum压入栈顶根据题目中Push的原型“void Push(STACK*sint e)”调用时第一个实际参数是STACK类型变量的地址第二个实际参数是一个整数因此(4)空缺处填入“&stnum”。 由于函数computing(char expr[]int*result)通过参数result返回该表达式的值因此需要将存在栈顶的运算结果赋值给result指向的整型变量即(5)空缺处填入“*result”。 本试题目还考查了参数传递知识读者可通过上机实践加强基本概念的理解以及C程序设计能力的培养。
    是一道考查栈结构在后缀表达式求值过程中应用的分析题。利用栈计算后缀表达式时,从左至右扫描后缀表达式:若遇到运算对象,则压入栈中;遇到运算符,则从栈中弹出对应数目的运算对象进行计算,并将运算结果压入栈中。重复以上过程,直到后缀表达式扫描结束,最后栈顶就是表达式的计算结果。 根据题干中的说明,由于后缀表达式以字符串方式存储且以空格分隔符号(数值、算符),因此遇到空格字符时,指向表达式中字符的指针ptr应增加1指向后续字符,因此,(1)空缺处应填入“ptr++”或其等价形式。下面以字符串“375”为例说明将一个数字串转换为数值的过程。 数值375=((0×10+3)×10+7)×10+5 (1)取得数字字符“3”(ASCII码值为51,字符0的ASCII码值为48)。 (2)取得数字字符“7” (ASCII码值为55)。 (3)取得数字字符“5” (ASCII码值为53)。 以下程序代码用于将一个数字字符串转换为对应的整数存入tnum,显然,tnum的初始值应为0。 因此,(2)空缺处应填入“0”。对于(3)空缺所在表达式的功能是:将数字字符转换为数值,因此 (3)空缺处填入“*ptr-48”。 (4)空缺处用于将转换所得的数值tnum压入栈顶,根据题目中Push的原型“void Push(STACK*s,int e)”,调用时第一个实际参数是STACK类型变量的地址,第二个实际参数是一个整数,因此,(4)空缺处填入“&s,tnum”。 由于函数computing(char expr[],int*result)通过参数result返回该表达式的值,因此需要将存在栈顶的运算结果赋值给result指向的整型变量,即(5)空缺处填入“*result”。 本试题目还考查了参数传递知识,读者可通过上机实践加强基本概念的理解,以及C程序设计能力的培养。

  • 第3题:

    ●若一种程序设计语言规定其程序中的数据必须具有类型,则有利于 (22) 。

    ①在翻译程序的过程中为数据合理分配存储单元

    ②对参与表达式计算的数据对象进行检查

    ③定义和应用动态数据结构

    ④规定数据对象的取值范围及能够进行的运算

    ⑤对数据进行强制类型转换

    (22)

    A.①②③

    B.①②④

    C.②④⑤

    D.③④⑤


    正确答案:B

  • 第4题:

    ●在程序运行过程中, (19)时可能需要进行整型数据与浮点型数据之间的强制类型转换。

    ①访问数组元素 ②进行赋值运算

    ③对算术表达式求值 ④进行递归调用

    (19)

    A.②③

    B.①②

    C.①③

    D.②④


    正确答案:A

  • 第5题:

    以下叙述不正确的是( )。

    A.在C程序中,逗号运算符的优先级最低

    B.在C程序中,APH和aph是两个不同的变量

    C.若a和b类型相同,在计算赋值表达式a=b后,b的值将放入a中,而b的值不变

    D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值


    正确答案:D
    在c语言所有的运算符中,逗号运算符的优先级最低。C语言区分大小写,所以APH和aph是两个不同的变量。赋值表达式a=b表示将b的值赋予a,而b本身的值保持不变;通过键盘可以向计算机输入允许的任何类型的数据。选项D)中当从键盘输人数据时,对于整型变量可以输入整型数值和字符,对于实型变量可以输入实型数值和整型数值等。

  • 第6题:

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

    A.读取b的值并转换为双精度浮点型数据,然后进行两个浮点数的相减运算,变量b的值不变
    B.读取a的值并转换为整型数据,然后进行两个整数的相减运算,变量a的值不变
    C.将b重新定义为双精度浮点型娈量(其值自动转换为双精度型数据),再进行两个浮点数的相减运算
    D.将a重新定义为整型变量(其值自动转换为整型数据),再进行两个整数的相减运算
    C/C++语言编译系统提供的内部数据类型的自动隐式转换规则如下:
    ①程序在执行算术运算时,低类型可以转换为高类型。
    ②在赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给它。
    ⑨当在函数调用时,将实参值赋给形参,系统隐式地将实参转换为形参的类型后,赋给形参。
    ④函数有返回值时,系统将自动地将返回表达式类型转换为函数类型后,赋值给调用函数。

    答案:A
    解析:
    本题考查程序语言基础知识。
    在表达式的求值过程中,若参与运算的数据类型不一致,则编译系统自动进行相应数据的类型转换(隐式类型转换),类型转换的一般规则是:为防止精度损失,如果必要的话,类型总是被提升为较宽的类型;所有含有小于整型的有序类型的算术表达式在计算之前其类型都会被转换成整型。
    最宽的类型为long double,运算时另一个操作数无论是什么类型都将被转换成long double。如果两个操作数都不是long double型,那么若其中一个操作数的类型是double型,则另一个就被转换成double型。类似地,如果两个操作数都不是double型而其中一个操作float型,则另一个被转换成float型。否则如果两个操作数都不是3种浮点类型之一,它们一定是某种整值类型。在确定共同的目标提升类型之前,编译器将在所有小于int的整值类型上施加一个被称为整值提升的过程。
    在进行整值提升时类型char、signed char、unsigned char和short int都被提升为类型int。

  • 第7题:

    若一种程序设计语言规定其程序中的数据必须具有类型,则有利于()。①在翻译程序的过程中为数据合理分配存储单元;②对参与表达式计算的数据对象进行检查;③定义和应用动态数据结构;④规定数据对象的取值范围及能够进行的运算;⑤对数据进行强制类型转换。

    • A、①②③
    • B、①②④
    • C、②④⑤
    • D、③④⑤

    正确答案:B

  • 第8题:

    运算表达式只是进行算术运算的、符合宏程序语句规定的算式。


    正确答案:错误

  • 第9题:

    在Visual Basic中表达式a=10的类型是算术表达式。


    正确答案:错误

  • 第10题:

    if(表达式){}这段代码在程序中的表达式必须是算术表达式。


    正确答案:错误

  • 第11题:

    在宏程序中,关系表达式是()的表达式。

    • A、进行比较运算
    • B、进行算术运算
    • C、进行函数运算
    • D、进行位移运算

    正确答案:A

  • 第12题:

    单选题
    在VisualFoxPro表达式中,结果总是逻辑值的为()。
    A

    算术运算表达式

    B

    字符运算表达式

    C

    日期运算表达式

    D

    关系运算表达式


    正确答案: D
    解析: 暂无解析

  • 第13题:

    下面有关运算符的说法错误的是()。

    A、算术运算符不能对布尔类型、String*和Object*进行算术运算

    B、关系运算符中的“==”和赋值运算符中的“=”是相同的

    C、sizeof运算符是用来查询某种数据类型或表达式的值在内存中所占的内存空间大小

    D、括号()在运算符的优先级中是最高的,它可以改变表达式的运算顺序


    参考答案:B

  • 第14题:

    下列叙述中正确的是( )。

    A.在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式

    B.实型变量中允许存放整型数

    C.若a和b类型相同,在执行了赋值a=b后,b中的值将放入a中,但b中的值不变

    D.在c程序中,求余运算符“%”两边的类型相同时才能进行运算


    正确答案:B
    解析:选项A),在赋值表达式中,赋值号的左边只能是变量或者是代表某个存储单元的表达式,不能是任意表达式;在判断选项B)时首先应该建立这样的概念,整型变量中只能存放整型数,实型变量中能存放实型数,也能存放整型数:选项C),执行表达式a=b后,将把变量b存储单元中的值赋给变量a,从而覆盖a中原有的值,但b中原有的值并不改变;选项D),在C程序中,求余运算符“%”两边的类型均为整型数据。

  • 第15题:

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

    A.读取b的值并转换为双精度浮点型数据,然后进行两个浮点数的相减运算,变量a的值不变

    B.读取a的值并转换为整型数据,然后进行两个整数的相减运算,变量b的值不变

    C.将b重新定义为双精度浮点型变量(其值自动转换为双精度型数据),再进行两个浮点数的相减运算

    D.将a重新定义为整型变量(其值自动转换为整型数据),再进行两个整数的相减运算


    正确答案:A
    在C程序中,若表达式中的算术运算对象的类型不同,为了保证运算精度,应该将精度较小的向精度较大的靠拢,因此在本题中,应该将b的值并转换为双精度浮点型数据,然后进行两个浮点数的相减运算,而a的值不变。参考答案A

  • 第16题:

    下列叙述中正确的是( )。A.在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式 SXB

    下列叙述中正确的是( )。

    A.在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式

    B.实型变量中允许存放整型数

    C.若a和b类型相同,在执行赋值a=b后,b中的值将放入a中,但b中的值不变

    D.在C程序中,求余算符“%”两边的类型相同时才能进行运算


    正确答案:B
    选项A,在赋值表达式中,赋值号的左边只能是变量或者是代表某个存储单元的表达式,不能是任意表达式,右边也不得出现表达式;选项B中,整型变量中只能存放整型数,但实型变量中能存放实型数,也能存放整型数;选项C,表达式a=b的意思是把变量b的值赋给变量a,从而覆盖a中原来值;选项D,要求取余运算符"%"两边的类型均为整型。

  • 第17题:

    在程序运行过程中,( )时可能需要进行整型数据与浮点型数据之间的强制类型转换。①访问数组元素 ②进行赋值运算 ③对算术表达式求值 ④进行递归调用

    A.②③
    B.①②
    C.①③
    D.②④

    答案:A
    解析:
    当表达式中操作数的类型不同时,需要进行强制类型转换,即将操作数转化为所需要的类型。强制类型转换分为显式强制转换和隐式强制类型转换。强制类型转换不改变原来数据的类型,而是产生一个符合类型要求的中间结果。当赋值表达式右边的表达式的求值结果类型与左边变量的类型不同时,也有可能需要进行强制数据类型转换。

  • 第18题:

    下面有关运算符的说法正确的是()。

    • A、算术运算符不能对布尔类型,String*(字符串类型)和Object*(对象类型)进行算术运算
    • B、关系运算中的”= =”和赋值运算符中的”=”是相同的
    • C、sizeof运算符用来查询某种数据类型或表达式的值在内存中所占懂得内存空间大小(字节数)
    • D、括号在运算符中的优先级中是最高的,它可以改变表达式的运算顺序

    正确答案:D

  • 第19题:

    在Foxpro运算表达式中,有逻辑表达式、关系表达式和算术表达式混合在一起,其中不含括号,它们的运算顺序是:算术、()、()。


    正确答案:关系;逻辑

  • 第20题:

    表达式中包含下述多种运算时,计算机会最后进行()运算。

    • A、函数运算
    • B、算术运算
    • C、关系运算
    • D、逻辑运算

    正确答案:D

  • 第21题:

    在以下关于C语言的不严格的叙述中,错误的说法是()。

    • A、在标识符中,大写字母和小些字母的意义相同
    • B、有些不同类型的变量可以在一个表达式中运算
    • C、在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型
    • D、同一个运算符号在不同的场合可以有不同的含义

    正确答案:A

  • 第22题:

    在VisualFoxPro表达式中,结果总是逻辑值的为()。

    • A、算术运算表达式
    • B、字符运算表达式
    • C、日期运算表达式
    • D、关系运算表达式

    正确答案:D

  • 第23题:

    单选题
    下面有关运算符的说法正确的是()。
    A

    算术运算符不能对布尔类型,String*(字符串类型)和Object*(对象类型)进行算术运算

    B

    关系运算中的”= =”和赋值运算符中的”=”是相同的

    C

    sizeof运算符用来查询某种数据类型或表达式的值在内存中所占懂得内存空间大小(字节数)

    D

    括号在运算符中的优先级中是最高的,它可以改变表达式的运算顺序


    正确答案: D
    解析: 暂无解析