C语言期末考试题9.docx

上传人:b****5 文档编号:5626874 上传时间:2022-12-29 格式:DOCX 页数:17 大小:19.07KB
下载 相关 举报
C语言期末考试题9.docx_第1页
第1页 / 共17页
C语言期末考试题9.docx_第2页
第2页 / 共17页
C语言期末考试题9.docx_第3页
第3页 / 共17页
C语言期末考试题9.docx_第4页
第4页 / 共17页
C语言期末考试题9.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C语言期末考试题9.docx

《C语言期末考试题9.docx》由会员分享,可在线阅读,更多相关《C语言期末考试题9.docx(17页珍藏版)》请在冰豆网上搜索。

C语言期末考试题9.docx

C语言期末考试题9

试卷编号:

11209

所属语言:

C语言

试卷方案:

C语言期末考试

试卷总分:

100分

共有题型:

4种

 

一、单项选择共30题(共计60分)

第1题(2.0分)

有以下程序

#include

voidmain()

{inta,b,d=25;

a=d/10%9;

b=a&&(–1);

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

}

程序运行后的输出结果是(B).

A:

A)6,1

B:

2,1

C:

6,0

D:

2,0

第2题(2.0分)

已知intj,i=1;,执行语句j=–i++;后,j的值是(C).

A:

1

B:

2

C:

-1

D:

-2

 

第3题(2.0分)

已知inti=5,执行语句i+=++i后,i的值是C().

A:

10

B:

11

C:

12

D:

A、B、C都不对

第4题(2.0分)

"\\\″ABC\″\\″的长度是(B).

A:

11

B:

7

C:

5

D:

3

 

第5题(2.0分)

以下程序的功能是:

给r输入数据后,计算半径为r的圆面积s.程序在编译时出错.

#include

voidmain()

/*Beginning*/

{intr;floats;

scanf("%d",&r);

s=p*r*r;printf("s=%f\n",s);

}

出错的原因是(D).

A:

注释语句书写位置错误

B:

存放圆半径的变量r不应该定义为整型

C:

输出语句中格式描述符非法

D:

计算圆面积的赋值语句中使用了非法变量

第6题(2.0分)

要求计算s=1+1/2+1/3+…+1/10,程序为:

#include

voidmain()

{intn;

floats;

s=1.0;

for(n=10;n>1;n––)s=s+1/n;

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

}

程序运行后输出结果错误,导致错误结果的程序行是(C).

A:

s=1.0;

B:

for(n=10;n>1;n––)

C:

s=s+1/n;

D:

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

 

第7题(2.0分)

执行以下程序后,输出的结果是(D).

#include

voidmain()

{inty=10;

do{

y––;

}while(––y);

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

}

A:

-1

B:

1

C:

8

D:

0

第8题(2.0分)

要求计算s=1+1/2+1/3+…+1/10,程序为:

#include

voidmain()

{intn;

floats;

s=1.0;

for(n=10;n>1;n––)s=s+1/n;

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

}

程序运行后输出结果错误,导致错误结果的程序行是(C).

A:

s=1.0;

B:

for(n=10;n>1;n––)

C:

s=s+1/n;

D:

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

 

第9题(2.0分)

以下程序的输出结果是(B).

#include

voidmain()

{intk=0,m=0;

inti,j;

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

{for(j=0;j<3;j++)k++;

k–=j;

}

m=i+j;

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

}

A:

k=0,m=3

B:

k=0,m=5

C:

k=1,m=3

D:

k=1,m=5

第10题(2.0分)

已有定义:

charc;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是(B).

A:

isupper(c)

B:

'A'<=c<='Z'

C:

'A'<=c&&c<='Z'

D:

c<=('z'–32)&&('a'–32)<=c

第11题(2.0分)

有以下程序:

#include

voidmain()

{ints=0,a=1,n;

scanf("%d",&n);

do{

s+=1;a=a–2;

}while(a!

=n);

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

}

若要使程序的输出值为2,则应该从键盘输入给n的值是(B).

A:

-1

B:

-3

C:

-5

D:

0

第12题(2.0分)

下述循环程序(C).

for(a=0,b=0;a<3&&b!

=3;a++);

 

A:

无限次循环

B:

循环次数不定

C:

循环3次

D:

循环4次

 

第13题(2.0分)

有以下程序:

#include

voidmain()

{inti,j,m=55;

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

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

m=m%j;

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

}

程序的运行结果是(B)

A:

0

B:

1

C:

2

D:

3

第14题(2.0分)

以下程序的输出结果是(D).

#include

voidmain()

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

101

B:

6

C:

5

D:

4

第15题(2.0分)

以下错误的定义语句是(C).

A:

intx[][3]={{0},{1},{1,2,3}};

B:

intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

C:

intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

D:

intx[][3]={1,2,3,4};

 

第16题(2.0分)

下面程序的输出结果是(B).

#include

voidmain()

{inti,k,a[10],p[3];

k=5;

for(i=0;i<10;i++)a[i]=i;

for(i=0;i<3;i++)p[i]=a[i*(i+1)];

for(i=0;i<3;i++)k+=p[i]*2;

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

}

A:

20

B:

21

C:

22

D:

23

第17题(2.0分)

以下程序的输出结果是(B).

#include

voidmain()

{intx[3][2]={0},i;

for(i=0;i<3;i++)scanf("%d",&x[i]);

printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);

}

输入:

246

A:

200

B:

204

C:

240

D:

246

第18题(2.0分)

有以下程序:

#include

voidmain()

{ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;

for(i=0;i<12;i++)c[s[i]]++;

for(i=1;i<5;i++)printf("%d",c[i]);

printf("\n");

}

程序的运行结果是(C).

A:

1234

B:

2344

C:

4332

D:

1123

 

第19题(2.0分)

有如下程序:

#include

voidmain()

{inta[3][3],*p,i;

p=&a[0][0];

for(i=0;i<9;i++)p[i]=i+1;

printf("%d\n",a[1][2]);

}

程序运行后的输出结果是(B).

 

A:

3

B:

6

C:

9

D:

2

第20题(2.0分)

以下程序运行后,输出结果是(C)

func(inta,intb)

{

staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

}

main()

{

intk=4,m=1,p;

p=func(k,m);printf("%d,",p);

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

}C

A:

8,15

B:

8,16

C:

8,17

D:

8,8

第21题(2.0分)

在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是B

A:

地址传递

B:

单向值传递

C:

由实参传给形参,再由形参传回实参

D:

传递方式是由用户指定

第22题(2.0分)

sub2()

{

inta[MAX],i,max;

max=5;

for(i=0;i

}

sub1()

{

for(i=0;i

}

sub3(inta[])

{

inti;

for(i=0;i

printf("\n");

}

D

A:

024681012141618

01234

B:

01234

024681012141618

C:

0123456789

012345

D:

024681012141618

024681012141618

第23题(2.0分)

有以下程序:

intfun(intx[],intn)

{staticintsum=0,i;

for(i=0;i

returnsum;

}

main()

{inta[]={1,2,3,4,5},b[]={6,7,8,9},s=0;

s=fun(a,5)+fun(b,4);

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

}C

A:

45

B:

50

C:

60

D:

55

第24题(2.0分)

若有定义int*p[3];,则以下叙述中正确的是(B).

A:

定义了一个基类型为int的指针变量p,该变量具有3个指针

B:

定义了一个指针数组p,该数组含有3个元素,每个元素都是基类型为int的指针

C:

定义了一个名为*p的整型数组,该数组含有3个int类型元素

D:

定义了一个可指向一维数组的指针变量p,所指一维数组应具有3个int类型元素

第25题(2.0分)

满足字符串s1大于字符串s2时if条件为真,应当使用(D).

 

A:

if(s1>s2)

B:

if(strcmp(s1,s2))

C:

if(strcmp(s2,s1)>0)

D:

if(strcmp(s1,s2)>0)

 

第26题(2.0分)

有如下程序:

#include

voidmain()

{charch[2][5]={"6937","8254"},*p[2];

inti,j,s=0;

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

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

for(j=0;p[i][j]>'\0';j+=2)

s=10*s+p[i][j]–'0';

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

}

该程序的输出结果是(C).

A:

69825

B:

63825

C:

6385

D:

693825

 

第27题(2.0分)

在以下程序中,函数scmp()的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址.

#include

#include

char*scmp(char*s1,char*s2)

{if(strcmp(s1,s2)<0)

return(s1);

elsereturn(s2);

}

voidmain()

{inti;

charstring[20],str[3][20];

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

gets(str[i]);

strcpy(string,scmp(str[0],str[1]));/*库函数strcpy对字符串进行复制*/

strcpy(string,scmp(string,str[2]));

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

}

运行时依次输入:

abcd、abba和abc3个字符串,则输出结果为(B).

A:

abcd

B:

abba

C:

abc

D:

abca

第28题(2.0分)

在文件包含预处理语句的使用形式中,当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是(B).

A:

直接按系统设定的标准方式搜索目录

B:

先在源程序所在目录搜索,再按系统设定的标准方式搜索

C:

仅仅搜索源程序所在目录

D:

仅仅搜索当前目录

第29题(2.0分)

有以下程序段:

main()

{inta=5,*b,**c;

c=&b;

b=&a;

…}

程序在执行了c=&b;b=&a;语句后,表达式**c的值是(C).

A:

变量a的地址

B:

变量b中的值

C:

变量a中的值

D:

变量b的地址

第30题(2.0分)

设有定义语句:

intx[6]={2,4,6,8,5,7},*p=x,i;

要求依次输出x数组6个元素中的值,不能完成此操作的语句是(D).

A:

for(i=0;i<6;i++)printf("%2d",*(p++));

B:

for(i=0;i<6;i++)printf("%2d",*(p+i));

C:

for(i=0;i<6;i++)printf("%2d",*p++);

D:

for(i=0;i<6;i++)printf("%2d",(*p)++);

二、程序填空共1题(共计10分)

第1题(10.0分)

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

【程序填空】

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

功能:

计算平均成绩并统计90分以上人数。

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

main()

{

intn,m;floatgrade,average;

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

average=n=m=【?

】;

while

(1)

{

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

【?

】("%f",&grade);

if(grade<0)break;

n++;

average+=grade;

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

if(grade<90)【?

】;

m++;

}

if(n)printf("%.2f%d\n",average/n,m);

}

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

第1题(10.0分)

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

【程序改错】

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

功能:

一个5位数,判断它是不是回文数。

即12321是回文数,个

位与万位相同,十位与千位相同。

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

#include"stdio.h"

main()

{

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

longge,shi,qian;wan,x;

scanf("%ld",&x);

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

wan=x%10000;

qian=x%10000/1000;

shi=x%100/10;

ge=x%10;

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

if(ge==wan||shi==qian)

printf("thisnumberisahuiwen\n");

else

printf("thisnumberisnotahuiwen\n");

getch();

}

四、程序设计共1题(共计20分)

第1题(20.0分)

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

【程序设计】

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

功能:

从低位开始取出长整型变量s中偶数位上的数,依次

构成一个新数放在t中。

例如:

当s中的数为:

7654321时,t中的数为:

642。

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

#include"stdio.h"

longfun(longs,longt)

{

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

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

}

returnt;

}

main()

{

longs,t,m;

clrscr();

printf("\nPleaseenters:

");scanf("%ld",&s);

m=fun(s,t);

printf("Theresultis:

%ld\n",m);

getch();

yzj();

}

yzj()

{

FILE*IN,*OUT;

intn;

longi,t,m;

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

if(IN==NULL)

{

printf("ReadFileError");

}

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

if(OUT==NULL)

{

printf("WriteFileError");

}

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

{

fscanf(IN,"%ld",&i);

m=fun(i,t);

fprintf(OUT,"%ld\n",m);

}

fclose(IN);

fclose(OUT);

}

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

当前位置:首页 > 工程科技 > 能源化工

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

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