C语言课后习题参考答案(前5章)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C语言程序设计基础》书后习题参考答案

(无编程题答案,红色为书上错误)

第二章习题

一、选择题。

1、在C语言中,要求参加运算的数必须是整数的运算符是()

A)% B)/ C)!D)*

2、若已定义x和y为double类型,则表达式“x=1.0,y=x+3/2”的值是()

A)1 B)2 C)2.0 D) 2.5

3、若变量已正确定义并赋值,符合C语言语法的表达式是()

A)a=a+7; B) a=7+b+c,a++ C) int (12.3/4 ) D) a=a+7=c+b

4、若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b

的值为()

A)1.0 B)1 C) 2.0 D)2

5、若x和n均是int型变量,且x的初值为12,n的初值为5 ,则执行表达式x%=(n%=2) 后x 的值为()

A) 0 B)1 C) 2 D)3

6、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()

A)7 B)8 C)9 D)10

7、指出下列哪一个选项的程序是错误的()

A)#include B) #include

void main( ) void main( )

{int x,y,z; {int x,y,z;

x=0;y=x+1; x=0,y=x+1;

z=x+y; z=x+y;

} }

C) #include D) #include

void main( ) void main( )

{int x,y,z; {int x,y,z;

x=0;y=x+1, x=0,y=x+1;

z=x+y; z=x+y,

} }

8、若a为整型变量,则以下语句( )

a=-2L;

printf(“%d\n”,a);

A)赋值不合法B)输出值为-2 C)输出为不确定值D)输出值为2

9、若变量a,i已经正确定义,且i已正确赋值,则合法的语句是()

A)i=int(a) B) ++i; C)a=a++=5; D) a=int(i);

10、若执行以下程序段后,c3的值为()

int c1=1,c2=2,c3;

c3=1.0/c2*c1;

A)0 B)0.5 C)1 D)2

11、如下程序的运行结果是()

#include

void main( )

{ int y=3,x=3,z=1;

printf(“%d%d\n”,(++x,y++),z+2);}

A) 3 4 B) 4 2 C) 4 3 D) 3 3

12、以下程序的输入结果为()

#include

void main( )

{int i=4,a;

a=i++;

printf(“a=%d,i=%d’,a,i);}

A)a=4,i=4 B)a=5,i=4 C)a=4,i=5 D)a=5,i=5

13、以下程序的输出结果是()

#include

void main( )

{ int a=5,b=4,c=6,d;

printf(“%d\n”,d=a>b?(a>c?a:c):( b); //多了(

}

A) 5 B) 4 C) 6 D) 不确定

14、在C语言中,如果下面的变量都是int类型,则输出的结果是()sum=pad=5;

pad=sum++,pad++,++pad;

printf(“%d\n”,pad);

A)7 B)6 C)5 D)4

15、已知int i;float f;,正确的语句是()

A)(int f)%i; B)int(f)%i; C) int(f%i); D)(int)f%i;

16、已知int j,i=1;执行语句j=-i++;后,j的值是()

A)1 B)2 C)-1 D)-2

17、已知各变量的类型说明如下:

int k,a,b;

unsigned long w=5;

double x=1.42;

则以下不符合C语言语法的表达式是()

A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=a*(a=3)

18、C语言中运算对象必须是整型的运算符是( )

A) %= B) / C) = D)<=

19、有以下程序

main()

{ int m=12,n=34;

printf("%d%d",m++,++n);

printf("%d%d\n",n++,++m);

}

程序运行后的输出结果是( )

A)12353514 B)12353513 C)12343514 D)12343513

20、下面程序的输出结果是()

#include

main( )

{int x=5,y=3;

printf(“%d\n”,y=x/y); }

A)0 B)1 C)3 D)不确定的值

21、执行下列程序中的输出语句后,a的值是()

#include

void main( )

{int a;

printf(“%d\n”,(a=3*5,a*4,a+5)); }

A) 65 B)20 C)15 D)10

22、执行下列程序时输入1234567,程序的运行结果为()

#include

main( )

{int x,y;

scanf (“%2d%2ld”,&x,&y);

printf(“%d\n”,x+y); }

A)17 B)46 C)15 D)9

23 、已知char a;int b;float c;double d; 则表达式a*b+c-d结果类型为()

A) double B)int C)float D) char

二、填空题

1、若i为int整型变量且赋值为6,则运算i++后的表达式的值是__6__,变量i的值是___7___。

2、若a是int型变量,则执行表达式a=25/3%3后a的值为____2____。

3、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为__10___ ,n的值为____6____。

4、若a是int型变量, 则表达式(a=4*5,a*2),a+6的值为____26_____。

5、若有定义int m=5,y=2;, 则执行表达式y+=y-=m*=y后y的值是_____-16______。

6、表达式8.0*(1/2)的值为___0______。

7、x为整型变量,则执行x=6;x+=x-=x*x;后,x

第3章习题

一、选择题

1、若有说明:double a; 则正确的输入语句为()

A)scanf(“%lf”,a); B) scanf(“%f”,&a);

C) scanf(“%lf”,&a); D) scanf(“%le”,&a);

2、若有以下程序段:

int a=0,b=0,c=0;

c=(a-=a-5),(a=b,b+3);

相关文档
最新文档