假定变量a和b为float型,则表达式a=1,b=a 7 2的值是

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/15 04:13:59
假定变量a和b为float型,则表达式a=1,b=a 7 2的值是
若x,y均定义为float型变量,则以下不合法的赋值语句是()A:++x;B:y=(x+2)++;C:x*=y+5;D:

B自增自减运算符是对变量的值加一或是减一,很明显,B不满足.

如何将float型变量a=83.55赋给unsigned int 型变量b?

这个一般编译器会给你警告,但还是会实现强制转换,也就是b的值是8935,

假定int a=2,b=5,表达式:a+'1'+(float)(b/a)的值

‘1’的ascii码值为49,故a+‘1’==51,因a,b都为整型,故b/a为整型==2,又float优先级高,所以最终结果为:53.000

若a为float类型变量,且a=4.6785,则表达式(int)(a*100+0.5)/100.0的值为

(a*100+0.5)=468.35/100.0=4.6835,再让它变为整型的数去掉后面的小数点.等于4.

假定变量b和pb定义为“int b[10],*pb=b;”,要将24赋值给b[1]元素中,不正确的语句是( C ).

虽然在很多方面数组和指针都能处理同样的问题,但他们之间有个本质的不同.数组b是指针常量,不是变量.所以想a=p、a++和a+=2这样的表达式都是非法的,不能改变指针常量b的值指针运算是c与语言的重要特

若a 是float 型变量,b 是unsigned 型变 量,以下输入语句中合法的是().

C:scanf("%f%3o",&a,&b);——%f对应&a,没啥疑问,关键是%3o.%3o是接受3位八进制整数的意思,与&b匹配,所以正确.A错在scanf()不允许指定精度,而控制符%6.2f违

下列语句定义pf为指向float类型变量f的指针,__B___是正确的.B.float f,*pf = &f;

你把赋值和定义搞混掉了.floatf,*pf=f;的含义同赋值语句*pf=f不同,;而是相当于floatf,*pf;pf=f;pf被初始化指向地址值为f的指针,而地址值不可能是float的,这不合语法

定义了两个unsigned char类型的变量a,b;怎样将这两个变量整合成一个float类型的变量

unsignedchara=2;unsignedcharb=155;inti=0;floattemp=b;for(;(temp=temp/10)>1;);floatc=a+temp;

假定变量b和pb定义为“int b[10], *pb=b;”,要将24赋值给b[1]元素中,不正确的语句是( C ).

是数组指针,它实际上是指针常量,可以理解为constint*b.所以它的指向是不允许被修改的,++b操作违反了这个规定,运行后会修改b的指向,是不被允许的.所以C不正确.

假定a和b为int型变量,则执行以下语句后b的值是:a=1;b=10; do{b-=a;a++;}while(b--

额一开始我被糊弄到了后来用printf一输出才发现原来错得糊弄离谱啊b=10a=1b-=a等价于b=b-a所以b=9a++所以a=2重头戏来啦while(b--

若x,y均定义为float型变量,则以下不合法的赋值语句是() A:++x; B:y=(x+2)++; C:x*=y+5

Bx+2运算后是一个具体数值而不是变量,++符需要它的左值或右值是一个变量,因此必然产生编译错误

若a是float型变量,则表达式a=1,a+1,a+=a的值为

2.0a=1,a+1,a+=a--逗号表达式的值等于最右一个表达式的值.a=1所以a一开始等于1,最右一个表达式a+=a就是a=a+a;a=1+1;得2float型

若x为float型变量,请写出运算x=3.2,++x后的表达式的值是多少?和变量x的值是多少?

运行了,说float可能损失精度,运行有错误.然后我换成double,都是4.2,4.2