C2B卷.docx

上传人:b****5 文档编号:8161111 上传时间:2023-01-29 格式:DOCX 页数:13 大小:21.56KB
下载 相关 举报
C2B卷.docx_第1页
第1页 / 共13页
C2B卷.docx_第2页
第2页 / 共13页
C2B卷.docx_第3页
第3页 / 共13页
C2B卷.docx_第4页
第4页 / 共13页
C2B卷.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C2B卷.docx

《C2B卷.docx》由会员分享,可在线阅读,更多相关《C2B卷.docx(13页珍藏版)》请在冰豆网上搜索。

C2B卷.docx

C2B卷

专业班级学号姓名

………………………………………………………………………装订线…………………………………………………………………………

浙江科技学院

2007-2008学年第二学期考试试卷B卷

考试科目C语言程序设计考试方式闭卷完成时限2小时

拟题人审核人批准人2008年6月日

学院2007年级各理工科专业

题序

总分

得分

说明:

1.应将全部答案写在答卷纸对应的题号处;否则作无效处理;

2.编程题应写明题号,若答卷纸不够,请写在背面,不要另添卷纸;

3.考试完成后,必须将试卷与答卷同时交回。

一、判断题(12小题,每题1分,共12分;用√表示正确,用×表示错误)

1.用do_while语句构成循环时,只有在while后的表达式为非零时结束循环。

1

2.c程序的main函数可以有参数,也可以没有参数。

0

3.数组中的每个元素的数据类型不一定要求完全相同。

0

4.定义语句“charch[]={“china”};”和“charch[]={‘c’,’h’,’i’,’n’,’a’};”定义的两个字符数组是等价的。

0

5.else语句一定要与if语句配对使用,程序中else语句的个数一定小于或者等于if语句的个数。

1

6.C的编译预处理行以“#”开始,以“;”结束。

1

7.C语言中的数组下标从0开始,当引用数组元素超过所定义的范围,系统将会报告编译错误。

0

8.假设有语句inta[10]={1,2,3},*p;p=a;则p++完全等价于a++。

0

9.在调用函数时,如果实参是一个数组名,则向函数传送的是数组的首地址。

1

10.按格式符“%d”输出float类型变量时,截断小数位取整后输出。

1

11.函数的定义可以相互嵌套,但调用不能相互嵌套。

0

12.使用scanf函数输入浮点数时可以在格式控制字符串中规定小数点后的位数。

1

二、单选题(20小题,每题1分,共20分)

1.C语言中运算对象必需是整型的运算符是A。

A、%B、/C、!

D、*

2.while(D)等价于while(x)。

A、x==0B、x!

=0

C、x!

=1D、x==1

3.下列程序段的输出结果是B。

intk=1;

switch(k){

case1:

putchar('P');

case2:

case3:

putchar('Q');break;

case4:

putchar('R');

default:

putchar('S');

}

A、PB、PQC、PQRD、PQRS

4.若有以下程序段,其输出结果是A。

intc1=1,c2=2,c3;

c3=c1/c2

A、0B、1/2C、0.5D、1

5.判断char型变量c是否为大写字母的最简单且正确的表达是D。

A、’A’<=C<=’Z’

B、(C>=’A’)&(C<=’Z’)

C、(’A’<=C)AND(’Z’>=C)

D、(C>=’A’)&&(C<=’Z’)

6.下面B形式不表示二维数组a的第2行第3列元素的地址。

A、&a[2][3]B、*(a+2)+3C、a[2]+3D、*(a[2]+3)

7.C语言程序的三种基本结构是___D__。

(A)顺序,循环,函数(B)顺序,选择,循环

(C)选择,递归,循环(D)嵌套,选择,循环

8.若二维数组a每行有m列,则在元素a[i][j]前的元素个数为___C___。

A、j*m+iB、i*m+j-1C、i*m+j+1D、i*m+j

9.程序中如果调用了strlen()函数,必须包括头文件_C____。

A、math.hB、ctype.hC、string.hD、stdio.h

10.数组声明语句为“inta[6];”,输入数组所有元素的语句应为D

A、scanf("%d%d%d%d%d",a[6]);

B、for(inti=0;i<6;i++)scanf("%d",a+i);

C、for(inti=0;i<6;i++)scanf("%d",*a+i);

D、for(inti=0;i<6;i++)scanf("%d",a[i]);

11.下面程序段输出的结果是___A__。

voidmain()

{intx=-3;

do

{printf("%d\n",x+=2);

}while(!

(++x));

}

A、-1和2B、-1C、没有结果,是死循环D、-3和0

12.若有定义:

intx,*pb;则以下正确的赋值表达式是A

A、pb=&xB、pb=xC、*pb=xD、*pb=*x

13.设有整型变量a,b,c,其中a,b的值分别为10与20,计算表达式

"c=(a%2==0)?

a:

b"后,c的值为:

C

A、10B、5C、0D、20

14.为读写打开文本件a:

\aa.dat,下列语句中哪一个是正确的A

A、fp=fopen("a:

\\aa.dat","r+")B、fp=fopen("a:

\\aa.dat","a")

C、fp=fopen("a:

\aa.dat","w")C、fp=fopen("a:

\aa.dat","r")

15.下面程序段求两个数中的大数,不正确的是A。

A、max=x>y?

x:

y;B、if(x>y)max=x;elsemax=y;

C、max=x;D、if(y>=x)max=y;

if(y>=x)max=y;max=x;

16.写出下面程序段的输出结果是__C___。

#defineT18

#defineS(T+10)-8

printf("%d\n",S*2);

A、16B、12C、20D、18

17.下面关于文件打开方式说法正确的是__C____。

A、以“w”或“a”打开文件时,可以对该文件作写操作。

B、不能试图以“w”方式打开一个不存在的文件。

C、若以“a”方式打开一个不存在的文件,则会新建一个文件。

D、以“r+”方式打开的文件只能用于读。

18.将变量x=45.1234用语句printf("%5.3f",x);输出后的显示结果是___A__。

A、45.123B、5.123C、45.12D、5.1234

19.函数调用语句为f(a,b,(c,d)),这个函数的参数个数为____B_

A、2B、3C、4D、5

20.下面程序段输出的结果是___D__。

voidmain()

{

ints=0,t=0,u=0,i,j,k;

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

{for(j=1;j<=i;j++)

{for(k=j;k<=4;k++)

s++;

t++;

}

u++;

}

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

}

A、2311B、11112C、21111D、1132

三、程序填空题(12空,每空2分,共24分)

1.【程序说明】输入1个正整数n,计算并输出s的前n项的和。

s=1/2-2/3+3/4-4/5+……(-1)n-1n/(n+1)

【程序】

#include

voidmain()

{intk,flag=1,n;

floats=0;

scanf("%d",&n);

for(k=1;k<=n;k++){

s=s+___

(1)_B__;

___

(2)_C__;

}

printf("sum=%f\n",s);

}

(1)A、1.0*k/(k+1)*flagB、flag*n/(n+1)

C、-k/(k+1)D、1.0*k/(k+1)

(2)A、flag=-1B、s=-s

C、flag=-flagD、k=-k

2.【程序说明】下面程序是使用递减法求两自然数m、n的最大公约数。

【程序】

voidmain()

{intm,n,div;

printf(“EnterTwoNumbern,m=?

\n”);

scanf(“%d,%d”,&m,&n);

div=m;

if(n

while(m%div!

=0||n%div!

=0)

__(4)D_;

printf(“最大公约数=%d\n”,div);

}

(3)(A)div=0;(B)div=n;

(C){div=m;m=n;n=div;}(D)m=n;

(4)(A)div++;(B)++div;

(C)div--;(D)div=m-n;

3.【程序说明】输入2008个字符,用选择排序法将它们从大到小排序后输出。

【程序】

#include

voidsort(chara[],intn);

voidmain()

{int;chara[2008];

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

scanf("%c",&a[i]);

B(5);

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

printf("%c",a[i]);

printf("\n");

}

voidsort(D(6))

{inti,index,k,t;

for(i,=0;i,

index=D(7);

for(k=i,+1;k

if(C(8))index=k;

t=a[index];a[index]=a[i];a[i]=t;

}

}

(5)A、sort(a[],2008)B、sort(a,2008)

C、sort(a)D、sort(a[2008])

(6)A、chara,intnB、chara[]

C、char*a,int*nD、char*a,intn

(7)A、kB、0

C、nD、i

(8)A、a[i]a[index]

C、a[k]a[index]

4.【程序说明】以下fun函数的功能是将一个字符串的内容颠倒过来,请填空。

【程序】

#include

Voidfun(charstr[])

{inti,j,k;

For(i=0,j=(9)B;i

{k=str[i];str[i]=str[j];str[j]=k;}

}

(9)A、iB、strlen(str)

C、KD、i-1

(10)A、j++B、++j

C、j--D、i--

5.【程序说明】调用函数fx计算代数多项:

1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x,当x=1.7时的值。

【程序】

#include"stdio.h"

floatfx(----(7)----)B

{

floaty=a[0],t=1;inti;

for(i=1;i

----(8)----B

}

voidmain()

{

floatb[5]={1.1,2.2,3.3,4.4,5.5};

printf("%f\n",fx(1.7,b,5));

}

(11)A、floatx,floata[],intn

B、floatx,a[],intn

C、floata[],floatx,intn

D、floatn,floata[],intx

(12)A、returnt;B、returny;

C、returna;D、此处不需填写

四、程序阅读题(6小题,每题4分,共24分)

(认真阅读程序,写出程序运行结果,注意输出数据的格式)

1.以下程序运行后,输出结果是____C_______

voidmain()

{inti;

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

{if(i%2)printf(“*”);

Elsecontinue;

Printf(“#”);

}

Printf(“$\n”);

}

A、*#*#*#$B、*#*#*#

C、#*#*$D、*#$

2.以下程序运行后,输出结果是____D_______

voidmain()

{char*p;

chars[]=”ABCD”;

for(p=s;p

printf(“%s\n”,p);

}

A、ABCDB、ABCDC、ABCDD、A

BCDBCDB

CDCDC

DDD

3.以下程序运行后输入18,24,输出结果是________B___

#include"stdio.h"

voidmain()

{

intm,n,div;

printf("EnterTwoNumberm,n=?

\n");

scanf("%d,%d",&m,&n);

div=m;

if(n

div=n;

while(m%div!

=0||n%div!

=0)

div--;

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

}

A、7B、6C、18D、5

4.下面程序运行后输入a=13,b=5,c=7,输出结果是____C_______

#include

voidswap(int*pa,int*pb)

{

int*temp;

temp=pa;

pa=pb;

pb=temp;

}

voidmain()

{inta,b,c;

scanf("%d%d%d",&a,&b,&c);

if(a>b)

swap(&a,&b);

if(b>c)

swap(&b,&c);

if(a>b)

swap(&a,&b);

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

}

A、13,7,5B、13,5,7C、7,5,13D、7,13,5

5.以下程序运行后,输出结果是___D________

#include"stdio.h"

main()

{charch[10]={"1F87Rf123"};

inti,s=0;

for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)

s=s*10+ch[i]-'0';

printf("%d",s);}

A、6B、187123C、16D、18

6.以下程序运行后,输出结果是___A________

intsum(intb[],intn)

{

inti,s=0;

for(i=1;i

{

if(i%2==0)continue;

s=s+b[i];

}

return(s);

}

main()

{

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

x=sum(a,9);

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

}

A、20B、25C、45D、10

五、程序设计题(每题10分,共20分)

(注:

若答卷纸不够,请写在背面,不要另添卷纸)

1.编写一程序,从键盘输入20个字符,存放在数组str当中,将其中的大写字母转换成小写字母,并将大写字母的个数以整数形式写入到文本文件count.txt中。

2.编写一个判断整数是不是水仙花数的函数jfnum(intm),并通过调用该函数打印输入所有水仙花数。

说明:

所谓水仙花数是指一个3位自然数,其各位数字的立方和等于该数本身。

例如,153就是一个水仙花数,因为153=13+53+33。

 

专业班级学号姓名

………………………………………………………………………装订线…………………………………………………………………………

浙江科技学院

2007-2008学年第二学期考试试卷B卷

考试科目C语言程序设计考试方式闭卷完成时限2小时

拟题人审核人批准人2008年6月日

学院2007年级各理工科专业

题序

总分

得分

标准答案及评分标准

一、判断题(每题1分,共12分)

1

2

3

4

5

6

7

8

9

10

11

12

二、单选题(每题1分,共20分)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

三、程序填空题(每空2分,共24分)

1

2

3

4

5

6

7

8

9

10

11

12

四、程序阅读题(每题4分,共24分)

1

2

3

4

5

6

五、程序设计题(每题10分,共20分)

(注:

若答卷纸不够,请写在背面,不要另添卷纸)

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

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

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

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