18秋西南大学[0039]《C语言程序设计》作业答案 下载本文

1、假定p1和p2是已赋值的字符型指针,则下述有关运算中,非法的是( )

1. .p2=p1+(p1-p2); printf(\2. .if (p1= =p2)

3. .*(p1-2+p2)=getchar( );

4.

*(p1+=2)=*p2

2、对于for( 表达式1;;表达式3)可理解为( )

1. for(表达式1;0;表达式3) 2. for(表达式1;1;表达式3)

3. for(表达式1;表达式1;表达式3) 4.

for(表达式1;表达式3;表达式3)

3、语句while (!e)中的条件!e等价于( )

1. e= =0

2. e!=1 3. e!=0 4.

~e

4、对于条件表达式(M)?(a++):(a--)来说,其中的表达式M等价于( )

1. M= =0 2. M= =1 3. M!=0

4.

M!=1

5、设x,y,z,t均为int型变量,则执行x=y=z=1;t=++x||++y&&++z;语句后,t的值为(1. 不定值

2. 3. 4.

2 1 0

6、设int a=2,b;则执行b=a&&1后b的值是( )

1. 2. 3. 4.

0 1 2 3

7、执行下述程序后,输出的结果是( )。 #include #define SQR(X) X*X void main()

{int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf(\

1. 2. 3. 4.

10 1 9 0

8、有如下程序,输入数据12345后,y的值是( )。 #include void main()

{int x; float y; scanf(\ }

1. 12.000000 2. 45.000000

3. 12345.000000 4.

0.000000

9、若有如下程序,要求a1,a2,c1,c2的值分别为10,20,A,B,正确的数据输入是(#include void main() {int a1,a2; char c1,c2;

scanf(\ scanf(\ }

1. 020AB 2. 10 20 3. 10 20 AB 4.

10 20AB

10、求解表达式f=(3.0,4.0,5.0),(2.0,1.0,0.0)后; 下列正确的选项是( )

1. 语法错误 2. 使f的值为5.0

3.

使f的值为0.0

)。