C语言期末考试题8Word下载.docx

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

C语言期末考试题8Word下载.docx

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

C语言期末考试题8Word下载.docx

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

#include<

stdio.h>

voidmain()

/*Beginning*/

{intr;

floats;

scanf("

%d"

&

r);

s=p*r*r;

printf("

s=%f\n"

s);

}

出错的原因是(D).

注释语句书写位置错误

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

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

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

第4题(2.0分)

"

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

11

7

5

3

第5题(2.0分)

已知inti,a;

执行语句i=(a=2*3,a*5),a+6;

后,变量i的值是(C).

6

12

30

36

第6题(2.0分)

有以下程序:

{ints=0,a=1,n;

&

n);

do{

s+=1;

a=a–2;

}while(a!

=n);

%d\n"

s);

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

-1

-3

-5

第7题(2.0分)

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

{intn;

s=1.0;

for(n=10;

n>

1;

n––)s=s+1/n;

%6.4f\n"

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

s=1.0;

for(n=10;

n––)

s=s+1/n;

printf("

第8题(2.0分)

{inti,j,m=55;

for(i=1;

i<

=3;

i++)

for(j=3;

j<

=i;

j++)

m=m%j;

m);

程序的运行结果是(B)

1

2

第9题(2.0分)

第10题(2.0分)

设变量已正确定义并赋值,以下正确的表达式是(C).

x=y*5=x+z

int(15.8%5)

x=y+z+5,++y

x=25%5.0

第11题(2.0分)

以下程序执行后,sum的值是(C).

{inti,sum;

6;

i++)sum+=i;

sum);

15

14

不确定

第12题(2.0分)

运行以下程序后,如果从键盘上输入china#〈回车〉,则输出结果是(D).

{intv1=0,v2=0;

charch;

while((ch=getchar())!

#'

switch(ch)

{case'

:

case'

h'

o'

v2++;

default:

v1++;

}

%d,%d\n"

v1,v2);

2,0

5,0

5,5

5,2

第13题(2.0分)

有以下程序段:

intk=0;

while(k=1)k++;

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

无限次

有语法错误,不能执行

1次也不执行

执行1次

第14题(2.0分)

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

{inty=10;

y––;

}while(––y);

y––);

8

第15题(2.0分)

以下能正确定义一维数组的选项是(B).

intnum[];

#defineN100intnum[N];

intnum[0..100];

intN=100;

intnum[N];

第16题(2.0分)

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

{inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

3;

for(j=0;

j++)s+=a[i][j];

18

19

20

21

第17题(2.0分)C

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

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

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

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

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

第18题(2.0分)

以下对一维数组a的正确定义是(D).

inta(10)

intn=10,a[n];

intn;

scanf("

inta[n];

#defineSIZE10

inta[SIZE]

第19题(2.0分)

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

for(i=0;

12;

i++)c[s[i]]++;

5;

i++)printf("

c[i]);

\n"

);

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

1234

2344

4332

1123

第20题(2.0分)

fun(intx,inty)

{

return(x+y);

main()

{

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

sum=fun((a++,b++,a+b),c++);

执行后的输出结果是B

9

第21题(2.0分)

voidfun(inta,intb,intc)

a=456;

b=567;

c=678;

intx=10,y=20,z=30;

fun(x,y,z);

%d,%d,%d"

x,y,z);

运行后输出结果是B

30,20,10

10,20,30

456,567,678

678,567,456

第22题(2.0分)

inta=1;

intf(intc)

staticinta=2;

c=c+1;

return(a++)+c;

intk=0,i;

for(i=0;

i<

2;

i++){inta=3;

k+=f(a);

k+=a;

k);

程序运行后的输出结果是A

16

17

第23题(2.0分)

intfun(intx[],intn)

{staticintsum=0,i;

n;

i++)sum+=x[i];

returnsum;

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

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

45

50

60

55

第24题(2.0分)

若有以下定义和语句:

ints[4][5],(*ps)[5];

ps=s;

则对s数组元素的正确引用形式是(C).

ps+1

*(ps+3)

ps[0][2]

*(ps+1)+3

第25题(2.0分)

#include<

voidss(char*s,chart)

{while(*s)

{if(*s==t)*s=t–'

+'

;

s++;

{charstr1[100]="

abcddfefdbd"

c='

d'

ss(str1,c);

%s\n"

str1);

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

ABCDDEFEDBD

abcDDfefDbD

abcAAfefAbA

Abcddfefdbd

第26题(2.0分)

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

string.h>

voidfun(char*w,intn)

{chart,*s1,*s2;

s1=w;

s2=w+n–1;

while(s1<

s2)

{t=*s1++;

*s1=*s2––;

*s2=t;

{char*p;

p="

1234567"

fun(p,strlen(p));

puts(p);

1234567

7654321

1711717

7177171

第27题(2.0分)

语句printf("

a\bre\'

hi\'

y\\\bou\n"

的输出结果是(C).

y\\\bou

y\bou

re'

hi'

you

abre'

第28题(2.0分)

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

#include"

stdio.h"

#defineM(x,y)x%y

main()

{inta,m=12,n=100;

a=M(n,m);

a––);

4

第29题(2.0分)

不合法的main()函数命令行参数表示形式是(C).

main(inta,char*c[])

main(intarc,char**arv)

main(intargc,char*argv)

main(intargv,char*argc[])

第30题(2.0分)

若有说明:

inti,j=2,*p=&

i;

则能完成i=j赋值功能的语句是(B).

i=*p;

*p=*&

j;

i=&

i=**p;

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

第1题(10.0分)

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

【程序填空】

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

功能:

输入3个数a,b,c,按从小到大的顺序输出。

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

voidswap(int*p1,int*p2);

intn1,n2,n3;

int*pointer1,*pointer2,*pointer3;

pleaseinput3number:

n1,n2,n3:

n1,&

n2,&

n3);

pointer1=&

n1;

pointer2=&

n2;

pointer3=&

n3;

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

if(【?

】)swap(pointer1,pointer2);

】)swap(pointer1,pointer3);

】)swap(pointer2,pointer3);

thesortednumbersare:

%d,%d,%d\n"

n1,n2,n3);

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

voidswap(【?

】)

int*p1,*p2;

intp;

p=*p1;

*p1=*p2;

*p2=p;

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

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

【程序改错】

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

求出两个非零正整数的最大公约数,并作为函数值返回。

例如:

若给num1和num2分别输入49和21,则输出的最大公约数为7。

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

intfun(inta,intb)

intr,t;

if(a<

b)

{

t=a;

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

b=a;

a=t;

r=a%b;

while(r!

=0)

a=b;

b=r;

r=a/b;

returna;

intnum1,num2,a;

%d%d"

num1,&

num2);

a=fun(num1,num2);

themaximumcommondivisoris%d\n\n"

a);

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

第1题(20.0分)

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

【程序设计】

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

编写函数判断一个整数m的各位数字之和能否被7整除,

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

调用该函数找出

100~200之间满足条件的所有数。

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

intsub(intm)

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

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

inti;

for(i=100;

=200;

if(sub(i)==1)

%4d"

i);

yzj();

getch();

yzj()

FILE*IN,*OUT;

intn;

inti[10];

into;

IN=fopen("

in.dat"

"

r"

if(IN==NULL)

ReadFileError"

OUT=fopen("

out.dat"

w"

if(OUT==NULL)

WriteFileError"

for(n=0;

n<

10;

n++)

{

fscanf(IN,"

i[n]);

o=sub(i[n]);

fprintf(OUT,"

o);

fclose(IN);

fclose(OUT);

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

当前位置:首页 > 职业教育 > 职高对口

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

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