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

上传人:b****5 文档编号:7248834 上传时间:2023-01-22 格式:DOCX 页数:22 大小:26.30KB
下载 相关 举报
顺序结构程序设计练习题.docx_第1页
第1页 / 共22页
顺序结构程序设计练习题.docx_第2页
第2页 / 共22页
顺序结构程序设计练习题.docx_第3页
第3页 / 共22页
顺序结构程序设计练习题.docx_第4页
第4页 / 共22页
顺序结构程序设计练习题.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

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

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

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

顺序结构程序设计练习题

C语言练习题总汇

一、单选题:

【顺序结构程序设计】

1.己知intk,m=1;执行语句k=—m++;后k得值就是(A ).(提示:

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

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

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

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

3.若有定义:

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)无答案

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

(提示:

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

按自由格式输出.)

inta=1234;

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

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

5、下列程序段得输出结果就是(C)。

int a=1234;

floatb=123、456;

doublec=12345、54321;

printf("%2d,%3。

2f,%4.1f”,a,b,c);

A)无输出   B)12,123、46,12345。

5   C)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,5 B)7,5 C)7,6 D)8,6

7、以下程序得输出结果就是( A).

int main()

{inta=20,b=10;

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

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

8。

下列程序得运行结果就是(A)。

intmain()

{floatx=2、5;

 int y;

y=(int)x;

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

A)x=2、500000,y=2B)x=2、5,y=2 C)x=2,y=2D)x=2、500000,y=2、000000

9、以下程序得输出结果就是(A).

int main()

{charc=‘z’;

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

A)a  B)z   C)z-25 D)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)3 B)  3.2  C)0 D) 3、07

11、下面程序得输出结果就是( C)。

(提示:

输出时无定界符)

int main()

{int k=17;

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

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

12。

下列程序执行后得输出结果就是(C).

intmain()

{charx=OxFFFF;

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

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

13、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

14。

有定义语句:

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<回车> 

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,10 C)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,789 B)1,456,789C)1,23,456,789D)1,23,

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

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

21、以下程序得功能就是:

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

程序在编译时出错.

#include〈stdio、h>

voidmain()

{

ﻩintr;

ﻩfloat s;

scanf(”%d",&r);

ﻩs=p*r*r;

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

出错得原因就是().

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

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

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

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

答案:

D

22、有以下程序

#include 〈stdio、h〉

void main( )

int m=12,n=34;

ﻩprintf(”%d%d”,m++,++n);

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

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

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

答案:

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

#include〈stdio、h>

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〈stdio、h>

voidmain()

{

ﻩchar c1=’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.2 B。

1  C.0   D.3

2、有变量说明int a=3;,则表达式a〈1&&--a>1得运算结果与a得值应该就是( B )

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

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

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

C)!

(a〉b)&&!

c||1 D)!

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

4、#include<stdio、h>

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=10   B、 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)<10 B)x—y〉-10&&x-y〈10C)!

(x—y)<-10||!

(y—x)〉10 D)(x-y)*(x-y)<100

7、若有定义:

int a=7;f1oatx=2、5,y=4、7;则表达式x+a%3*(int)(x+y)%2/4得值就是( A).

A) 2、5  B)2.7     C) 3、5    D)4、7

8、若有定义与语句:

int s,p;

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

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

9、若有定义:

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

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

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

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

A)2B)3  C)4 D)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=i〈j)&&(b=j〉k)&&(c=i,j,k)后,c值就是(  )。

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

答案:

D

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

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

答案:

14、以下程序得输出结果就是_______.

#include〈stdio、h〉

void main()

ﻩinta=-1,b=4,k;

ﻩk=(++a〈0)&& (b +=5);

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

}

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

答案:

D

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

(A)?

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

答案:

(B)

16、下列运算符中优先级最高得就是(  )

A)!

 B)% C)-=D)&&

答案:

(A)

17、有以下程序

#include <stdio、h〉

voidmain()

{

int m=3,n=4,x;

x=—m++;

ﻩx=x+8/++n;

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

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

A)3  B)5  C)-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)

答案:

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。

-1     B.1    C。

8    D.0

答案:

7、下面程序得运行结果就是()。

#include<stdio、h>

intmain()

{int num=0;

while(num〈=2)

{num++;

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

}

A。

1   B.1 2     C.123   D。

12 3 4

答案:

C

8、若运行以下程序时,从键盘输入3、6  2、4<CR>(表示回车),则下面程序得运行结果就是()。

#include〈math、h〉

#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、500000 B.1.600000 C.2、000000  D。

2、400000

答案:

B

9、有以下程序:

#include 〈stdio、h〉

voidmain( )

{ 

ﻩinti=0,s=0;

for(;;)

{ 

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

ﻩif(i==6) break;

ﻩi++;

s+=i;

};

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

}

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

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

答案:

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个非负整数

答案:

11、下列程序得运行结果就是( )。

#include“stdio、h”

void main()

{inti=23;

 do{++i;}

 while(i);

 printf(“%d”,i);

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

答案:

C

12、

二、填空题

【顺序结构程序设计】

1。

有以下程序:

int main()

{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 .

int x=17,y=26;

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

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

intmain()

{intx=3,y=5;

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

5、若有以下程序:

int main()

{ chara;

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

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

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

6、以下程序段得输出结果就是 261.

void main()

{inta=177;

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

7、以下程序得输出结果就是  0  (—32767~32767int)。

voidmain( )

{unsigned shorta=65536;intb;

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

提示:

当unsigned short与int 均占2个字节时。

8、输入“12345,xyz”,下列程序输出得结果就是  。

intmain()

{intx;chary;

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

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

答案:

123,4

9、以下程序得运行结果就是     。

#include 〈stdio、h>

voidmain()

ﻩint i=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〈stdio、h>

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 <stdio、h〉

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 <stdio、h>

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;}

}whil

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

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1