c语言模拟六001.docx

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

c语言模拟六001.docx

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

c语言模拟六001.docx

c语言模拟六001

试卷编号:

9154

所属语言:

C语言

试卷方案:

VC_20120521

试卷总分:

100分

共有题型:

5种

 

一、填空共10题(共计10分)

第1题(1.0分)题号:

293

getchar()函数只能接收一个【1】.

答案:

=======(答案1)=======

字符

 

第2题(1.0分)题号:

1188

设a取二进制数00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的

二进制数是【1】.

答案:

=======(答案1)=======

11110000

 

第3题(1.0分)题号:

345

字符串比较的库函数是【1】,只写函数名即可.

答案:

=======(答案1)=======

strcmp

 

第4题(1.0分)题号:

307

当a=1,b=2,c=3时,执行以下程序段后c=【1】.

 

if(a>c)b=a;

a=c;

c=b;

答案:

=======(答案1)=======

2

 

第5题(1.0分)题号:

331

C程序在执行过程中,不检查数组下标是否【1】.

答案:

=======(答案1)=======

越界

 

第6题(1.0分)题号:

540

若有以下定义和语句:

inta[5]={1,3,5,7,9},*p;

p=&a[2];

则++(*p)的值是【1】.

答案:

=======(答案1)=======

6

 

第7题(1.0分)题号:

1533

有函数调用fun1(x+y,(y,z),10,fun((x,y-1)));函数fun1有【1】个参数.

答案:

=======(答案1)=======

4

 

第8题(1.0分)题号:

344

复制字符串的库函数是【1】,只写函数名即可.

答案:

=======(答案1)=======

strcpy

 

第9题(1.0分)题号:

1554

C语言中调用【1】函数来打开文件.

答案:

=======(答案1)=======

fopen

=========或=========

fopen()

 

第10题(1.0分)题号:

1531

若charw,intx,floaty,doublez;则表达式w*x+z-y的结果为【1】类型.

答案:

=======(答案1)=======

double

=========或=========

双精度

 

二、单项选择共20题(共计40分)

第1题(2.0分)题号:

110

C语言中,char类型数据占()。

A:

1个字节

B:

2个字节

C:

4个字节

D:

8个字节

 

答案:

A

第2题(2.0分)题号:

573

C语言中运算对象必须是整型的运算符是()。

A:

%=

B:

/

C:

=

D:

〈=

 

答案:

A

第3题(2.0分)题号:

576

设以下变量均为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

第4题(2.0分)题号:

92

以下的选择中,正确的赋值语句是()。

A:

a=1,b=2

B:

j++

C:

a=b=5;

D:

y=int(x)

 

答案:

C

第5题(2.0分)题号:

621

printf函数中用到格式符%5s,其中数字5表示输出的字符串占用

5列,如果字符串长度大于5,则输出按方式()。

A:

从左起输出该字符串,右补空格

B:

按原字符长从左向右全部输出

C:

右对齐输出该字串,左补空格

D:

输出错误信息

 

答案:

B

第6题(2.0分)题号:

510

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

if(a>b>c)a=b;

elsea=c;

则a的值为()。

A:

3

B:

2

C:

1

D:

0

 

答案:

C

第7题(2.0分)题号:

506

以下程序段的输出结果为()。

for(i=4;i>1;i--)

for(j=1;j

putchar('#');

A:

B:

######

C:

#

D:

###

 

答案:

B

第8题(2.0分)题号:

615

C语言中while和do-while循环的主要区别是()。

A:

do-while的循环体至少无条件执行一次

B:

while的循环控制条件比do-while的循环控制条件更严格

C:

do-while允许从外部转到循环体内

D:

do-while的循环体不能是复合语句

 

答案:

A

第9题(2.0分)题号:

513

inta[10];合法的数组元素的最小下标值为()。

A:

10

B:

9

C:

1

D:

0

 

答案:

D

第10题(2.0分)题号:

636

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

A:

j*m+i

B:

i*m+j

C:

i*m+j-1

D:

i*m+j+1

 

答案:

B

第11题(2.0分)题号:

657

以下不能正确进行字符串赋初值的语句是()。

A:

charstr[5]="good!

";

B:

charstr[]="good!

";

C:

char*str="good!

";

D:

charstr[5]={'g','o','o','d',0};

 

答案:

A

第12题(2.0分)题号:

666

若调用一个函数,且此函数中没有return语句,则正确的说法是:

该函数()。

A:

没有返回值

B:

返回若干个系统默认值

C:

能返回一个用户所希望的值

D:

返回一个不确定的值

 

答案:

D

第13题(2.0分)题号:

176

数组名作为实参数传递给函数时,数组名被处理为()。

A:

该数组的长度

B:

该数组的元素个数

C:

该数组的首地址

D:

该数组中各元素的值

 

答案:

C

第14题(2.0分)题号:

659

凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。

A:

自动(auto)

B:

静态(static)

C:

外部(extern)

D:

寄存器(register)

 

答案:

A

第15题(2.0分)题号:

694

以下叙述正确的是()。

A:

可以把define和if定义为用户标识符

B:

可以把define定义为用户标识符,但不能把if定义为用户标识符

C:

可以把if定义为用户标识符,但不能把define定义为用户标识符

D:

define和if都不能定义为用户标识符

 

答案:

B

第16题(2.0分)题号:

199

若有inta[][]={{1,2},{3,4}};则*(a+1),*(*a+1)的含义分别为()。

A:

非法,2

B:

&a[1][0],2

C:

&a[0][1],3

D:

a[0][0],4

 

答案:

B

第17题(2.0分)题号:

198

设有以下语句,若0

charstr[4][2]={"aaa","bbb","ccc","ddd"},*strp[4];

intj;

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

strp[j]=str[j];

A:

strp

B:

str[k]

C:

strp[k]

D:

*strp

 

答案:

A

第18题(2.0分)题号:

541

若有inti=3,*p;p=&i;下列语句中输出结果为3的是()。

A:

printf("%d",&p);

B:

printf("%d",*i);

C:

printf("%d",*p);

D:

printf("%d",p);

 

答案:

C

第19题(2.0分)题号:

743

C语言结构体类型变量在程序执行期间()。

A:

所有成员一直驻留在内存中

B:

只有一个成员驻留在内存中

C:

部分成员驻留在内存中

D:

没有成员驻留在内存中

 

答案:

A

第20题(2.0分)题号:

725

在执行fopen函数时,ferror函数的初值是()。

A:

TRUE

B:

-1

C:

1

D:

0

 

答案:

D

三、程序填空共2题(共计20分)

第1题(10.0分)题号:

435

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:

找出数组中最大值和此元素的下标,数组元素的值由键盘

输入。

-------------------------------------------------------*/

#include

voidmain()

{

inta[10],*p,*s,i;

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

/***********SPACE***********/

scanf("%d",【?

】);

/***********SPACE***********/

for(p=a,s=a;【?

】<10;p++)

/***********SPACE***********/

if(*p【?

】*s)s=p;

/***********SPACE***********/

printf("max=%d,index=%d\n",【?

】,s-a);

}

答案:

=======(答案1)=======

a+i

=========或=========

&a[i]

=======(答案2)=======

p-a

=======(答案3)=======

>

=======(答案4)=======

*s

 

第2题(10.0分)题号:

420

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:

计算某日是当年的第几天。

-------------------------------------------------------*/

#include

struct

{

intyear;

intmonth;

intday;

}data;/*定义一个结构并声明对象为data*/

voidmain()

{

intdays;

printf("请输入日期(年,月,日):

");

scanf("%d,%d,%d",&data.year,&data.month,&data.day);

switch(data.month)

{

case1:

days=data.day;

break;

/***********SPACE***********/

case2:

days=data.day+【?

】;

break;

case3:

days=data.day+59;

break;

case4:

days=data.day+90;

break;

/***********SPACE***********/

case5:

days=data.day+【?

】;

break;

case6:

days=data.day+151;

break;

case7:

days=data.day+181;

break;

case8:

days=data.day+212;

break;

case9:

days=data.day+243;

break;

case10:

days=data.day+273;

break;

case11:

days=data.day+304;

break;

case12:

days=data.day+334;

break;

}

/***********SPACE***********/

if(data.year%4==0&&data.year%100!

=0【?

】data.year%400==0)

if(data.month>=3)

/***********SPACE***********/

days=【?

】;

printf("%d月%d日是%d年的第%d天.\n",data.month,data.day,data.year,days);

}

答案:

=======(答案1)=======

31

=======(答案2)=======

120

=======(答案3)=======

||

=======(答案4)=======

days+1

=========或=========

1+days

=========或=========

++days

 

四、程序改错共1题(共计10分)

第1题(10.0分)题号:

421

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:

一个偶数总能表示为两个素数之和。

------------------------------------------------------*/

#include

#include

main()

{

inta,b,c,d;

/**********FOUND**********/

scanf("%d",a);

for(b=3;b<=a/2;b+=2)

{

for(c=2;c<=sqrt(b);c++)

if(b%c==0)

break;

if(c>sqrt(b))

/**********FOUND**********/

d=a+b;

else

break;

for(c=2;c<=sqrt(d);c++)

/**********FOUND**********/

if(d%c=0)

break;

if(c>sqrt(d))

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

}

}

答案:

=======(答案1)=======

scanf("%d",&a);

=======(答案2)=======

d=a-b;

=======(答案3)=======

if(d%c==0)

 

五、程序设计共2题(共计20分)

第1题(10.0分)题号:

351

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

请编一个函数voidfun(inttt[M][N],intpp[N]),

tt指向一个M行N列的二维数组,求出二维数组每列

中最大元素,并依次放入pp所指一维数组中。

二维

数组中的数已在主函数中赋予。

------------------------------------------------*/

#include

#include

#defineM3

#defineN4

voidwwjt();

voidfun(inttt[M][N],intpp[N])

{

/**********Program**********/

/**********End**********/

}

main()

{

intt[M][N]={{22,45,56,30},

{19,33,45,38},

{20,22,66,40}};

intp[N],i,j,k;

printf("Theoriginaldatais:

\n");

for(i=0;i

{

for(j=0;j

printf("%6d",t[i][j]);

printf("\n");

}

fun(t,p);

printf("\nTheresultis:

\n");

for(k=0;k

printf("\n");

wwjt();

}

voidwwjt()

{

inti,j,array[3][4],p[4];

FILE*rf,*wf;

rf=fopen("in.dat","r");

wf=fopen("out.dat","w");

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

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

fscanf(rf,"%d",&array[i][j]);

fun(array,p);

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

{

fprintf(wf,"%7d",p[j]);

fprintf(wf,"\n");

}

fclose(rf);

fclose(wf);

}

答案:

----------------------

inti,j;

for(j=0;j

{

pp[j]=tt[0][j];

for(i=1;i

if(tt[i][j]>pp[j])

pp[j]=tt[i][j];

}

----------------------

第2题(10.0分)题号:

401

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

若x、y为奇数,求x到y之间的奇数和;若x、y为偶

数,则求x到y之间的偶数和。

------------------------------------------------*/

#include

voidwwjt();

intfun(intx,inty)

{

/**********Program**********/

/**********End**********/

}

main()

{

ints;

s=fun(1,1999)-fun(2,1998);

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

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

intn;

inti[2];

into;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("ReadFILEError");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("WriteFILEError");

}

for(n=0;n<2;n++)

{

fscanf(IN,"%d",&i[n]);

}

o=fun(i[0],i[1]);

fprintf(OUT,"%d\n",o);

fclose(IN);

fclose(OUT);

}

答案:

----------------------

inti,s=0;

for(i=x;i<=y;i+=2)

s=s+i;

returns;

----------------------

 

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

当前位置:首页 > 法律文书 > 调解书

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

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