2010-2011年度_期末考试B卷(8页)

发布时间:

厦门理工学院试卷
20102011学年1学期
出卷负责人__审核人______打印审核人_________

试卷
课程名称
C语言程序设计基础(A级)
AB闭卷开卷
卷别考试方式
所有软件专业2010班级全部
线
本试卷共大题(8,满分100分,考试时间120分钟。请在答题纸上作答,在试卷上作答无效。
一、单选题:(本题共20小题,每题1分,共20分)
1.下列说法中正确的是
AC程序书写时,不区分大小写字母BC程序书写时,一行只能写一个语句CC程序书写时,一个语句可分成几行书写DC程序书写时每行必须有行号
2.以下四项中属于C语言关键字的是
ACHARBMAXCunsignedDsum3.下列选项中,正确的字符常量是__________
AaB\\C\\nD376_
4.C语言中,引用数组元素时,其数组下标的数据类型允许是
A)整型常量B)整型表达式C)整型常量或整型表达式C)任何类型的表达式5.下面选项中,均是不合法的用户标识符的选项是
ABAx_0doBfloat1a0_YCx-ygoto123D_123tmpCHAR

18

6.以下正确的说法是
A)用户若需要调用标准库函数,调用前必须重新定义
B)用户可以重新定义标准库函数,如若此,该函数将失去原有定义C)系统不允许用户重新定义标准库函数
D)用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。
7.intk=7,x=12;则能使值为3的表达式是
Ax%=(k%=5Bx%=(kk%5Cx%=kk%5D(x%=k(k%=58.以下合法的赋值语句是
Ax=y=100Bd――Cx+yDc=int(a+b
9.intx,y;doublez;以下不合法的scanf函数调用语句是
Ascanf(%d%lx,%le,&x,&y,&z;Bscanf(%2d*%d%lf,&x,&y,&z;Cscanf(%x%*d%o,&x,&y;Dscanf(%x%o%6.2f,&x,&y,&z;
10.逻辑运算符两侧运算对象的数据类型
A)只能是01B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据
11.能正确表示“当x的取值在[1,10][200,210]范围内为真,否则为假”的表达式是A(x>=1&&(x<=10&&(x>=200&&(x<=210B(x>=1||(x<=10||(x>=200||(x<=210C(x>=1&&(x<=10||(x>=200&&(x<=210D(x>=1||(x<=10&&(x>=200||(x<=21012.以下程序段的循环次数是for(i=2;i==0;printf(%d,i--;A)无限次B0C1D2
28

13.以下程序片段main(
{intx=0,y=0,z=0;
if(x=y+z
printf(***;
else
printf(###;}
A)有语法错误,不能通过编译B)输出:***
C)可以编译,但不能通过连接,所以不能运行D)输出:###14.以下不是死循环的语句是Afor(y=9,x=1;x>++y;x=i++i=x;Bfor(;;x++=i;Cwhile(1{x++;}Dfor(i=10;;i--sum+=i;
15.若有定义:inta[10],则对数组a元素的正确引用是
Aa[10]Ba[3.5]Ca(5Da[10-10]16.C语言的switch语句中,case
A)只能为常量
B)只能为常量或常量表达式
C)可为常量表大式或有确定值的变量及表达式D)可为任何量或表达式
17.C语言规定,函数返回值的类型是由
Areturn语句中的表达式类型所决定B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定
D)在定义该函数时所指定的函数类型所决定
38

18.若有以下函数调用语句:
fun(a+b,(x,y,fun(n+k,d,(a,b;在此函数调用语句中实参的个数是A3B4C5D619.以下程序的输出结果是intf(
{staticinti=0;ints=1;s+=i;i++;returns;}main({inti,a=0;
for(i=0;i<5;i++a+=f(;printf("%d\n",a;}
A20B24C25D1520.下面程序的输出结果是intm=13;
intfun2(intx,inty{intm=3;return(x*y-m;}main({inta=7,b=5;
printf("%d\n",fun2(a,b/m;}
A1B2C7D10
48
线


二、填空题:(本题共10小题,每题2分,共20分)
1.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字
符必须为
2.a=2,b=3,x=3.5,y=2.5,(float(a+b/2+(intx%(inty


3.aint型变量,则表达式(a=4*5,a*2,a+6的值为4.复合语句是用一对界定的语句块。
5.x,y,z均为int型变量;写出描述x,yz中有两个为负数C语言表达
式:
线
6.执行以下程序段后,a=
intx=10,y=9;inta,b,c;
a=(x--==y++?x--:y++;b=x++;c=y;7.程序段
for(a=1,i=-1;-1
{a++;printf(%2d,a;};printf(%2d,i;
的运行结果是
8.若有定义:doublex[3],x数组中下标的下限为9.C语言函数返回类型的默认定义类型是
10.在一个C程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变
量,则该变量需要定义的存储类别为

58

三、判断题:(本题共10小题,每题1分,共10分)
1.main函数必须写在一个C程序的最前面。2.C程序的注释只能是一行。
3.C程序中对用到的所有数据都必须指定其数据类型。
4.自增运算符(++或自减运算符(--只能用于变量,不能用于常量或表达式(5.条件表达式可以取代if语句,或者用if语句取代条件表达式。6.for循环的三个表达式可以任意省略,while,do-while也是如此(7.C语言是一种结构化程序设计语言。
8.在标准C语言中,程序的编译是以函数为单位而不是以源程序为单位的。9.在标准C语言中,数组的下标必须是常量,不允许是表达式。
10.若函数的返回值与return表达式类型不一致时,以return表达式类型为准。
68

四、程序改错题:(本题共1小题,5个错误,一个错误2分,共10分)
下面程序实现从键盘输入一个整数n,,求1加到n的和。该程序有5处错误,导致程序无法编译或无法得出正确结果。
请指出错误所在行号,并给出正确的代码1.include2.longsum(intn3.{4.inti;5.longs;
6.for(i=1;i<=n;i++7.
s+=i;
8.returns;9.}10.main11.{12.intn;
13.scanf("%d",n;
14.printf("%d!=%d\n",n,sum(n;15.}
78

五、编程题:(本题共3小题,分值见各题,共40分)
1.编程实现:从键盘输入一个正整数,判断它是否为偶数,偶数显示yes,奇数
显示no10分)
2.编程实现:从键盘输入一个正整数n,写函数求n的阶乘。(15说明:i.
线

88
要求使用自定义函数,函数调用实现。
3.编程实现:从键盘输入12个整数,组成34列的二元数组,转置矩阵,屏
幕上输出43列的矩阵。15分)


2010-2011年度_期末考试B卷(8页)

相关推荐