顺序结构程序设计练习题.docx

上传人:b****4 文档编号:5081643 上传时间:2023-05-08 格式:DOCX 页数:25 大小:23.69KB
下载 相关 举报
顺序结构程序设计练习题.docx_第1页
第1页 / 共25页
顺序结构程序设计练习题.docx_第2页
第2页 / 共25页
顺序结构程序设计练习题.docx_第3页
第3页 / 共25页
顺序结构程序设计练习题.docx_第4页
第4页 / 共25页
顺序结构程序设计练习题.docx_第5页
第5页 / 共25页
顺序结构程序设计练习题.docx_第6页
第6页 / 共25页
顺序结构程序设计练习题.docx_第7页
第7页 / 共25页
顺序结构程序设计练习题.docx_第8页
第8页 / 共25页
顺序结构程序设计练习题.docx_第9页
第9页 / 共25页
顺序结构程序设计练习题.docx_第10页
第10页 / 共25页
顺序结构程序设计练习题.docx_第11页
第11页 / 共25页
顺序结构程序设计练习题.docx_第12页
第12页 / 共25页
顺序结构程序设计练习题.docx_第13页
第13页 / 共25页
顺序结构程序设计练习题.docx_第14页
第14页 / 共25页
顺序结构程序设计练习题.docx_第15页
第15页 / 共25页
顺序结构程序设计练习题.docx_第16页
第16页 / 共25页
顺序结构程序设计练习题.docx_第17页
第17页 / 共25页
顺序结构程序设计练习题.docx_第18页
第18页 / 共25页
顺序结构程序设计练习题.docx_第19页
第19页 / 共25页
顺序结构程序设计练习题.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

顺序结构程序设计练习题.docx

《顺序结构程序设计练习题.docx》由会员分享,可在线阅读,更多相关《顺序结构程序设计练习题.docx(25页珍藏版)》请在冰点文库上搜索。

顺序结构程序设计练习题.docx

顺序结构程序设计练习题

C语言练习题总汇

一、单选题:

【顺序结构程序设计】

1.己知intk,m=1;执行语句k=-m++;后k的值是(A)。

(提示:

负号与自加运算符同级,结合方向从右向左)

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

2.若有定义intx=4;则执行语句x+=x*=x+1;后,x的值为(C)。

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

3.若有定义:

floata=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c)的值为(C)。

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

4.以下程序段的输出结果是(C)。

(提示:

a当约束过严时,约束失效。

按自由格式输出。

inta=1234;

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

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

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

inta=1234;

floatb=123.456;

doublec=12345.54321;

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

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

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

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

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

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

intmain()

{inta=20,b=10;

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

A)30,%dB)30,10C)30,%10D)以上答案均不正确(%%d中第一个%后面的表示字符)

8.下列程序的运行结果是(A)。

intmain()

{floatx=2.5;

inty;

y=(int)x;

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

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

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

intmain()

{charc=‘z’;

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

A)aB)zC)z-25D)y(字母共有26个,而z是最后一个)

10.下面程序的输出结果是(C)。

intmain()

{doubled=3.2;

intx=1.2,y;

y=(x+3.8)/5.0;

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

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

11.下面程序的输出结果是(C)。

(提示:

输出时无定界符)

intmain()

{intk=17;

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

A)17,17,17B)17,021,0x11C)17,21,11D)17,0x11,021

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

intmain()

{charx=OxFFFF;

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

A)-32767B)FFFEC)-1D)=-32768

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

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

C)re'hi'youD)abre'hi'y\bou

14.有定义语句:

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

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

C)11,12<回车>D)11,<回车>12<回车>

15.有以下程序段:

intm=0,n=0;

charc=‘a';

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

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

若从键盘上输入:

10A10<回车>,则输出结果是(A)。

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

16.若变量已正确说明为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<回车>2<空格>3<回车>D)1<空格>2<回车>3<回车>

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

A)inputa,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);

18.已知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);

19.执行下程序时输入:

123<空格>456<空格>789<回车>,输出结果是(D)。

intmain()

{chars;

intc,i;

scanf("%c",&c);

scanf("%d",&i);

scanf("%c",&s);

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

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

20.已定义c为字符型变量,则下列语句中正确的是(C)。

A)c='97'B)c=“97“C)c=97D)c=“a”

21.以下程序的功能是:

给r输入数据后计算半径为r的圆面积s。

程序在编译时出错。

#include

voidmain()

{

intr;

floats;

scanf("%d",&r);

s=p*r*r;

printf("s=%f\n",s);

}

出错的原因是()。

A)注释语句书写位置错误

B)存放圆半径的变量r不应该定义为整型

C)输出语句中格式描述符非法

D)计算圆面积的赋值语句中使用了非法变量

答案:

D

22.有以下程序

#include

voidmain()

{

intm=12,n=34;

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

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

}

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

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

答案:

A

23.数字字符0的ASCII值为48,若有以下程序

#include

voidmain()

{

chara='1',b='2';

printf("%c,",b++);

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

}

程序运行后的输出结果是______。

A)3,2B)50,2C)2,2D)2,50

答案:

C

24.有以下程序

#include

voidmain()

{

charc1='1',c2='2';

c1=getchar();c2=getchar();putchar(c1);putchar(c2);

}

当运行时输入:

a<回车>后,以下叙述正确的是______。

A)变量c1被赋予字符a,c2被赋予回车符

B)程序将等待用户输入第2个字符

C)变量c1被赋予字符a,c2中仍是原有字符2

D)变量c1被赋予字符a,c2中将无确定值

答案:

A

25.

 

【选择结构程序设计】

1.有变量说明语句inta,b,c;,顺序执行下面语句:

a=b=c=1;

++a||++b&&++c;

那么,变量b的值应是(B)

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

2.有变量说明inta=3;,则表达式a<1&&--a>1的运算结果和a的值应该是(B)

A.0和2B.0和3C.1和2D.1和3

3.设inta=3,b=4,c=5;,下列表达式的值不为1的是(A)。

A)a+b>c&&b==cB)a||b+c&&b-c

C)!

(a>b)&&!

c||1D)!

(a+b)+c-1&&b+c/2

4.#include

intmain()

{

inta,b,c;

a=10;b=50;c=30;

if(a>b)a=b;b=c;c=a;

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

}

程序的输出结果是(C)。

A.a=10,b=50,c=10B.a=10,b=50,c=30

C.a=10,b=30,c=10D.a=50,b=30,c=50

5.若整型变量a、b、c、d中的值依次为:

1、4、3、2。

则条件表达式a

a:

c

c:

d的值是(A)。

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

6.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是(C)。

A)abs(x-y)<10B)x-y>-10&&x-y<10C)!

(x-y)<-10||!

(y-x)>10D)(x-y)*(x-y)<100

7.若有定义:

inta=7;f1oatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(A)。

A)2.5B)2.7C)3.5D)4.7

8.若有定义和语句:

ints,p;

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

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

9.若有定义:

inta,b;则表达式a=4,b=3,a+b+2,a++,a+b+2的值为(C)。

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

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

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

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

11.设x和y均为int型变量,则以下语句:

x+=y;y=x-y;x-=y;的功能是()。

A)把x和y按从大到小排列B)把x和y按从小到大排列

C)无确定结果D)交换x和y中的值

答案:

D

12.设inti=2,j=3,k=4,a=4,b=5,c=3;,则执行表达式(a=ik)&&(c=i,j,k)后,c值是()。

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

答案:

D

13.若x、a、b、c均为int型变量,则执行表达式x=(a=4,b=8,c=12)后,x的值为_______。

A)4B)8C)12D)24

答案:

C

14.以下程序的输出结果是_______。

#include

voidmain()

{

inta=-1,b=4,k;

k=(++a<0)&&(b+=5);

printf("%d%d%d\n",k,a,b);

}

A)104B)103C)003D)004

答案:

D

15.下列运算符中,结合方向为自左向右的是()。

(A)?

(B),(C)+=(D)++

答案:

(B)

16.下列运算符中优先级最高的是()

A)!

B)%C)-=D)&&

答案:

(A)

17.有以下程序

#include

voidmain()

{

intm=3,n=4,x;

x=-m++;

x=x+8/++n;

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

}

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

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

答案:

D

18.

 

【循环结构练习题】

1.下面有关for循环的正确描述是()

A.for循环只能用于循环次数已经确定的情况

B.for循环是先执行循环体语句,后判定表达式

C.在for循环中,不能用break语句跳出循环体

D.for循环体语句中,可以包含多条语句,但要用花括号括起来

答案:

D

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

A.for(表达式1:

1;表达式3)

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

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

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

答案:

B

3.以下正确的描述是()。

A.continue语句的作用是结束整个循环的执行

B.只能在循环体内和switch语句体内使用break语句

C.在循环体内使用break语句或continue语句的作用相同

D.从多层循环嵌套中退出时,只能使用goto语句

答案:

B

4.下面程序段不是死循环的是()。

A.intI=100;B.for(;;);

while

(1)

{I=I%100+1;

if(I>100)break;}

C.intk=0;D.ints=36;

do{--k;}while(s);

while(k>=0);--s;

答案:

C

5.以下能正确计算1*2*3*……*10的程序是()。

A.do{i=1;s=1;B.do{i=1;s=0;

s=s*i;s=s*i;

i++;i++;

}while(i<=10);}while(i<=10);

C.i=1;s=1;D.i=1;s=0;

do{s=s*i;do{s=s*i;

i++;i++;

}while(i<=10);}while(i<=10);

答案:

C

6.下面程序的运行结果是()。

#include

intmain()

{inty=10;

do{y--;}

while(--y);

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

A.-1B.1C.8D.0

答案:

D

7.下面程序的运行结果是()。

#include

intmain()

{intnum=0;

while(num<=2)

{num++;

printf("%d\n",num);

}

}

A.1B.12C.123D.1234

答案:

C

8.若运行以下程序时,从键盘输入3.62.4表示回车),则下面程序的运行结果是()。

#include

#include

voidmain()

{floatx,y,z;

scanf(“%f%f”,&x,&y);

z=x/y;

while

(1)

{if(fabs(z)>1.0)

{x=y;y=z;z=x/y;}

else

break;

}

printf(“%f\n”,y);

}

A.1.500000B.1.600000C.2.000000D.2.400000

答案:

B

9.有以下程序:

#include

voidmain()

{

inti=0,s=0;

for(;;)

{

if(i==3||i==5)continue;

if(i==6)break;

i++;

s+=i;

};

printf("%d\n",s);

}

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

A)10B)13C)21D)程序进入死循环

答案:

D

10.若有程序段:

for(m=1;m<=100;m++)

{

scanf("%d",&y);

if(y<0)continue;

printf("%3d",m);

}

正确的描述是()。

A)当y<0时整个循环结束B)y>=0时什么也不输出

C)printf函数永远也不执行D)最多允许输出100个非负整数

答案:

D

11.下列程序的运行结果是()。

#include“stdio.h”

voidmain()

{inti=23;

do{++i;}

while(i);

printf(“%d”,i);

}

A)23B)24C)死循环D)无任何结果

答案:

C

12.

 

二、填空题

【顺序结构程序设计】

1.有以下程序:

intmain()

{intm,n,p;

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

printf("%d%d%d\n",m,n,p);}

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

m=123n=456p=789。

2.以下程序段的输出结果是28。

intmain()

{inta=2,b=3,c=4;

a*=16+(b++)-(++c);

printf("%d",a);}

3.以下程序段的输出结果是5。

intx=17,y=26;

printf("%d",y/=(x%=6));

4.下列程序的输出结果为12。

intmain()

{intx=3,y=5;

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

5.若有以下程序:

intmain()

{chara;

a=‘H’-‘A’+‘0’;(‘0’,’o’)

printf("%c,%d\n",a,a);}

执行后的输出结果是7,55。

6.以下程序段的输出结果是261。

voidmain()

{inta=177;

printf("%o\n",a);}

7.以下程序的输出结果是0(-32767~32767int)。

voidmain()

{unsignedshorta=65536;intb;

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

提示:

当unsignedshort和int均占2个字节时。

8.输入“12345,xyz”,下列程序输出的结果是。

intmain()

{intx;chary;

scanf(“%3d%3c”,&x,&y);

printf(“%d,%c”,x,y);}

答案:

123,4

9.以下程序的运行结果是。

#include

voidmain()

{

inti=8,j=9,m,n;

m=++i;

n=j++;

printf("%d,%d,%d,%d\n",i,j,m,n);

}

答案:

9,10,9,9

10.下列程序的输出结果是。

#include

voidmain()

{

inta=3,b=14,c=5;

c=c+a*a+b%5*10;

printf("%o\n",c);

}

答案:

66

11.阅读程序,并按给定的输出格式将程序运行结果写在“运行结果:

”之后

#include

voidmain()

{

inta,b,c;

a=(b=(c=3)*5)*5;

printf("a=%d,b=%d,c=%d\n",a,b,c);

}

运行结果是:

答案:

运行结果是:

a=75,b=15,c=3

12.

 

【选择结构程序设计】

1.以下程序运行的结果是。

#include

voidmain()

{

inta,b,c;

a=1;b=2;c=3;a=b--<=a||a+b!

=c;

printf("%d,%d",a,b);

}

答案:

1,1

2.以下程序的运行结果是。

#include

voidmain()

{

inta,b,c;

a=b=c=1;

if(a++||++b)c++;

printf("%d,%d,%d\n",a,b,c);

}

答案:

2,1,2

3.以下程序的输出结果是。

#include

voidmain()

{

intk,i=0,j=2;

k=i++&&j++;

printf("%d,%d,%d\n",i,j,k);

}

答案:

1,2,0

4.

 

【循环结构程序设计】

1.若运行以下程序时,从键盘输入ADescriptor↙,则下面程序的运行结果是v0=12,v1=4,v2=12。

#include

voidmain()

{charc;

intv0=0,v1=0,v2=0;

do{

switch(c=getchar())

{case’a’:

case’A’:

case’e’:

case’E’:

case’i’:

case’I’:

case’o’:

case’O’:

case’u’:

case’U’:

v1+=1;

default:

v0+=1;v2+=1;}

}while(c!

=’\n’);

printf(“v0=%d,v1=%d,v2=%d\n”,v0,v1,v2);

}

2.下面程序的运行结果是8,-2。

#include

voidmain()

{inti,b,k=0;

for(i=1;i<=5;i++)

{b=i%2;

while(b-->=0)k++;

}

printf(“%d,%d”,k,b);

}

3.下面程序的运行结果是8,22。

#include

voidmain()

{inta,b;

for(a=1,b=1;a<=100;a++)

{if(b>=20)break;

if(b%3==1){b+=3;continue;}

b-=5;

}

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

}

4.下面程序的运行结果是x=8。

#include

voidmain()

{inti,j,x=0;

for(i=0;i<2;i++)

{x++;

for(j=0;j<=3;j++)

{if(j%2)continue;

x++;

}

x++;

}

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

}

5.下面程序的运行结果是*#*#*#$。

#include

voidmai

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2