1、若int a,b,c;则表达式(a=2,b=5,b++,a+b)的值是( ).

学习 时间:2026-03-31 00:36:14 阅读:186
1、若int a,b,c;则表达式(a=2,b=5,b++,a+b)的值是( ).A.7 B.8 C.6 D.22、若执行以下程序段,则n的值是( ).int a=1,b=2,m=2,n=2;(m=a>b)&&++n ;A.1 B.2 C.3 D.43、以下程序的运行结果是( ).#includevoid main( ){inta=3,b=2,c=1;{int b=5,c=12;c-=b*2;printf(“a=%d,b=%d,c=%d\n”,a,b,c);a+=c;}printf(“a=%d,b=%d,c=%d\n”,a,b,c);}A.a=3,b=2,c=-3a=0,b=2,c=-3B.a=3,b=5,c=2a=5,b=5,c=2C.a=3,b=2,c=1a=3,b=5,c=2D.a=3,b=5,c=2a=5,b=2,c=14、对函数不正确的描述是( )A.当用数组名作参数时,形参数组的改变可使实参数组随之改变B.允许函数递归调用C.函数形参的作用范围只是局限于所定义的函数内D.函数说明必须在主调函数之前5、若执行以下程序段,其运行结果是( ).char c[ ]={‘a’,‘b’,‘\0’,‘c’,‘\0’};printf(“%s\n”,c);A.ab c B.’a’’b’ C.abc D.ab6、若定义int i;则以下循环语句的循环执行次数是( ).for(i=2;i= =0;) printf(“%d”,i--);A.无限次 B.0次 C.1次 D.2次7、以下程序的输出结果是( )f(int b[ ],int m,int n){int i,s=0;for(i=m;i

最佳回答

犹豫的手机

小巧的鱼

2026-03-31 00:36:14

答案:B B D A D B C D D有哪个不明白的可以说一下。 再问: 可以请教一下最后两题是怎么得到的吗? 再答: 第8题,是考察参数值传递的。 例如f(a, b);执行过程是将想a的拷贝赋给x, b的拷贝赋给y,但在函数中对x,y的操作不会影响a,b的值。所以执行f(a,b)并不会改变a,b的值。同样f(a,c);f(b,c);也一样。所以a,b,c的值都没变。 第9题, 首先排除B,C; B:a*3不能为左值; C:double型不能参与%运算 A选项中从右往左运算,可以看出运算中一边改变a的值,同时又让a参与运算。这个地方就有一个矛盾:参与运算的a是改变前的值,还是改变后的值?对于这种情况,编译器一般都是未定义。所以是错误的。 D选项将int型强制转变为float型,然后赋给double型,没什么问题。再问: 嗯嗯!谢谢!以后还可以请教你吗? 再答: 当然可以。不用客气。再问: 嗯嗯!你人很好啦!请问你是大几啊! 再答: 今年毕业的。现在已经工作了。

最新回答共有2条回答

  • 幸福的铃铛
    回复
    2026-03-31 00:36:14

    答案:B B D A D B C D D有哪个不明白的可以说一下。 再问: 可以请教一下最后两题是怎么得到的吗? 再答: 第8题,是考察参数值传递的。 例如f(a, b);执行过程是将想a的拷贝赋给x, b的拷贝赋给y,但在函数中对x,y的操作不会影响a,b的值。所以执行f(a,b)并不会改变a,b的值。同样f(a,c);f(b,c);也一样。所以a,b,c的值都没变。 第9题, 首先排除B,C; B:a*3不能为左值; C:double型不能参与%运算 A选项中从右往左运算,可以看出运算中一边改变a的值,同时又让a参与运算。这个地方就有一个矛盾:参与运算的a是改变前的值,还是改变后的值?对于这种情况,编译器一般都是未定义。所以是错误的。 D选项将int型强制转变为float型,然后赋给double型,没什么问题。再问: 嗯嗯!谢谢!以后还可以请教你吗? 再答: 当然可以。不用客气。再问: 嗯嗯!你人很好啦!请问你是大几啊! 再答: 今年毕业的。现在已经工作了。

上一篇 已知f(x)=m-(1/(1+a^x)),(a>0,且a≠1,x∈R)

下一篇 Would you like some salad改为同义句 ———— ———— ———— some salad