《C语言程序设计》期中考试卷_第1页
《C语言程序设计》期中考试卷_第2页
《C语言程序设计》期中考试卷_第3页
《C语言程序设计》期中考试卷_第4页
《C语言程序设计》期中考试卷_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《C语言程序设计》期中考试卷

一、选择题

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

for(x=3;x<6;x++)printf((x%2)?(〃**%d〃):(〃##%d\n"),x);

A.**3

##4

**5B.##3

**4

##5

C.##3

**4##5

D.**3##4

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

intmain()

{inti;

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

switch(i%5)

{case0:printf(n*");break;

case1:printf('#");break;

default:printf("\n");

case2:printf("&");

}return0;}

A.#&&&*

B.#&

&&*C,#

&

&

&

D.#&

*

3.下面程序的功能是求算式xyz+yzz=532中的x,y,z的值

(其中xyz和yzz分别表示一个三位数),请选择填空。include

intmain()

{intx,y,z,I,result=532;

for(x=l;x<10;x++)

for(y=l;y<10;y++)

for(;z<10;z++)

{i=100*x+10*y+z+100*y+10*z+z;

if()

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

)

return0;

)

Al.z=xBl.z=lCl.z=0DI.z=y

A2.i/result==lB2.i=resultC2.i!=resultD2.i==result

4.以下正确的描述是。

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

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

C.在循坏体使用break语句或continue语句的作用相同D.从多

层循环嵌套中退出,只能使用goto语句

5.在下面的程序中…

#include

intmain()

{intt,x;

for(t=l;t<=100;t++)

{scanf("%d”,&x);

if(x<0)continue;

printf(”%3d”,t);

)

return0;

)

A.当x<0时整个循环结束

B.x>=0时什么也不输出

C.printf函数永远也不执行

D.最多允许输出100个非负整数

6与下面程序段等价的是。

for(n=100;n<=200;n++)

{if(n%3==0)continue;

printf(〃%4d〃,n);}

A.for(n=100;(n%3)&&n<=200;n++)printf(〃%4d〃,n);B.

for(n=100;(n%3)||n<=200;n++)printf(//%4d,/,n);C.for(n=100;

n<=200;n++)if(n%3!=0)printf(〃%4d〃,n);D.for(n=100;

n<=200;n++)

{if(n%3)printf(〃%4d〃,n);

elsecontinue;

break;

)

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

#include

intmain()

{inta,b;

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

{if(b>=20)break;

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

b-=5;

)

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

return0;

)

A.7B.8C,9D.10

二、填空题

1.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行

符结束循环。请填空。

intn=0,c;

c=getchar();

while()

{if()n++;

c=getchar()

)

2.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多

两个,下面的程序统计买完所需的天数,请填空。#includ.

intmain()

{intday=0,xl=1020/x2;

while

{x2=;

xl=x2;

day++;

)

printf(°day=%d\n/r,day);

return0;

)

3.当运行以下程序时,从键盘键入right?〈回车〉,则下面程序的运

行结果是。

#include

intmain()

{charc;

while((c=getchar())!='?')putchar(++c);

putchar('\n');

return0;

)

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

#include

intmain()

{inta=2,s=0,n=Lcount=l;

while(count<=7){n=n*a;s=s+n;++count;}

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

return0;

)

5.当运行以下程序时,从键盘输入"China#〈回车〉〃,贝U下面程序

的运行结果是。

#include

{intvl=0,v2=0;charch;

while((ch=getchar())!='#')

switch(ch)

{case'a':

case'h':

default:vl++;

case'o':v2++;

)

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

return0;

)

6.下面程序段中循环体的执行次数是。

a=10;b=0;

do{b+=2;a-=2+b;}while(a>=0);

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

x=2;

do{printf();x—;}while(!x==0);

8.下面的程序的功能是用do-while语句求1-1000之间满足〃用

3除余2,用5除余3,用7除余2〃的数,且一行只打印5个数,请填

空。

#include

{inti=l,j=0;

do

{if

{printf(〃%4d”,i);

j++;

ifprintf(〃\n〃);

)

i=i+l;

}while(i<1000);

return0;

)

9.当运行以下程序时,从键盘输入〃..…〈回车>〃,则下面程序的

运行结果是。

#include

intmain()

{intk=0zn;

do

M

{scanf(%d"/&n);k+=n;}while(n!=-l);

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

return0;

)

10.下面程序的运行结果是。

#include

intmain()

{inti=O,x=O,y=O;

do

{++i;

if(i%2!=0){x=x+i;i++;}

y=y+i++;

}while(i<=7);

printf("x=%d/y=%d\n",xry);

return0;

)

11.下面程序段是找出整数的所有因子。请填空。

#include

intmain()

{intx,i;

scanf("%d"z&x);

i=l;

for(;;)

{if(x%i==O)printf("%3d"/i);

i++;}return0;}

12.鸡、兔共有30只.脚共有90个,下面程序段是计算鸡

兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空完

成程序。

for(x=l;x<=30;x++)

{y=30-x;

if()printf(〃%d,%d\n”,x,y);

)

13.下面程序段的运行结果是。

for(a=lj=-l;-l<=i<l;i++)

{a++;printf(〃%2d〃,a);}

printf(〃%2d〃,i);

14.下面程序的功能是1-3+5-7+……-99+101的值。请填空。

#include

intmain()

{intizt,s=Ozq=l;

for(i=l;i<=101;i+=2)

{t=;s=s+t;q=;}

printf("%d\n"zs);

return0;

)

15.以下程序的功能是根据公式e=l+l/l!+l/2!+l/3!+……,求e

的近似值,精度要求为10-6。请填空。

#include

intmain()

{inti;doublee,n;

;n=1.0;

for(i=l;;i++)

{n/=i;e+=n;}

printf("e=%f\n"/e);

return0;

)

16.下面程序的运行结果是。

#include

intmain()

{inti;

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

switch(i%2)

{case0:i++;printf("#");break;

case1:i+=2;printfC**");

default:printf("\n");

)

return0;

)

17.下面程序的功能是统计用数字0・9可以组成多少个没有重复数

位的3位偶数。请填空。

#include

intmain()

{intn=O,iJ,k;

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

for(k=0;k<=8;)

if(k!=i)

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

if()

{printf("%d\n"j*100+j*10+k);

n++;

)

pnntf("n=%d\n';n);

return0;

)

18.下面程序的功能是输出1-100之间满足每位数的乘积大于每位

数的和的数。请填空。

#include

intmain()

{intn/k=l/s=0/m;

for(n=l;n<=100;n++)

{k=l;s=0;

/•

while()

{k*=m%10;

s+=m%10;

)

if(k>s)printf("%5d)n);

)

printf("\n");

return0;

)

三、编程题

1.打印出以下图形(10')

********

**s*u*s*

2.有三个数a、b、c,由键盘输入,输出其中第二大的数。(12')

3.编写一个程序求s=l+(l+2)+(l+2+3)+...+(l+2+3+.・・+n)的

值。(15')

4.输入一批非0数,直到输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论