第3章顺序结构程序设计练习题及答案

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

第3章顺序

一、单选题:

1.己知int k,m=1;执行语句k=-m++;后k的值是( A)。(提示:负号与自加运算符同级,结合方向从右向左)

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

2.若变量a, b已正确定义,且a,b均已正确赋值,下列选项中合法的语句是( B)

A) a=b B)++a; C) a+=b++=1; D)a=int(b); (提示:a=b 只是表达式非语句; b++是个表达式)3.若有定义int x=4;则执行语句 x + = x * = x + 1;后,x的值为( C )。

A)5 B)20 C)40 D)无答案

4.若有定义和语句:

int s,p;

s=p=5; p=s++,++p,p+2,p++;则执行语句后 p的值是( C)

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

5.若有定义:int a,b;则表达式 a=4,b=3,a+b+2,a++,a+b+2的值为( C)。

A) 12 B)11 C)10 D)无答案

6.若有定义:float a=3.0,b=4.0,c=5.0;则表达式 1/2*(a+b+c)的值为( C )。

A)6.0 B)6 C)0.0 D)无答案

7.以下程序段的输出结果是( C )。(提示:a当约束过严时,约束失效。按自由格式输出。)

int a=1234;

printf("%2d\n",a);

A)12 B)34 C)1234 D)提示出错,无结果

8.下列程序段的输出结果是(C)。

int a=1234;

float b=123.456;

double c=12345.54321;

printf("%2d,%3.2f,%4.1f",a,b,c);

A)无输出 B)12, 123.46, 12345.5 C)1234,123.46,12345.5 D)1234,123.45, 1234.5

9.设x, y均为整型变量,且x=8, y=5,则以下语句的输出结果是(D)。

printf("%d,%d\n",x--,++y);

A)8,5 B)7,5 C) 7,6 D) 8,6

10.以下程序的输出结果是( A )。

void main()

{ int a=20,b=10;

printf("%d,%%d\n",a+b,a-b); }

A) 30,%d B)30,10 C)30,%10 D)以上答案均不正确(%%d中第一个%后面的表示字符)11.下列程序的运行结果是(A)。

void main()

{ float x=2.5;

int y;

y=(int)x;

printf("x=%f,y=%d",x,y);}

A) x=2.500000,y=2 B)x=2.5,y=2 C)x=2,y=2 D) x=2.500000,y=2.000000

12.己知int k=10 , m=3,n;则下列语句的输出结果是(B)。

printf("%d\n",n=(k%m,k/m));

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

13.以下程序的输出结果是(A)。

void main()

{ char c=‘z’;

printf("%c",c-25);}

A)a B)z C)z-25 D)y (字母共有26个,而z是最后一个) 14.下面程序的输出结果是(C)。

void main( )

{ double d=3.2 ;

int x=1.2, y ;

y=(x+3.8)/5.0 ;

printf("%d\n",d*y);}

A) 3 B) 3.2 C)0 D) 3.07

15.printf("%d,%d,%d\n",010,0x10,10);输出结果是( C)。

A)10,10,10 B)16,8,10 C)8,16,10 D)无答案

16.下面程序的输出结果是( C )。(提示:输出时无定界符)

void main()

{ int k=17;

printf("%d,%o,%x\n",k,k,k);}

A)17,17,17 B)17,021,0x11 C)17,21,11 D)17,0x11,021 17.若有以下程序段:

int m=32767,n=032767;

printf("%d,%o\n",m,n);执行后的输出结果是(A)。

A)32767,32767 B)32767,032767 C)32767,77777 D)32767,077777

18.若有以下程序段:

int m=Oxabc,n=Oxabc;

m-=n; printf("%x\n",m);执行后的结果是(C)。

A) 0X0 B)0x0 C)0 D)Oxabc

20.下列程序执行后的输出结果是(C)。

void main()

{ char x =OxFFFF;

printf("%d\n",x--);}

A)-32767 B)FFFE C)-1 D)=-32768

21.printf("a\bre\'hi\'y\\\bou\n");的输出结果是(C)。

A)a\bre\'hi\'y\\\bou B)a\bre\'hi\'y\bou

C)re'hi'you D)abre'hi'y\bou

22.有定义语句:int x,y;若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中错误的是(A)。

A)11<空格>12<回车> B)11,<空格>12<回车> C)11,12<回车> D)11,<回车>

12<回车>

23.有以下程序段:

int m=0,n=0;

char c=‘a';

scanf("%d%c%d",&m,&c,&n);

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

若从键盘上输入:10A10 <回车>,则输出结果是(A)。

A)10,A,10 B)16,a,10 C)10,a,0 D)10,A,0

24.若变量已正确说明为int类型,要通过语句scanf("%d %d %d ",&a,&b,&c);给a赋值1,b赋值2, c赋

值3,不正确的输入形式是(B)。

A) 1<空格>2<空格>3<回车> B)1,2,3<回车> C) 1<回车> D)1<空格>2<回车>

2<空格>3<回车> 3<回车>

25. a, b,c被定义为int型变量,若从键盘给a, b,c输入数据,正确的输入语句是(D)

A)input a,b,c; B)read("%d%d%d",&a,&b,&c); C)scanf("%d%d%d",a,b,c);

D)scanf("%d%d%d",&a,&b,&c);

26.已知a,b,c为int型变量,若从键盘输入:1,2,3<回车>,使a的值为1,b的值为2,c的值为3,以下选项中正确的输入语句是(B)。

A)scanf("%2d,%2d,%2d",a,b,c); B)scanf("%d,%d,%d",&a,&b,&c);

C)scanf("%d %d %d",&a,&b,&c); D)scanf("i=%dj=%d,k=%d",&a,&b,&c);

27.执行下程序时输入:123<空格>456<空格>789<回车>,输出结果是( D )。

void main()

{char s;

int c,i;

scanf("%c",&c); scanf("%d",&i);

scanf("%c",&s); printf("%c,%d,%c\n",c,i,s);}

A)123,456,789 B)1,456,789 C)1,23,456,789 D) 1,23,

二、填空题

1.有以下程序:

void main()

{ int m,n,p;

scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}

若想从键盘上输入数据,使变量m中的值为123, n中的值为456, p中的值为789,则正确的输入是

相关文档
最新文档