c语言.docx

上传人:b****4 文档编号:27518218 上传时间:2023-07-02 格式:DOCX 页数:24 大小:22.03KB
下载 相关 举报
c语言.docx_第1页
第1页 / 共24页
c语言.docx_第2页
第2页 / 共24页
c语言.docx_第3页
第3页 / 共24页
c语言.docx_第4页
第4页 / 共24页
c语言.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

c语言.docx

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

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;

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

}

}

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;

}

printh("%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;}

}

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)

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

}

执行后输出结果是。

2、若有以下程序

main()

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

if(a

if(a

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

}

执行后输出结果是。

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

  main()

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

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

  elseprintf("no\n");

  }

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

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

  }

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

  }

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

  #include

  main()

  {inti,j;

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

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

  }

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

main()

{inta;

scanf("%d",&a);

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

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

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

}

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

main()

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

d=(a>b>c);

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

}

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

main()

{ints,i;

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

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

}

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

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;则输出结果为。

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

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、下面程序输出结果是。

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、程序执行后的输出结果是。

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的值。

15、有以下程序

main()

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

if(!

n)x-=1;

if(m)x-=2;

if(x)x-=3;

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

}

执行后的输出结果是。

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

}

执行后输出的结果是。

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

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

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

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?

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

#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<回车>后,下列程序的输出结果是。

#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++)

{j=i*10+6;

if()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++)

;

sum=sum+f;

}

printf(“5!

=%d”,sum);

}

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

请填空。

#include

main()

{intk;

printf(“Enteraintnumber:

”);

scanf(“%d”,&k);

if

printf(“yes\n”);

else

printf(“”);

}

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

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

请填空。

Main()

{intn,i,j;

printf(“EnterINTnumbers,with0toend\n”);

i=j=0;

scanf(“%d”,&n);

while

{if(n>0)i++;

if(n<0)j++;

;

}

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

c=i%10;

if()

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

;

}

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

}

*27、输出下列图形。

123456789main()

23456789inti,j;

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

456789{for(j=;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()_

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

c+=b;

}

Printf(“偶数之和:

%d\n”,a);}

Printf(“奇数之和:

%d\n”,);

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

请填空。

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

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

(2)求出m被n除后的余数r。

(3)若余数为0则执行步骤(7);否则执行步骤(4)。

(4)把除数作为新的被除数;把余数作为新的除数。

(5)求出新的余数r。

(6)重复步骤(3)到(5)。

(7)输出n,n即为最大公约数。

main()

{intr,m,n,t;

printf(“Enterm,n:

”);

scanf(“%d%d”,&m,&n);

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

if(m

t=m;m=n;n=t;

r=;

while()

{m=n;n=r;r=;}

printf(“H.C.F=%d\n,n);

}

 

三、编程题(15题)

*1、求出100至300内所有百位和个位相加能被3整除的数字。

*2、编程求S=1/1!

+1/2!

+1/3!

+........+1/n!

直到1/n!

<=1e-6

*3、编写程序实现用一元

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

当前位置:首页 > 表格模板 > 合同协议

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

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