c语言期末复习试题附答案Word格式.docx

上传人:b****5 文档编号:17467686 上传时间:2022-12-01 格式:DOCX 页数:18 大小:18.96KB
下载 相关 举报
c语言期末复习试题附答案Word格式.docx_第1页
第1页 / 共18页
c语言期末复习试题附答案Word格式.docx_第2页
第2页 / 共18页
c语言期末复习试题附答案Word格式.docx_第3页
第3页 / 共18页
c语言期末复习试题附答案Word格式.docx_第4页
第4页 / 共18页
c语言期末复习试题附答案Word格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

c语言期末复习试题附答案Word格式.docx

《c语言期末复习试题附答案Word格式.docx》由会员分享,可在线阅读,更多相关《c语言期末复习试题附答案Word格式.docx(18页珍藏版)》请在冰豆网上搜索。

c语言期末复习试题附答案Word格式.docx

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

第4题(分)

"

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

7

5

3

第5题(分)

已知intj,i=1;

执行语句j=–i++;

后,j的值是(C).

1

2

-1

-2

第6题(分)

有以下程序:

{ints=0,a=1,n;

&

n);

do{

s+=1;

a=a–2;

}while(a!

=n);

%d\n"

s);

}

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

-3

-5

第7题(分)

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

{inty=10;

y––;

}while(––y);

y––);

8

第8题(分)

以下循环体的执行次数是(C).

{inti,j;

for(i=0,j=1;

i<

=j+1;

i+=2,j––)printf("

i);

第9题(分)

有以下程序段:

while(k=1)k++;

while循环执行的次数是(A).

无限次

有语法错误,不能执行

1次也不执行

执行1次

第10题(分)

有以下程序

{intm,n,p;

m=%dn=%dp=%d"

m,&

n,&

p);

%d%d%d\n"

m,n,p);

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是(A).

m=123n=456p=789

m=123n=456p=789

m=123,n=456,p=789

123456789

第11题(分)

设变量已正确定义,以下能正确计算f=n!

的程序段是(D)

f=0;

for(i=1;

i<

=n;

i++)f*=i;

f=1;

n;

for(i=n;

i>

1;

=2;

i––)f*=i;

第12题(分)

在下列程序中,没有构成死循环的程序段是(B).

inti=100;

while

(1)

{i=i%100+1;

if(i>

100)break;

intk=1000;

do

{++k;

}while(k>

=10000);

for(;

;

);

ints=36;

while(s);

--s;

第13题(分)

有如下程序:

{intn=9;

while(n>

6)

{n--;

printf("

n);

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

987

876

8765

9876

第14题(分)

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

{intx=10,y=10,i;

for(i=0;

x>

8;

y=++i)

%d%d"

x––,y);

10192

9876

10990

101091

第15题(分)

#include<

{intn[5]={0,0,0},i,k=2;

k;

i++)

{printf("

n[k]);

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

不确定的值

第16题(分)

下列程序执行后的输出结果是(A).

{chararr[2][4];

strcpy(arr,"

you"

strcpy(arr[1],"

me"

arr[0][3]='

&

'

%s\n"

arr);

you&

me

you

err

第17题(分)

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

{inti,x[3][3]={1,2,3,4,5,6,7,8,9};

3;

i++)printf("

%d,"

x[i][2–i]);

1,5,9,

1,4,7,

3,5,7,

3,6,9,

第18题(分)

以下数组定义中不正确的是(D).

inta[2][3];

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

intc[100][100]={0};

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

第19题(分)

以下能正确定义数组并正确赋初值的语句是(D).

intN=5,b[N][N];

inta[1][2]={{1},{3}};

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

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

第20题(分)

inta=4;

intf(intn)

{

intt=0;

staticinta=5;

if(n%2){inta=6;

t+=a++;

}

else{inta=7;

returnt+a++;

main()

ints=a,i=0;

for(;

2;

i++)s+=f(i);

d\n"

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

24

28

32

36

第21题(分)

以下正确的函数定义形式为(A)

doublefun(intx,inty)

doublefun(intx;

y)

inty)

doublefun(intx,y)

第22题(分)

C语言规定,函数返回值的类型是由(D)

return语句中的表达式类型所决定的

调用该函数时的主调函数类型所决定的

调用该函数时系统临时决定的

在定义该函数时所指定的函数类型所决定的

第23题(分)

输出结果是()(注:

5353)

voidswap1(intc0[],intc1[])

{intt;

t=c0[0];

c0[0]=c1[0];

c1[0]=t;

voidswap2(int*c0,int*c1)

{intt;

t=*c0;

*c0=*c1;

*c1=t;

main()

{inta[2]={3,5},b[2]={3,5};

swap1(a,a+1);

swap2(&

b[0],&

b[1]);

%d%d%d%d\n"

a[0],a[1],b[0],b[1]);

3553

5335

3535

5353

第24题(分)

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

amovep(int*p,int(*a)[3],intn)

{inti,j;

for(i=0;

for(j=0;

j<

j++)

{*p=a[i][j];

p++;

{int*p,a[3][3]={{1,3,5},{2,4,6}};

p=(int*)malloc(100);

amovep(p,a,3);

%d%d\n"

p[2],p[5]);

free(p);

A)56

B)25

C)34

D)程序错误

第25题(分)

有以下函数:

fun(char*a,char*b)

{while((*a!

='

\0'

)&

(*b!

(*a==*b))

{a++;

b++;

return(*a–*b);

该函数的功能是(D).

计算a和b所指字符串的长度之差

将b所指字符串复制到a所指字符串中

将b所指字符串连接到a所指字符串后面

比较a和b所指字符串的大小

第26题(分)

fun(charp[][10])

{intn=0,i;

7;

if(p[i][0]=='

T'

)n++;

returnn;

{charstr[][10]={"

Mon"

"

Tue"

Wed"

Thu"

Fri"

Sat"

Sun"

};

fun(str));

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

第27题(分)

{charstr[][10]={"

China"

Beijing"

},*p=str;

%s\n"

p+10);

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

China

Beijing

ng

ing

第28题(分)

#definef(x)(x*x)

{inti1,i2;

i1=f(8)/f(4)i2=f(4+4)/f(2+2)

%d,%d\n"

i1,i2);

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

64,28

4,4

4,3

64,64

第29题(分)

结果是(A)

voidchange(intk[]){k[0]=k[5];

{intx[10]={1,2,3,4,5,6,7,8,9,10},n=0;

while(n<

=4){change(&

x[n]);

n++;

for(n=0;

n<

5;

n++)printf("

x[n]);

\n"

A)678910

B)13579

C)12345

D)62345

678910

13579

12345

62345

第30题(分)

在以下程序中,能够通过调用函数fun(),使main()函数中的指针变量p指向一个合法的整型单元的是(C).

int*p;

fun(p);

…}

intfun(int*p)

{ints;

p=&

s;

{int*p;

fun(&

…}

intfun(int**p)

*p=&

…}

intfun(int**p)

{*p=(int*)malloc

(2);

}…

fun(p);

intfun(int*p)

{p=(int*)malloc(sizeof(int));

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

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

【程序填空】

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

功能:

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

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

main()

{

intn,m;

floatgrade,average;

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

average=n=m=【】;

f%d\n"

average/n,m);

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

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

【程序改错】

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

首先把b所指字符串中的字符按逆序存放,然后将a所指字

符串中的字符和b所指字符串中的字符,按排列的顺序交叉

合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。

例如:

当a所指字符串中的内容为“abcdefg”,b所指字符串中的

内容为“1234”时,c所指数组中的内容应该为“a4b3c2d1

efg”;

而当a所指字符串中的内容为“1234”,b所指字符

串中的内容为“abcdefg”时,c所指数组中的内容应该为

“1g2f3e4dcba”。

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

voidfun(char*a,char*b,char*c)

inti,j;

charch;

i=0;

j=strlen(b)-1;

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

while(i>

j)//此处>

改为<

{

ch=b[i];

b[i]=b[j];

b[j]=ch;

i++;

j--;

while(*a&

*b)//此处&

改为||(逻辑或)

if(*a)

{

*c=*a;

c++;

a+;

//此处a++

if(*b)

*c=*b;

*c=0;

chars1[100],s2[100],t[200];

clrscr();

\nEnters1string:

"

%s"

s1);

\nEnters2string:

s2);

fun(s1,s2,t);

\nTheresultis:

%s\n"

t);

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

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

【程序设计】

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

判断一个整数w的各位数字平方之和能否被5整除,

可以被5整除则返回1,否则返回0。

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

#include"

#include"

intfun(intw)

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

ints=0,m=w;

while(m){s+=(m%10)*(m%10);

m/=10;

if(s%5==0)return1;

elsereturn0;

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

main()

intm;

Enterm:

m);

\nTheresultis%d\n"

fun(m));

yzj();

getch();

yzj()

FILE*IN,*OUT;

intc;

intt;

into;

IN=fopen("

r"

if(IN==NULL)

ReadFileError"

OUT=fopen("

w"

if(OUT==NULL)

WriteFileError"

}for(c=1;

c<

=5;

c++)

fscanf(IN,"

t);

o=fun(t);

fprintf(OUT,"

o);

fclose(IN);

fclose(OUT);

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

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

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

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