问几个C语言的问题,请说下选择的原因,谢谢!

1.int a,b,i; double y; 那么 a+=a-=(b=4)*(a=3)和 y=float(i) 哪个不正确?
2. C语言中,要求运算量必须是整形或字符型的运算符是 A.&& B.% C.! D.+
3. c语言中,当调用函数时
A 实参和形参个占用一个独立的存储单位
B 实参和形参可以共用存储单元
C 可以由用户指定是否公用存储单元
D 由计算机系统自动确定是否共用存储单元
4.假定a和b为int型变量,则执行以下语句后b的值为
a=1;b=5;
do
{b-=a;a++}
while(b--<0);
A.1 B.2 C.3 D.4
5.填空:函数的调用可以通过___调用,也可以通过函数指针调用

    y=float(i) 不正确,如果要强制转换的话,应该要写y= (float) i;

  2.  选B了,求余数,两边肯定要是整数了,否者小数怎么求余数啊。char型也是一个整数了

  3.  选A了,形参与实参之间传递的方式,是将实参的值复制一份给形参。使用的是两个不同的存储单元。故调用函数时,对形参做的一切修改都不影响实参。

 4.  3,,这个根据循环条件一步一步算,反正循环变量少,跟着流程算也可以,或上机调试,一调试就出来了。

5.  直接调用,

    直接调用:比如定义了一个函数int max(int a,int b);

                    调用的时候,直接 max(3,5);

    间接调用(指针调用):先定义一个函数指针  int (*p_max) (int,int)  

                                             让p指向max,              p= max

                                            指针调用函数             (*p)(3,5) 

                            

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-05
1:后者不正确,应该为y=(float)(i);
2:B,选项A逻辑与,C逻辑非,D加法,这几项都不一定需要整形,可以是浮点型
3:A,系统是按照变量名来分配内存空间的,因此实参和形参各占用独立的存储单元
4:C,b-=a计算后b=4,然后判断4<0不成立,退出while循环,但是还要b--,所以b=3
5:函数名
第2个回答  2013-08-05
第一题:
第一个不正确,c中不能连续赋值;
第二题:
B;
第三题
A;确定“ge”那样写(个/各)

第四题:
C;

第五题:
函数名。
相似回答