18春西安交通大学18年5月补考《程序设计基础》作业考核试题答案满分答案
西安交通大学18年5月补考《程序设计基础》作业考核试题-0001
试卷总分:100 得分:0
一、 单选题 (共 30 道试题,共 60 分)
1.关于return语句,下面说法错误的是( )
A.它的功能是将表达式的值作为函数的返回值返回
B.函数中可以有多个return语句,执行到哪个就从那一个return语句返回
C.return可以返回多个值
D.return(表达式)语句中的表达式值的类型应与定义函数时函数的类型一致
正确选项:----
正确选项:----
2.以下程序的输出结果是 ( )
long fun( int n)
{ long s;
if(n= =1 || n= =2)
s=2;
else
s=n-fun(n-1);
return s;
}
main()
{ printf(“%ld ”, fun(3)); }
正确答案:----
正确答案:----
A.1
B.2
C.3
D.4
正确答案:----
正确选项:----
3.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。
A.int
B.float
C.double
专业答案:----
专业答案:----
D.不确定
专业答案:----
正确选项:----
4.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。
A.地址传递
B.单向值传递
C.由实参传给形参,再由形参传回实参
D.传递方式由用户指定
正确选项:----
正确选项:----
5.以下叙述正确的是()。
A.在C程序中,main函数必须位于程序的最前面
B.C程序的每行中只能写一条语句
C.C语言本身没有输入输出语句
D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误
正确选项:----
正确选项:----
6.以下叙述中正确的是( )
A.C程序中注释部分可以出现在程序中任意合适的地方
B.花括号"{"和"}"只能作为函数体的定界符
C.构成C程序的基本单位是函数,所有函数名都可以由用户命名
D.分号是C语句之间的分隔符,不是语句的一部分
正确答案:----
专业答案:----
7.关于链表,下列说法错误的是( )
A.链表是动态分配的一种结构,它根据需要开辟内存单元
B.链表有头指针变量head,它是链表的第一个结点
正确选项:----
专业答案:----
C.如果要在链表中增加新的结点,需要申请存储空间
D.如果不再使用链表,则应释放所占的存储空间
正确选项:----
专业答案:----
8.以下的选择中,正确的赋值语句是()。
A.a=1,b=2
B.j++
C.a=b=5;
D.y=int(x)
专业答案:----
正确答案:----
9.以下对C语言函数的描述中,正确的是()。
A.C程序必须由一个或一个以上的函数组成
B.C函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.C程序中有调用关系的所有函数必须放在同一个程序文件中
正确答案:----
专业答案:----
10.有以下程序
main()
{ int a[][3]={{1,2,3},{4,5,0}},{*pa}[3],i;
pa=a;
for(i=0;i<3;i++)
if(i<2) pa[1][i]=pa[1][i]-1;
else pa[1][i]=1;
printf("%d ",a[0][1]+a[1][1]+a[1][2]);
正确选项:----
正确选项:----
}
执行后输出结果是( )。
A.7
B.6
C.8
D.无确定值
正确答案:----
专业答案:----
11.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指
A.模块间的关系
B.系统结构部件转换成软件的过程描述
C.软件层次结构
D.软件开发过程
正确答案:----
专业答案:----
12.有定义语句:int x, y;,若值11,变量y得到数值12,下面四组输入要通过scanf("%d,%d",&x,&y);语句使变量x得到数形式中,错误的是( )
正确答案:----
正确答案:----
A.11 12<回车>
B.11, 12<回车>
C.11,12<回车>
D.11,<回车>12<回车>
正确选项:----
专业答案:----
专业答案:----
正确选项:----
13.下面程序的运行结果是
#include
正确选项:----
正确答案:----
正确选项:----
正确选项:----
正确选项:----
正确答案:----
main()
{ int y=10;
do
正确选项:----
正确答案:----
正确选项:----
正确选项:----
{y--;}while(--y);
printf("%d\n",y--);
正确选项:----
正确答案:----
}
A.-1
B.1
C.8
D.0
正确选项:----
正确答案:----
14.以下程序的运行结果是()。main(){int i=1,sum=0;while(i<10)sum=sum+1;i++;printf("i=%d,sum=%d",i,sum);}
专业答案:----
专业答案:----
A.i=10,sum=9
B.i=9,sum=9
C.i=2,sum=1
D.运行出现错误
正确答案:----
正确选项:----
15.以下程序的输出结果是( )int f(){static int i=0;int s=1;s+=i; i++;return s;}main(){ int i,a=0;for(i=0;i<5;i++) a+=f();printf("%d ",a);}
正确答案:----
正确选项:----
A.20
B.24
C.25
D.15
正确选项:----
正确选项:----
16.以下叙述中错误的是()。
A.二进制文件打开后可以先读文件的末尾,而顺序文件不可以
B.在程序结束时,应当用fclose函数关闭已打开的文件
C.在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据
专业答案:----
专业答案:----
D.不可以用FILE定义指向二进制文件的文件指针
专业答案:----
正确选项:----
17.以下选项中可作为C语言合法整数的是( )
A.10110B
B.0386
C.0Xffa
D.x2a2
正确答案:----
专业答案:----
18.若k为int型变量,则以下程序段的执行结果是()。k=-8567;printf("|%06D| ",k);
正确选项:----
正确选项:----
A.格式描述符不合法,输出无定值
B.输出为|%06D|
正确答案:----
正确答案:----
C.输出为|0-8567|
D.输出为|-8567|
正确选项:----
正确答案:----
19.include
main()
{ int a=1,b=10;
do
{b-=a;a++;}while(b--<0);
printf("a=%d,b=%d\n",a,b);
专业答案:----
正确答案:----
}
A.a=3,b=11
B.a=2,b=8
C.a=1,b=-1
D.a=4,b=9
正确答案:----
专业答案:----
20.下面有关for循环的正确描述是()。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
正确答案:----
正确答案:----
21.下列四个选项中,均是C语言关键字的选项是()。
A.auto、enum、include
B.switch、typedef、continue
正确答案:----
正确答案:----
C.signed、union、scanf
正确选项:----
正确答案:----
D.if、struct、type
正确选项:----
专业答案:----
22.关于数组,下列说法正确的是( )
A.对数组的初始化操作在定义数组的同时进行
B.给数组赋初值时,必须所有数组元素都被赋值
C.给数组元素全部赋初值时,一定要指明数组的大小。
D.引用数组元素的时候,可以一次引用数组中的全部元素
专业答案:----
正确答案:----
23.下列运算符优先级最高的是( )
A.&&
B.>
C.++
D.!
正确选项:----
正确答案:----
24.函数的形式参数隐含的存储类型说明是()。
A.extern
B.static
C.register
D.auto
正确答案:----
专业答案:----
25.能将高级语言编写的源程序转换为目标程序的软件是( )
A.汇编程序
B.编辑程序
C.解释程序
D.编译程序
专业答案:----
专业答案:----
26.表示关系x<=y<=z的c语言表达式为 ( )
A.(X<=Y)&&(Y<=Z)
B.(X<=Y)AND(Y<=Z)
正确选项:----
正确选项:----
C.(X<=Y<=Z)
D.(X<=Y)&(Y<=Z)
专业答案:----
正确答案:----
27.若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是( )
A.p=2*(int*)malloc(sizeof(int));
B.p=(int*)malloc(2*sizeof(int));
C.p=(int*)malloc(2*2);
D.p=(int*)calloc(2,sizeof(int));
专业答案:----
正确选项:----