c语言答案.docx

上传人:b****0 文档编号:10062600 上传时间:2023-05-23 格式:DOCX 页数:37 大小:24.87KB
下载 相关 举报
c语言答案.docx_第1页
第1页 / 共37页
c语言答案.docx_第2页
第2页 / 共37页
c语言答案.docx_第3页
第3页 / 共37页
c语言答案.docx_第4页
第4页 / 共37页
c语言答案.docx_第5页
第5页 / 共37页
c语言答案.docx_第6页
第6页 / 共37页
c语言答案.docx_第7页
第7页 / 共37页
c语言答案.docx_第8页
第8页 / 共37页
c语言答案.docx_第9页
第9页 / 共37页
c语言答案.docx_第10页
第10页 / 共37页
c语言答案.docx_第11页
第11页 / 共37页
c语言答案.docx_第12页
第12页 / 共37页
c语言答案.docx_第13页
第13页 / 共37页
c语言答案.docx_第14页
第14页 / 共37页
c语言答案.docx_第15页
第15页 / 共37页
c语言答案.docx_第16页
第16页 / 共37页
c语言答案.docx_第17页
第17页 / 共37页
c语言答案.docx_第18页
第18页 / 共37页
c语言答案.docx_第19页
第19页 / 共37页
c语言答案.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言答案.docx

《c语言答案.docx》由会员分享,可在线阅读,更多相关《c语言答案.docx(37页珍藏版)》请在冰点文库上搜索。

c语言答案.docx

c语言答案

带*的题为上机课必做题,主要为后面编程题和程序填空题。

一、选择题(30题)

1、有以下程序

main()

{inti;

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

switch(i)

{case1:

printf("%d",i);

case2:

printf("%d",i);

default:

printf("%d",i);

}}

  执行后输出结果是()

A)011122B)012C)012020D)120

2、有以下程序

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

3、有以下程序

main()

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

if(a>b>c)

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

elseif((c-1>=d)==1)

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

else

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

}

  执行后输出结果是()

A)2B)3C)4D)编译时有错,无结果

4、有以下程序

main()

{inti=0,s=0;

do{

if(i%2)

{i++;continue;}

i++;

s+=i;//14916

}while(i<7);

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

}

 执行后输出结果是()

A)16B)12C)28D)21

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

main()

{inta=5,b=4,c=6,d;

printf("%d\n",d=a>b?

(a>c?

a:

c):

(b));

}

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

6、以下程序中,while循环的循环次数是()

main()

{inti=0;

while(i<10)

{if(i<1)continue;

if(i==5)break;

i++;

}

}

A)1B)10C)6D)死循环,不能确定次数

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

main()

{inta=0,i;

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

{switch(i)

{case0:

case3:

a+=2;

case1:

case2:

a+=3;

default:

a+=5;

}

}//3,5,3,,5,2,3,5,5,

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

}

A)31B)13C)10D)20

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

main()

{inta=4,b=5,c=0,d;

d=!

a&&!

b||!

c;

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

}

A)1B)0C)非0的数D)-1

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

#include

main()

{inti=0,a=0;

while(i<20)

{for(;;)

{if((i%10)==0)break;

elsei--;

}

i+=11;a+=i;

}//1111,2121,

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

}

A)21B)32C)33D)11

10、阅读以下程序:

()

main()

{intx;

scanf("%d",&x);

if(x--<5)printf("%d",x);

elseprintf("%d",x++);

}

程序运行后,如果从键盘上输人5,则输出结果是

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

11、假定w、x、y、z、m均为int型变量,有如下程序段:

w=1;x=2;y=3;z=4;

m=(w

w:

x;m=(m

m:

y;m=(m

m:

z;

则该程序运行后,m的值是()

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

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

main()

{inta,b;

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

{if(b>=10)break;

if(b%3==1)

{b+=3;continue;}//14,27,310,4

}

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

}

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

13、若执行以下程序时从键盘上输入9,则输出结果是()

Main()

{intn;

scanf("%d",&n);

if(n++<10)

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

else

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

}

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

14、有以下程序段

intk=0

while(k=1)

k++;

while循环执行的次数是()

A)无限次  B)有语法错,不能执行C)一次也不执行  D)执行1次15、以下程序执行后sum的值是()

main()

{inti,sum;

for(i=1;i<6;i++)sum+=i;

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

}

 A)15  B)14  C)不确定  D)0

16、有以下程序段

intx=3

do

{printf("%d",x-=2);}

while(!

(--x));

其输出结果是()

  A)1  B)30 C)1-2  D)死循环

17、若变量c为char类型,能正确判断出c为小写字母的表达式是()

  A)'a'<=c<='z'  

  B)(c>='a')||(c<='z')

  C)('a'<=C)and('z'>=c)

  D)(c>='a')&&(c<='z')

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

main()

{intx=0.5;charz='a';

printf("%d\n",(x&1)&&(z<'z'));}

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

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

main()

{intx=10,y=10,i;

for(i=0;x>8;y=i)

printf(“%d%d”,x--,y);

}

A)10192B)9876C)10990D)101090

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

main()

{inti;

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

{if(i%2)//1,3,5

{printf(“#”);continue;}

printf(“*”);

}

printf(“\n”);

}

A)#*#*#*B)#####C)*****D)*#*#*

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

main()

{inti;

for(i='A';i<='I';i++)printf(“%c”,i+32);

printf(“\n”);

}

A)编译不通过,无输出B)acegC)acegiD)abcdefghi

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

main()

{intm=5;

if(m>5)printf(“%d\n”,m);

elseprintf(“%d\n”,m--);

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

23、运行以下程序后,如果从键盘上输入china#《回车》,则输出结果为()

#include

main()

{intv1=0,v2=0;

charch;

while((ch=getchar())!

='#')

switch(ch)

{case'a':

case'h':

default:

v1++;

case'0':

v2++;

}

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

A)2,0B)5,0C)5,5D)2,5

24、设有如下定义:

inta=1,b=2,c=3,d=4,m=2,n=2;

则执行表达式:

(m=a>b)&&(n=c>d)后,n的值为()

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

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

main()

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

A)x=4B)x=8C)x=6D)x=12

26、设x和y均为int型变量,则执行以下的循环后,y值为()

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

{if(x==10))break;

if(x%2==1)

{x+=5;continue;}

x-=3;

}

A)2B)4C)6D)8

27、假定a和b为int型变量,则执行以下语句后b的值为()

a=1;b=10;

do

{b-=a;a++;}

while(b--<0);

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

28、设j为int型变量,则下面for循环语句的执行结果是()

For(j=10;j>3;j--)

{if(j%3)j--;

--j;--j;

printf(“%d”,j);

}

A)63B)74C)62D)73

29、有以下程序

main()

{intx,i;

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

{x=i;

if(x%2==0)

{x++;

if(x%3==0)

{x++;

if(x%7==0)

{x++;

printf("%d",i);

}

}

}

}

}

输出结果是()

A)28B)27C)42D)26

30、假定所有变量均已正确说明,下列程序段运行后x的值是()

a=b=c=0;x=35;

if(!

a)x--;

elseif(b);if(c)x=3;

elsex=4;

A)34B)4C)35D)3

二、填空题(阅读程序20题,程序填空10题)

1、若有以下程序

main()

{intp,a=5;

if(p=a!

=0)

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

else

printf("%d\n",p+2);

}

执行后输出结果是1。

2、若有以下程序

main()

{inta=4,b=3,c=5,t=0;

if(a

if(a

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

}

执行后输出结果是5,0,3。

3、以下程序运行后的输出结果是yes。

  main()

  {inta=1,b=3,c=5;

  if(c=a+b)printf("yes\n");

  elseprintf("no\n");

  }

4、以下程序运行后的输出结果是132。

  main()

  {inti,m=0,n=0,k=0;

  for(i=9;i<=11;i++)

  switch(i/10)

  {case0:

m++;n++;break;

  case10:

n++;break;

  default:

k++;n++;

  }//110,121,132

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

  }

5、执行以下程序后,输出'#'号的个数是6。

  #include

  main()

  {inti,j;

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

  for(j=2;j<=i;j++)putchar('#');

  }

6、若从键盘输入58,则以下程序输出的结果是585858。

main()

{inta;

scanf("%d",&a);

if(a>50)printf("%d",a);

if(a>40)printf("%d",a);

if(a>30)printf("%d",a);

}

7、以下程序输出的结果是0。

main()

{inta=5,b=4,c=3,d;

d=(a>b>c);

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

}

8、以下程序的输出结果是5。

main()

{ints,i;

for(s=0,i=1;i<3;i++,s+=i);

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

}

9、以下程序运行后的输出结果是52。

main()

{inti=10,j=0;

do

{j=j+i;i--;

}while(i>2);

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

}

10、设有以下程序:

main()

{intn1,n2;

scanf("%d",&n2);

while(n2!

=0)

{n1=n2%10;

n2=n2/10;

printf("%d",n1);

}

}

程序运行后,如果从键盘上输入1298;则输出结果为8921。

11、下列程序段的输出结果是passwarn。

intn='c';

switch(n++)

{default:

printf("error");break;

case'a':

case'A':

case'b':

case'B':

printf("good");break;

case'c':

case'C':

printf("pass");

case'd':

case'D':

printf("warn");

}

12、下面程序输出结果是a=2,b=1。

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

}

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

}

13、程序执行后的输出结果是3,2,-1。

main( )

{  int x=0,y=5,z=3;

   while(z-->0&&++x<5)    y=y-1;

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

}

14、若有intⅰ=5,j=10;则执行完语句

switch(i){

case4:

j++;

case5:

j--;

case6:

j++;

case7:

j-=2;

default:

;}

后j的值8。

15、有以下程序

main()

{intn=0,m=1,x=2;

if(!

n)x-=1;

if(m)x-=2;

if(x)x-=3;

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

}

执行后的输出结果是-4。

16、main()

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

if(a>b>c)

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

elseif((c-1>=d)==1)

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

else

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

}

执行后输出的结果是3。

17、当a=1,b=3,c=5,d=4时,执行完下面的一段程序后x的值是2。

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

18、下列程序段的输出结果是k=4,s=6。

intk,s;

for(k=0,s=0;k<10;k++)

if(s>k)break;

elses+=k;

printf("k=%d,s=%d",k,s);

19、输入c2470f?

<回车>后,下列程序的输出结果是2#18#。

#include

main()

{charch;longnumber=0;

while((ch=getchar())<’0’||ch>’6’);

while(ch!

=’?

’&&ch>=’0’&&ch<=’6’){

number=number*7+ch-‘0’;

printf(“%ld#”,number);

ch=getchar();//

}

20、输入4<回车>后,下列程序的输出结果是1#3#21#1173#。

#include

main()

{intj,k,n;

floatf,s;

scanf(“%d”,&n);

s=0;f=1;

for(k=1;k<=n;k++){

for(j=1;j

f=f*k;

s=s+f;

printf(“%.0f#”,s);

}}

*21、下面程序的功能是:

输出100以内能被3整除且个位数为6的所有整数,请填空。

#include

main()

{inti,j;

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

{j=i*10+6;

if((j%3)!

=0)continue;

printf("%d",j);

}

}

*22、下面程序的功能是求1!

+2!

+3!

+4!

+5!

,请填空:

main()

{inti,j,f,sum=0;

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

{f=1;

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

f=f*j;

sum=sum+f;

}

printf(“5!

=%d”,sum);

}

23、以下程序可判断输入的一个整数是否能被3或7整除,若能整除,输出“yes”,否则输出“no”。

请填空。

#include

main()

{intk;

printf(“Enteraintnumber:

”);

scanf(“%d”,&k);

if(k%3==0||k%7==0)

printf(“yes\n”);

else

printf(“no\n”);

}

*24、以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。

用输入零来结束输入,程序中用i统计大于零的个数,用变量j统计小于零的整数。

请填空。

Main()

{intn,i,j;

printf(“EnterINTnumbers,with0toend\n”);

i=j=0;

scanf(“%d”,&n);

while(n!

=0)

{if(n>0)i++;

if(n<0)j++;

scanf(“%d”,&n);

}

printf(“i=%4dj=%4d\n”,i,j);

}

25、如果一个数的各位数的立方和等于它本身,则这样的数称为水仙花数求100~999中所有的水仙花数。

main()

{inti,a,b,c;

for(i=100;i<=999;i++)

{a=i/100;

b=i%100/10;

c=i%10;

if(i==(a*a*a+b*b*b+c*c*c))

printf(“%5d”,i);}}

26、输入1个正整数n,计算并输出s的前n项的和。

S=1-1/2+1/3-1/4+1/5-1/6+……

#include

main()

{intk,flag,n;floats;

flag=1;s=0;

scanf("%d",&n);

for(k=1;k<=n;k++){

s=s+flag*(1.0f/k);

flag=flag*-1;

}

printf("sum=%fn",s);

}

*27、输出下列图形。

123456789main()

23456789inti,j;

3456789for(i=1;i<=9;i++)

456789{for(j=i;j<=9;j++)printf("%2d",j);

56789printf("\n");}

6789

789

89

9

28、下面程序的功能是:

从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,最后当输入负数时结束输入。

请填空:

Main()

{floatx,amax,amin;

Scanf(“%f”,&x);

Amax=x;amin=x;

While(x>=1e-6)_

{if(x>amax)amax=x;

If(x

Scanf(“%f”,&x);

}

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

}

*29、下面程序的功能是计算1到10之间的奇数之和即偶数之和。

请填空:

Main()

{inta,b,c,i;

a=c=0;

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

{a+=i;

b=a+1;

c+=b;

}

Printf(“偶数之和:

%d\n”,a);}

Printf(“奇数之和:

%d\n”,c);

30、以下程序用“辗转相除法”来求出两个正整数的最大公约数。

请填空。

若两个数分别放在m和n中,求最大公约数的算法如下:

(1)将两数中最大的那个放在m中,小的放在n

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

当前位置:首页 > 医药卫生 > 基础医学

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

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