几道C语言的题目,求解



写出原因

1.若已定义:int n=2; double x=2.5; 则下列表达式中不符合语法的是 。
A、(int)x%n B、(int)(x%n) C、(int)(x/n) D、(int)x/n

2.
下列程序段的运行结果是 。
char str[]={ 'Y','o','u','\0','a','r','e','\0','w','e','l','c','o','m','e'};
puts(str);
A、welcome B、You are C、You are welcome D、You;

3.下列程序段中函数调用语句tnk((a,b),m+n); 的实参值是 。
int a=1,b=2,m=3,n=4;
tnk((a,b),m+n);
A、2和7 B、3和7 C、1和7 D、2和3

4.C语言规定,简单变量做参数时,它和对应形参之间的数据传递方式是是
A、 地址传递 B、 单向值传递
C、 由实参传给形参,再由形参传给实参 D、 由用户指定传递方式‍
第一题:B。%符号左右两边都不允许出现浮点数,而/可以,所以B不符闹没合语法。第二题:D。第四个元素是结束符号 \0,输出函数在这里就停止输出了液卖纳,所以只会配兄输出you。第三题:A。第一个形参(a,b),这是逗号运算符,这个运算式最终的值只会取决于运算式最后一个变量的值,b=2作为第一个形参,而第二个形参是加法运算,结果为7作为第二个形参,所以实参为2和7。第四题:B,这个找书上概念了。
1.B 2.D 3.A 4.B