c语言习题讲解.docx

上传人:b****4 文档编号:3812214 上传时间:2022-11-25 格式:DOCX 页数:17 大小:21.47KB
下载 相关 举报
c语言习题讲解.docx_第1页
第1页 / 共17页
c语言习题讲解.docx_第2页
第2页 / 共17页
c语言习题讲解.docx_第3页
第3页 / 共17页
c语言习题讲解.docx_第4页
第4页 / 共17页
c语言习题讲解.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

c语言习题讲解.docx

《c语言习题讲解.docx》由会员分享,可在线阅读,更多相关《c语言习题讲解.docx(17页珍藏版)》请在冰豆网上搜索。

c语言习题讲解.docx

c语言习题讲解

1.下列选项中,合法的C语言整型常量是()

A.087B.5LC.(long)123456D.1.23e+2

2.以下不合法的常量是()

A.'\6'B.""C.'\286'D"\286"

3.表达式strlen("\\\"AAA\123\xAA\t")的值为()

A.8B.17C.14D.10

4.已知'a'的ASCII码值为97,以下程序输出的结果是()

#include

main()

{

chara='A';

intb=20;

printf("%d,%o",(a=a+1,a+b,b),a+'a'-'A',b);

}

A.66,141B.20,141C.20,141,20D.66,97

5.

#include

main()

{

intx=34;

floaty=45.98;

printf("%6D,%6.2F",x,y);

}

6.下列程序输出结果是()

main()

{

inta=1,b=2,c=3,k;

k=a+++b+++c++;

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

A.1,2,3,6

B.2,3,4,6

C.1,3,3,7

D.1,3,3,6

7.以下()有语法错误的if语句。

A.if(3.54)

B.if(a!

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

C.if('s'&&s)s++;

D.if(!

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

8.输入数据:

-1(回车),以下程序的输出是()

A.x=0,y=-1;

B.x=-1,y=0;

C.x=0,y=1;

D.x=1,y=0;

9假设inta,b,c,w;且a和b均已被赋值,同时满足条件:

a

Scanf(“%d”,&c);

W=a;

If(w<=b)w=b;

If(w<=c)printf(“%d”,w);

Elsew=c;

A.b>cB.b<=cC.c>a且c

答案:

B

3.18运行一下程序时,输入数据:

abcdabc再回车,输出为()

#include“stdio.h”

Main()

{

Inta1=0,a2=0,a3=0;

Charc;

While((c=getchar())!

=’\n’)

Switch(c)

{

Case‘a’:

a1++;

Case‘b’:

a2++;

Default:

a3++;’

}

Printf(“%d,%d,%d”,a1,a2,a3);

}

A.2,4,7B.2,2,1C.2,4,1D.2,2,7

答案:

A

3.19对循环语句:

for(表达式1;表达式2;表达式3)语句,一下叙述正确的是()

A.for语句中的三个表达式一个都不能少

B.for语句中的循环体至少要被执行一次

C.for语句中的循环体可以是一个复合语句

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

答案:

C

3.20执行完循环语句for(i=1;i++<10);后,变量i的值是多少?

循环体被执行了几次?

A.i的值是8,循环体执行了9次。

B..i的值是9,循环体执行了10次。

C..i的值是10,循环体执行了10次。

D..i的值是11,循环体执行了9次。

答案:

D

 

3.21一下程序段执行后,叙述正确的是()

IntI;

For(i=1;;i++);

Printf(“%d”,i++);

A.输出1,B.输出2C.输出3D.死循环

答案:

D

3.22一下程序的输出结果是()

main()

{

Inty=9;

For(;y>0;y--)

If(y%3==0)

Printf(“%d”,--y);

}

A.741B.852C.963D.87521

答案:

B

3.23若x,y是int型变量,则执行以下语句后x的值是()

For(y=1,x=1;y<=50;y++)

{

If(x>=10)break;

If(x%2==1)

{

X+=5;continue;

}

x-=3;

}

A.1B.6C.7D.10

答案:

D

3.24对一下程序段,描述正确的是()

Intk=10;

While(k=0)k=k-1;

A.循环体执行了10次

B.循环是无限循环

C.循环体语句一次也不执行

D.循环体语句执行了一次

答案:

C

 

3.25对以下程序段,描述正确的是()

Intk=10;

While(k>0)

Printf(“%d”,k);

K=k-1;

A.循环体被执行了10次

B.循环是无限循环

C.循环体一次也不执行

D.循环体语句执行了一次

答案:

B

3.26下面程序的运行结果是()

Main()

{

IntI,j,k,x=0;

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

{

X++;

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

{

If(j%2)continue;

X++;

}

X++;

}

K=i+j;

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

}

A.K=8,X=4

B.K=5,X=8

C.K=3,X=6

D.K=8,X=12

答案:

B.

3.27假设chargrade=’A’;则以下程序段的执行结果是()

Switch(grade)

{

Case‘A’;

Case‘B’:

Case‘C’:

printf(“>=60pass!

\n”);

Case‘D’:

printf(“<60\n”);

Default:

printf(“error!

\n”);

}

答案:

>=60pass!

<60

Error!

3.28以下程序段的运行结果是()

Main()

{

Inta=2,b=7,c=5;

Switch(a>0)

{

Case1:

switch(b<0)

{

Case1:

printf(“@”);break;

Case2:

printf(“!

”);break;

}

Case0:

switch(c==5)

{

Case0:

printf(“*”);break;

Case1:

printf(“#”);break;

Default:

printf(“#”);break;

}

Default:

printf(“&”);

}

Printf(“\n”);

}

答案:

#&

3.29以下程序实现:

输入三个整数,按从大到小的顺序输出,请填空。

Main()

{

Intx,y,z,T;

Scanf(“%d%d%d”,&x,&y,&z);

If(x

{

T=x;x=y;y=T;

}

If(

{

T=x;x=z;z=t;

}

If(y

{

}

Printf(“%d,%d,%d”,x,y,z);

}

答案:

x

t=y;y=z;z=t;

3.30为了输出如下图形,请在程序处填入合适的内容。

*****

*****

*****

*****

*****

Main()

{

IntI,j;

For(i=1;i<6;i++)

{

For(j=1;j<6;j++)

__

__;

__

__;

}

}

答案:

printf(”*”)

printf(“\n”)

为了输出如下图形,请在程序处填入合适的内容。

*

***

*****

*******

*********

Main()

{

IntI,j;

For(i=1;i<6;i++)

{

For(j=1;j<10-1;j++);

Printf(“”);

For(j=1;j<=___;j++)

Printf(“*”);

Printf(“\n”);

}

}

答案:

2*i-1

3.32若变量a,i已正确定义,且i已正确赋值,下列合法的语句是()

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

答案:

B

3.36已知:

Intt=0;

While(t=1)

{…….}

则以下叙述正确的是________

A.循环控制表达式的值为0

B.循环控制表达式的值为1

C.循环控制表达式不合法

D.以上说法都不对

答案:

B

3.38下面程序的输出结果是___

Main()

{

Intx=1,a=0,b=0;

Switch(x)

{

Case0:

b++;

Case1:

a++;

Case2:

a++;b++;

}

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

}

A.a=2,b=1B.a=1,b=1C.a=1,b=0Da=2,b=2

答案:

A

3.39下面程序的输出结果是_____

Main()

{

Inti=1,j=1,k=2;

If((j++||k++)&&i++)

Printf(“%d,%d,%d\n”,I,j,k);

}

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

答案C

3.40下面程序的输出结果是:

___

Main()

{

Intn=9;

While(n>6)

{

n--;

printf(“%d”,n);

}

}

A.987B.876C.8765D.9876

答案:

B

3.41在下面选项中,没有构成死循环的是__

A.inti=100;

Whiel

(1)

{

I=i%100+1;

If(i>100)break;

}

B.for(;;);

C.intk=10000

do

{

K++;

}while(k>10000);

D,ints=36;

While(s)

--s;

答案:

D

3.42若运行一下程序,输入ADescriptor在回车,则下面的程序运行结果是______

#include

Main()

{

Charc;

Intv0=1,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);

}

A.v0=7,v1=4,v2=7

B.v0=8,v1=4,v2=8

C.v0=11,v1=4,v2=11

D.v0=13v1=4v2=12

答案:

D

3.44以下程序段的描述正确的是___

X=-1;

Do

{

X=x*x;

}

While(!

x)

A.是死循环

B.循环执行两次

C.循环执行一次

D.有语法错误

答案:

c

3.45在下述程序中,判断i>j共执行的次数是____

Main()

{

Inti=0,j=10,k=2,s=0;

For(;;)

{

I+=k;

If(i>j)

{

Prntf(“%d”,s);

Break;

}

S+=I;

}

}

A.4

B.7

C.5

D.6

答案:

D

3.46下面程序的功能是把316表示为两个数的和,是两个加数分别能被13和11整除,请…选择填空

#include

Main()

{

Inti=0,j,k;

Do

{

I++;

K=316-13*I;

}

While(_____);

Printf(“316=13*%d+11*%d”,I,j);

}

A.k/11B.k%11C.k/11==0D.k%11==0

答案:

B

 

3.47下面程序的运行结果是___

#include

Main()

{

Inta=1,b=10;

Do

{

b-=a;a++;

}

While(b--<0);

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

}

A.a=3,b=11

B.a=2,b=8

C.a=1,b=-1

D.a=4,b=9

答案:

B

 

3.48下面程序的运行结果是____

Main()

{

Intx=23;

Do

{

Printf(“%d”,x--);

}

While(!

x);

}

A.321

B.23

C.不输出任何内容

D.陷入死循环

答案:

B

3.49下面程序的运行结果是____

Main()

{

Inta=2,b=-1,c=2;

If(a

If(b<0)c=0

Elsec++;

Printf(“%d\n”,c);

}

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

答案:

C

3.50执行完语句for(i=1;i++,4;);以后,变量i的值是___

A.3B.4C.5D.不定

答案:

c

3.46有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个,若分成7个零件一组,则多3个,若分成9个零件一组,则多5个。

填写程序

#include

Main()

{

IntI;

For(i=100;i<200;i++)

If((i-2)%4==0)

If(!

((i-3)%7))

If(_____)

Printf(“%d”,i);

}

A.i%9=5

B.i%9!

=5

C.(i-5)%9!

=0

D.(i-5)%9==0

答案:

D

3.50以下程序的功能是从键盘输入若干学生的成绩,并输出最高成绩和最低成绩,当输入负数时结束,请填空。

Main()

{

Floatx,amax,amin;

Scanf(“%f”,&x);

Amax=x;

Amin=x;

While(__

__)

{

If(x>amax)

Amax=x;

Else

If(__

___)

Amin=x;

Else

Scanf(“%f”,&x);

}

Printf(“\namax=%f\namin=%f\n”,amax,amin);

}

答案:

x>0

x

3.56下列程序的功能是输入一个整数,判断是否是素数,若为素数输出1,否则输出0

Main(0

{

IntI,x,y=1;

Scanf(“%d”,&x);

For(i=2;i<=x/2;i++)

If______

{

Y=0;

Break;

}

Printf(“%d\n,”y);

}

答案:

(x%i==0)

3.57下面程序的运行结果是____

Main()

{

Inty=9;

For(;y>0;y--)

If(y%3==0)

{

Printf(“%d”,--y);continue;

}

}

答案:

852

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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