专科C语言模拟一含答案.docx

上传人:b****6 文档编号:4338950 上传时间:2022-11-29 格式:DOCX 页数:13 大小:21.12KB
下载 相关 举报
专科C语言模拟一含答案.docx_第1页
第1页 / 共13页
专科C语言模拟一含答案.docx_第2页
第2页 / 共13页
专科C语言模拟一含答案.docx_第3页
第3页 / 共13页
专科C语言模拟一含答案.docx_第4页
第4页 / 共13页
专科C语言模拟一含答案.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

专科C语言模拟一含答案.docx

《专科C语言模拟一含答案.docx》由会员分享,可在线阅读,更多相关《专科C语言模拟一含答案.docx(13页珍藏版)》请在冰豆网上搜索。

专科C语言模拟一含答案.docx

专科C语言模拟一含答案

一、单选题:

(每题1.5分,共54分)

1、下列选项中,是C语言提供的合法的关键字的是(  )

  A.swicth

  B.cher

  C.default

  D.Case

 答案:

C

2、下列叙述不正确的是(  )

  A.在c程序中,%是只能用于整数运算的运算符

  B.在C程序中,无论是整数还是实数,都能正确无误地表示

  C.若a是实型变量,c程序中a=20是正确的,因此实型变量允许被整型数赋值

  D.在C程序中,语句之间必须要用分号“;”分隔

 答案:

B

3、将三个数排序需要比较______次。

  A.2

  B.3

  C.4

  D.不确定

 答案:

B

4、在C语言中,不正确的int类型的常数是

  A.32768

  B.0

  C.037

  D.0xAF

 答案:

A

5、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是

  A.INPUTx、y、z;

  B.scanf("%d%d%d",&x,&y,&z);

  C.scanf("%d%d%d",x,y,z);

  D.read("%d%d%d",&x,&y,&z);

 答案:

B

6、C语言中最简单的数据类型包括:

__

  A.整型,实型,逻辑型

  B.整型,字符型,逻辑型

  C.整型,实型,字符型 

  D.整型,实型,逻辑型,字符型

 答案:

C

7、下面四个选项中,均是不合法的浮点数的选项是

  A.160.0.12e3

  B.1232e4.2.e5

  C.-.18123e40.0

  D.-e3.2341e3

 答案:

B

8、下面正确的字符常量是

  A."c"

  B.'\\''

  C.'W'

  D.''

 答案:

C

9、下面四个选项中,均是不正确的八进制数或十六进制数的选项是

  A.0160x8f018

  B.0abc0170xa

  C.010-0x110x16

  D.0a127ff-123

 答案:

D

10、若变量a、i 已正确定义,且i已正确赋值,合法的语句是

  A.a==1

  B.++i;

  C.a=a++=5;

  D.a=int(i);

 答案:

B

11、设int a=12,则执行完语句a+=a-=a*a后,a的值是_____

  A.522

  B.264

  C.144

  D.-264

 答案:

D

12、设有如下定义:

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

则执行表达式:

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

  A.1

  B.2

  C.3

  D.0

 答案:

B

13、设x、y、z和k都是int型变量,则执行表达式:

x=(y=4,z=16,k=32)后,x的值为______。

  A.4

  B.16

  C.32

  D.52

 答案:

C

14、设以下变量均为int类型,则值不等于7的表达式是

  A.(x=y=6,x+y,x+1)

  B.(x=y=6,x+y,y+1)

  C.(x=6,x+1,y=6,x+y)

  D.(y=6,y+1,x=y,x+1)

 答案:

C

15、设x为int型变量,则执行以下语句后,x的值为

 x=10; x+=x-=x-x;

  A.10

  B.20

  C.40

  D.30

 答案:

B

16、下面的程序( )。

 #include

 main()

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

 if(x=y+z)printf(”* * * *”);

 else printf(”####”);

  }

  A.有语法错误不能通过编译

  B.输出****

  C.可以通过编译,但是不能通过连接,因而不能运行

  D.输出####

 答案:

D

17、设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,

则逻辑表达式(m=a > b)&&(n=c > d)运算后,n的值为:

  A.0

  B.1

  C.2

  D.3

 答案:

C

18、为表示关系X≥Y≥Z应使用C语言表达式:

__

  

  A.(X>=Y)&&(Y>=Z)

  B.(X>=Y)and(Y>=Z)

  C.(X≥Y≥Z)

  D.(X≥Y)&(Y≥Z)

 答案:

A

19、为表示关系x≥y≥z,应使用C语言表达式__________.

  A.(x>=y)&&(y>=z)

  B.(x>=y)AND(y>=z)

  C.(x>=y>=z)

  D.(x>=y)&(y>=z)

 答案:

A

20、若有定义:

 float w; int a, b; 则合法的switch语句是 

  A.switch(w){case1.0:

printf("*\n");case2.0:

printf("**\n");}

  B.switch(a);{case1printf("*\n");case2printf("**\n");}

  C.switch(b){casea:

printf("*\n");default:

printf("\n");caseb:

printf("**\n");}

  D.switch(a+b){case1:

printf("*\n");case2:

printf("**\n");default:

printf("\n");}

 答案:

D

21、已知 int x=10,y=20,z=30;以下语句执行后x,y,z的值是

if(x>y)

 z=x;x=y;y=z;

  A.x=10,y=20,z=30

  B.x=20,y=30,z=30

  C.x=20,y=30,z=10

  D.x=20,y=30,z=20

 答案:

B

22、以下程序的输出结果是

main()

{int x=2,y=-1,z=2;

 if(x < y)

  if(y < 0) z=0;

  else  z+=1;

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

}

  A.3

  B.2

  C.1

  D.0

 答案:

B

23、请阅读以下程序:

  .

 #include

 main()

 {float x,y;

  scanf("%f",&x);

  if(x<0.0)y=0.0;

  else if((x<5.0)&&(x!

=2.0))

  Y=1.O/(x+2.0);

  else if(x<10.0)Y=1.O/x;

  else y=10.0;

  printf(”%f\n”,y);

 }

 若运行时从键盘上输入2.0

  A.0.000000

  B.O.250000

  C.O.500000

  D.1.000000

 答案:

C

24、设有程序段

int k=10;

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

则下面描述中正确的是________

  A.while循环执行10次

  B.循环是无限循环

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

  D.循环体语句执行一次

 答案:

C

25、执行语句 for(i=1;i++ < 4;); 后变量 i 的值是

  A.3

  B.4

  C.5

  D.不定

 答案:

C

26、下面程序段的运行结果是_________

a=1;b=2;c=2;

while(a < b < c) {t=a;a=b;b=t;c--;}

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

  A.1,2,0

  B.2,1,0

  C.1,2,1

  D.2,1,1

 答案:

A

27、以下程序的输出结果是

main()

{ int i, a[10];

for(i=9;i>=0;i--) a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

}

  A.258

  B.741

  C.852

  D.369

 答案:

C

28、下面程序的输出结果是(  )。

 #include

 main()

 {int k,j,m;

  for(k=5;k>=1;k--)

  {m=0:

  for(j=k;j<=5;j++)

  m=m+k*j;

  }

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

 }

  A.124

  B.25

  C.36

  D.15

 答案:

D

29、若二维数组a有m列,则在a[i][j]之前的元素个数为(  )。

  A.j*m+i

  B.i*m+j

  C.i*m+j-1

  D.i*m+j+1

 答案:

B

30、下列程序的输出结果是

main()

{ static int s[][3]={{1,2,3},{4,5,6}};

 int t;

t=(s[0][0], s[1][1],s[0][1]+s[1][2]);

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

}

  A.5

  B.6

  C.7

  D.8

 答案:

D

31、设有数组定义:

char array[]=”China”;,则数组array所占的空间为(  )。

  A.4个字节

  B.5个字节

  C.6个字节

  D.7个字节

 答案:

C

32、以下程序的输出结果是

  #define  f(x)   x*x

  main( )

  {  int  a=6,b=2,c;

    c=f(a) / f(b);

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

  }

  A.9

  B.6

  C.36

  D.18

 答案:

C

33、以下程序的输出结果是

main( )

{ char ch[3][4]={"123","456","78"}, *p[3]; int i;

for(i=0;i<3;i++) p[i]=ch[i];

for(i=0;i<3;i++) printf("%s",p[i]);

}

  A.123456780

  B.123456780

  C.12345678

  D.147

 答案:

C

34、整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是

  A.x||y

  B.x|y

  C.x&y

  D.x^y

 答案:

D

35、以下只有在使用时才为该类型变量分配内存的存储类说明是

  A.auto和static

  B.auto和register

  C.register和static

  D.extern和register

 答案:

C

36、下述程序的输出结果是(  )。

  #include

  long fun(int n)

  {long s;

  if(n==1||n=:

2)

  s=2:

  else  

  s=n+fun(n-1);

  retum s;

  }

  main()

  {

  printf(”\n%ld”,fun(4));

  }  .

  A.7

  B.8

  C.9

  D.10

 答案:

C

填空题:

(每题2分,共26分)

1、C语言中最简单的数据类型是____________、____________、

______________.

 答案:

整型、实型、字符型

2、设C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为_______

 答案:

-32768至32767

3、执行下列语句后x的值是________.

X=y=z=5;

X=y==z;

 答案:

14

4、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。

 答案:

scanf,printf

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

#include

main()

{inta;

scanf(”%d”,&a);

if(a>50)prinff(”%d”,a);

if(a>40)prinff(”%d”,a);

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

}

 答案:

585858

6、当a=3,b=2,c=1时,表达式f=a>b>c的值是_________

 答案:

0

7、当a=5,b=4,c=2时,表达式a>b!

=c的值是____________

 答案:

1

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

#include

main()

{intx=2,y=-1,z=2;

if(x

if(y

elsez+=1:

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

}

 答案:

13

9、程序的功能:

从键盘输入若干学生的成绩,统计并输出最高成绩和

最低成绩,当输入负数时结束输入

main()

{floatx,amax,amin;

scanf("%f",&x);

amax=x;

amin=x;

while__1__

{if(x>amax)amax=x;

if(__2__)amin=x;

scanf("%f",&x);

}

printf("\namax=%f\namin=%f\n",amax,amin);}

 答案:

x>=0.0或x>=0或!

(x<0)或!

(x<0.0),x

10、以下程序的功能是:

从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。

请填空。

main()

{floatx[1000],sum=0.0,ave,a;

intn=0,i;

printf("Entermark:

\n");scanf("%f",&a);

while(a>=0.0&&n<1000)

{sum+______________;x[n]=__________________;

 答案:

=a

a

sum/n

x[i]

11、把数组元素按顺序存放的过程称为_________.

 答案:

排序

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

main()

{chars[]="abcdef";

s[3]=‘\0';

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

}

 答案:

abc

13、以下函数用以求x的y次方,请填空。

doublefun(doublex,inty)

{

inti:

doublez=1.0:

for(i-1;i_________;i++)

z=________;

returnz:

}

 答案:

<=yz*x

程序设计题:

(请在以下3题中任选2题作答,若3道全部解答,以前2道为准,每题10分,共20分)

1、一个数如果恰好等于它的所有真因子之和,这个数就称为“完数”。

例如,6的真因子为1,2,3,而6=1+2+3,因此,6是“完数”。

求[1,1000]之间的最大完数。

 答案:

#include

main()

{

inti,j;

intSum,Max=0;

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

{

Sum=0;

for(j=1;j

if(i%j==0)

Sum=Sum+j;

if(Sum==i&&i>Max)

Max=i;

}

printf("%d",Max);

}

本题参考答案为:

496

2、所谓回文数是从左至右与从右至左读起来都是一样的数字,如:

121是一个回文数。

编写程序,求出100—900之间的所有回文数的个数。

 答案:

#include

main()

{

inti,count=0;

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

{

if(i/100==i%10)

{

count++;

}

3、求[351,432]之间所有不能被3整除,但能被8整除的整数的和。

 答案:

main()

{

inti,s=0;

for(i=351;i<=432;i++)

if(i%3!

=0&&i%8==0)

s=s+i;

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

}

本题参考答案:

2728

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

当前位置:首页 > 高中教育 > 初中教育

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

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