西安交通大学习题答案程序设计基础答案.docx
- 文档编号:9058289
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:35
- 大小:30.36KB
西安交通大学习题答案程序设计基础答案.docx
《西安交通大学习题答案程序设计基础答案.docx》由会员分享,可在线阅读,更多相关《西安交通大学习题答案程序设计基础答案.docx(35页珍藏版)》请在冰豆网上搜索。
西安交通大学习题答案程序设计基础答案
《程序设计基础》习题一答案
一、单项选择题(本大题共20小题,每小题2分,共40分)l.inta[10];合法的数组元素的最小下标值为()。
A:
10
B:
9
C:
1
D:
0
答案:
D
2•以下运算符中优先级最低的是()。
A:
&&
B:
&
C:
||
D:
|
答案:
C
3.若使用一维数组名作函数实参,则以下正确的说法是()。
A:
必须在主调函数中说明此数组的大小
B:
实参数组类型与形参数组类型可以不匹配
C:
在被调用函数中,不需要考虑形参数组的大小
D:
实参数组名与形参数组名必须一致
答案:
A
4.已知函数的调用形式:
fiead(buffer,size,count,fp);其中buffer
代表的是()。
扎一个整数,代表要读入的数据项总数
B:
—个文件指针,指向要读的文件
C:
—个指针,指向要读入数据的存放地址
D:
—个存储区,存放要读的数据项
答案:
C
5.对以下说明语句inta[10]={6,7,8,9,10};的正确理解是()。
A:
将5个初值依次赋给a[l]至a[5]
B:
将5个初值依次赋给a[0]至a[4]
C:
将5个初值依次赋给a[6]至a[10]
D:
因为数组长度与初值的个数不相同,所以此语句不正确答案:
B
6•下列程序的输出结果是()。
maiiiO
{iiitx=l、y=O,a=O,b=O;
switch(x)
{
casel:
switch(y)
{
caseO:
a++;break;
case1:
b++;break;
}
2:
a++;b++;break;case
case3:
a++;b++;break;
}
priiitf(a=%d,b=%d\n,a,b);
}
A:
a=l,b=O
B:
a=2,b=l
C:
a=l,b=l
D:
a=2,b=2
B
答案:
下列程序的输出结果为()7.omain()
{intm=7,n=4;
a=38.4,b=6.4,x;float
x=m/2+n*a/b+l/2;
}
A:
27.000000
B:
27.500000
C:
28.000000
D:
2&500000
答案:
a
8.若k为int型变量,则以下程序段的执行结果是()。
k=-8567;priiitf(|D|\ii,k);
A:
格式描述符不合法,输出无定值
B:
输出为|D|
C瀚出为|0-8567|
D:
输岀为|-8567|
答案:
B
9•下Tj程序段的输出结果为()。
iiitx=3,y=2;
printf(%d,(x・=y,x*=y+8/5));
A:
1
B:
7
C:
3
D:
5
答案:
C
10.chara[]=Tliisisaprogram;输岀前5个字符的语句是()。
A:
priiitf(%.5s,a);
B:
puts(a);
C:
priiitf(%s,a);
D:
a[5*2]=0;puts(a);
答案:
A
11.下列程序的输出结果是()。
maiiiO
{charcl=97,c2=98;
priiitf(%d%c,cl,c2);
}
A:
9798
B:
97b
C:
a98
D:
ab
答案:
B
12•衣下选项中合法的实型常数是()。
A:
5E2.0
B:
E-3
C:
.2E0
D:
1.3E
答案:
C
13.C语言中的文件类型只有()。
A:
索引文件和文本文件两种
B:
ASCII文件和二进制文件两种
C:
文本文件一种
D:
二进制文件一种
答案:
B
14•以下叙述不正确的是()。
A:
—个C源程序可由一个或多个函数组成
B:
—个C源程序必须包含一个main函数
c:
c程序的基本组成单位是函数
D:
在C程序中,注释说明只能位于一条语句的后面答案:
D
15.以下运算符中,优先级最高的运算符是()。
A:
||
B:
%
C:
!
D:
=
答案:
C
16•寂行以下程序段后,输出结果和a的值是()。
iiita=10;
priiitf(%d,a++);
A:
10和10
B:
10和11
C:
ll和10
D:
ll和11
答案:
B
17.胡正确表示逻辑关系:
a>10或aW腫的C语言表达式是()。
A:
a>=10ora<=0
B:
a>=0|aV=10
C:
a>=10&&a<=0
D:
a>=10IIa<=0
答案:
D
1&以下叙述中错误的是()o
A:
二进制文件打开后可以先读文件的末尾,而顺序文件不可以
B:
在程序结束时,应当用fclose函数关闭已打开的文件
C:
在利用仏ad函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据
D:
不可以用FILE定义指向二进制文件的文件指针
答案:
D
19•卡列程序段的输出结果为()。
floatk=0.8567;
printf(.1d%%,k*100);
A:
0085.6%%
B:
0085.7%
C:
0085.6%
D:
.857
答案:
B
20•若有int*p=(int*)malloc(sizeof(int));则向内存申请到内存空间存入整数123的语句为()。
A:
scaiif(%d,p);
B:
scaiif(%d,&p);
C:
scaiif(%d,*p);
D:
scaiif(%d,**p);
答案:
A
21•经过下列的语句intj,a[10],*p;定义后,下列语句中合法的是()。
A:
p=p+2;
B:
p=a[5];
C:
p=a[2]+2;
D:
p=&(j+2);
答案:
A
22•衣下对二维数组a的正确说明是()。
A:
iiita[3][]
B:
floata(3,4)
C:
doublea[l][4]
D:
floata(3)(4)
答案:
C
23•经下列语句定义后,sizeof(x)tsizeof(y),sizeof(a),sizeof(b)在微机上的值分别为()。
charx=65;
floaty=7.3;
iiita=100;
doubleb=4.5;
A:
2,2,2,4
B:
1,2,2,4
C:
1A2,8
D:
2,4,2,8
答案:
c
24•以下叙述中不正确的是()。
A:
—个好的程序应该有详尽的注释
B:
在C程序中,赋值运算符的优先级最低
C:
在C程序中,j++;是一条赋值语句
D:
C程序中的^include和#define均不是C语句
答案:
B
25•应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。
A:
fclose()
B:
close()
C:
fiead()
D:
f\vrite
答案:
A
26.staticstmct{iiital;floata2;chara3;}a[10]={l,3・5,A°};
说明数组a是地址常量,它有10个结构体型的下标变量,釆用静态存储方式,其中被初始化的下标变量是()。
A:
a[l]
B:
a[-1]
C:
a[0]
D:
a[10]
答案:
c
27.羸数的形式参数隐含的存储类型说明是()。
A:
extern
B:
static
Cregister
D:
auto
答案:
d
28・丘将C源程序存在磁盘上,还可将数据按数据类型分别以什么的
形式存在磁盘上()<>
A:
内存
B:
缓冲区
C:
文件
D:
寄存器
答案:
C
29•若用数组名作为函数的实参,传递给形参的是()。
A:
数组的首地址
B:
数组第一个元素的值
C:
数组中全部元素的值
D:
数组元素的个数
答案:
A
30.doublex;scanf(%lf,&x);不可以赋值给x变量的常量是()。
A:
123
B:
100000
C:
A*
D:
abc
答案:
D
31•以下的选择中,正确的赋值语句是()。
A:
a=l,b=2
B:
j++
C:
a=b=5;
D:
y=int(x)
答案:
C
32•要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是()。
A:
fopen(A:
%usei^abc.txt,
)
B:
fopen(A:
\%user\\abc.txt,
+)
C:
fopen(A:
%user\abc.txt,
b)
D:
fopen(A:
\%user\\abc.txt,w)
答案:
B
33•与实际参数为实型数组名相对应的形式参数不可以定义为()。
A:
floata[];
B:
float*a;
C:
floata;
D:
float(*a)[3];
答案:
c
34.云是函数中未指定存储类别的局部变量,其隐含的存储类别为()。
A:
自动(auto)
B:
静态(static)
C:
外部(extern)
D:
寄存器(register)
答案:
A
35•下面有关for循环的正确描述是()。
A:
for循环只能用于循环次数已经确定的情况
B:
for循环是先执行循环循环体语句,后判断表达式
C:
在for循环中,不能用break语句跳出循环体
D:
for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:
D
36•下列语句的结果是()。
maiiiO
j=3;
priiitf(%d„++j);
priiitf(%dj++);
}
A:
3,3
B:
3,4
C:
4,3
D:
4,4
答案:
D
37.寂行下列程序后,其输出结果是()。
maiiiO
{inta=9;
a+=a・=a+a;
}
A:
18
B:
9
C:
-18
D:
-9
答案:
c
38•衣下函数调用语句中实参的个数是()。
Rmc((el,e2),(e3,e4,e5));
A:
2
B:
3
C:
5
D:
语法错误
答案:
A
39•卡列四个选项中,均是C语言关键字的选项是()。
A:
autoenuminclude
B:
switcht^pedefcontinue
C:
signedunionscanf
D:
ifstmcttype
答案:
B
40•下列数组说明中,正确的是()。
A:
staticcharstr[]=Chiiia;
B:
staticcharstr[];str=China;
C:
staticcharstr1[5],str2[]={China};strl=str2;
D:
staticcharstr1[],str2[];str2={China};strq>y(stil,str2);
A答案:
o41.C语言中,要求运算数必须是整型的运算符是()A-
B:
%
C:
!
D:
>
B
答案:
42•以下不能正确定义二维数组的选项是()。
};
B:
inta[][2]={l,2,3,4};
C:
inta[2][2]={{l},23};
4}};
答案:
D
43.设intx=l,y=l;表达式(!
x||y-・)的值是()。
A:
0
B:
1
C:
2
D:
-l
答案:
B
44•下列选项中正确的语句组是()。
A:
chars[8];s={Beijing};
B:
char*s;s={Beijmg};
C:
cliars[8];s=Beijing;
D:
char*s;s=Beijiiig;
答案:
D〜
45•若有inta[10]={0丄234,5,6,7,&9},*p=a;贝ij输岀结果不为5的语句为()。
A:
priiitf(%d,*(a+5));
B:
pnntf(%d,p[5]);
C:
pi4ntf(%d,*(p+5));
D:
priiitf(%d,*p⑸);
答案:
D
46•哦变量a是整型,f是实型,i是双精度型,则表达式10+Q+i*f值的数据类型为()。
B:
float
C:
double
D:
不确定
答案:
C
47•以下叙述正确的是()。
A:
在C程丿了;中,main函数必须位于程序的最前面
B:
C程序的每行中只能写一条语句
C:
C语言本身没有输入输出语句
D:
在对一个C程序进行编译的过程中,可发现注释中的拼写错误答案:
C
48.inta=l,b=2,c=3;
if(a>b)a=b;
if(a>c)a=c;
则a的值为()o
A:
1
B:
2
C:
3
D:
不一定
答案:
A
49.C语言中,定义结构体的保留字是()。
A:
union
B:
struct
C:
enum
D:
typeciuf
答案:
B
50•应辑运算符两侧运算对象的数据类型()。
A:
只能是0或1
B:
只能是0或非0正数
C:
只能是整型或字符型数据
D:
可以是任何类型的数据
答案:
D
51•以下叙述中正确的是()。
A:
C语言的源程序不必通过编译就可以直接运行
B:
C语言中的每条可执行语句最终都将被转换成二进制的机器指令
c:
c源程序经编译形成的二进制代码可以直接运行
D:
C语言中的函数不可以单独进行编译
52.下列程序的输出结果是()。
maiiiO
{iiitx=l、y=O,a=O,b=O;
switcli(x)
{
casel:
switch(y)
{
caseO:
a++;break;
case1:
b++;break;
}
case2:
a-H-;b-H-;break;
case3:
a++;b++;break;
}
priiitf(a=%d,b=%d\n,a,b);
}
A:
a=hb=O
B:
a=2,b=l
C:
a=l,b=l
D:
a=2,b=2
答案:
B
53•若二维数组a有m列,则在前的元素个数为()。
B:
i*m+j
C:
i*m+j-l
D:
i*m巧+1
答案:
B
54.用下列语句定义a,b,c,然后执行b=a、c"+b,则b,c的值是()。
longa=Oxffifif;
iiitb;charc;
A:
0fffiff和0x61
B:
-l和98
C:
-l和97
D:
指向同一地址
答案:
c
55.在调用函数时,如果实参是简单变量,它与对应形参之间的数据
传递方式是()。
A:
地址传递
B:
单向值传递
C:
山实参传给形参,再山形参传回实参
D:
传递方式由用户指定
答案:
B
56•衣下数值中,不正确的八进制数或十六进制数是()。
A:
0xl6
B:
16
C:
-16
D:
0xaaaa
答案:
C
57•以下运算符中,优先级最高的运算符是()。
A:
*=
B:
>=
C:
(类型)
D汁
答案:
C
58•衣下选项中,与k=n卄完全等价的表达式是()。
A:
k=n,n=n+1
B:
n=n+l,k=n
C:
k=^+n
D2=n+]
答案:
A
59•结构体类型的定义允许嵌套是指()。
A:
成员是已经或正在定义的结构体型
B:
成员可以重名
C:
结构体型可以派生
D:
定义多个结构体型
答案:
A
60•用户定义的函数不可以调用的函数是()。
A:
非整型返回值的
B:
本文件外的
C:
maiii函数
D:
本函数下面定义的
答案:
c
二.多选题(本大题共20小题,每小题2分,共40分)
1•以下对C语言中的函数描述不正确的有()。
A:
可以嵌套定义,不可以嵌套调用
B:
不可以嵌套定义,可以嵌套调用
C:
可以嵌套定义,也可以嵌套调用
D:
嵌套定义和嵌套调用都不允许
答案:
ACD
2.以下叙述正确的是()。
A:
预处理命令行都必须以?
开始
B:
在程序中凡是以?
开始的语句行都是预处理命令行c:
c程序在执行过程中对预处理命令行进行处理D:
#defineABCD是正确的宏定义
答案:
ABD
3.以下描述错误的是()。
A:
continue语句的作用是重新开始一次循环体的执行B:
只能在循环体内和switch语句体内使用break语句
C:
在循环体内使用break语句和continue语句的作用相同
D:
从多重循环嵌套中退出是,只能使用got。
语句
答案:
CD
4.有定义语句:
intx,y;若要通过scanf(%d,%d,&x,&y);
语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的有()。
A:
ll12〈回车〉
B:
ll,<空格>12<回车〉
C:
ll,12〈回车〉
D:
ll,<回车〉12〈回车>
答案:
BCD
5.让下合法的十六进制数是()。
A:
oxff
B:
OXabc
C:
0x01
D:
0X9X
答案:
BC
6・以下描述正确的是()。
A:
调用函数时,实参可以是表达式
B:
调用函数时,实参与形参可以共用内存单元
C:
调用函数时,将为形参分配内存单元
D:
调用函数时,实参与形参的类型必须一致答案:
ACD
7.以下选项中合法的表达式是()。
A:
0<=x<100
B:
i二j=0
C:
(char)(65+3)
D:
x+1二x+1
答案:
ABC
8.设有以下定义
inta=0;
doubleb二1.25;charc二'A';
#defined2
则下面语句中正确的是()。
A:
a++;
B:
b++;
C:
c++;
D:
d卄;答案:
ABC
9•以下对二维数组a进行正确初始话的是()。
A:
staticcharword[]
B:
staticcharword[]
C:
staticcharword[]
D:
staticcharword匚
'Turbo\0‘;
{Turbo\0};Turbo\0;
答案:
BCD
10•符合C语言语法的实型常量是()。
A:
l.2E0.5
B:
3.14.159E
C:
.5E-3
D:
E15
答案:
ABD
11•若/b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是()。
A:
a=b=c=d=100;
B:
d++;
D:
d=(c=22)-(b++);
答案:
ABD
12•以下关于数组描述错误的是()。
A:
数组的大小是固定的,
B:
数组的大小是可变的,
但可以有不同的类型的数组元素但所有数组元素的类型必须相同
C:
数组的大小是固定的,
D:
数组的大小是可变的,
所有数组元素的类型必须相同可以有不同的类型的数组元素
答案:
ABD
13.以下正确的辻语句形式是()。
A:
if(x>y&&x!
=y);
B:
if(x二二y)x+二y;
C:
if(x!
=y)scanf(%d,&x)elsescanf(%d,&y);
D:
辻(x〈y){x++;y++;}
答案:
ABD
14.以下叙述中正确的是()。
A:
—个C源程序可山一个或多个函数组成
B:
—个C源程序必须包含一个main()函数
C:
C源程序的基本组成单位是函数
D:
在C源程序中,注释说明只能位于一条语句的最后
答案:
ABC
15.以下合法的十六进制数是()。
A:
oxff
B:
OXabc
C:
OxOl
D:
0X9X
答案:
BC
16.k下选项中,合法的字符常量是()。
B:
'\17'
C:
D:
'\xaa'
答案:
ABD
17.以下用户标识符,其中合法的是()。
A:
return
B:
f2_G3
C:
A3-3
D:
abc
答案:
BD
18.以下可以定义为用户标识符的有()。
A:
scanf
B:
short
C:
_3com_
D:
int
答案:
AC
19.以下选项中合法的表达式是()。
A:
0<=x<100
B:
i二j=0
C:
(char)(65+3)
D:
x+1二x+1
答案:
ABC
20.以下不符合C语言语法的实型常量是()。
A:
l.2E0.5
B:
3.14.159E
C:
.5E-3
D:
E15
答案:
ABD
21.4个选项中,可以看作是一条语句的有()。
A:
{;}
B:
a=0,b=0,c二0;
C:
辻(a>0);
D:
if(b=0)m=l;n=2;
答案:
ABC
22.b下选项中,合法的字符常量是()。
A/Xf
B:
'\17'
C:
D:
'\xaa'
答案:
ABD
23.以下描述正确的是()。
A:
使用wh订e和do-while循环时,循环变量初始话的操作应在循环体语句之前完成
B:
while循环是先判断表达式,后执行循环语句
C:
do-while和for循环均是先执行循环语句,后判断表达式
D:
for,while和do-wh订e循环中的循环体均可以||]空语句构成
答案:
ABD
24•以下关于数组描述错误的是()。
A:
数组的大小是固定的,但可以有不同的类型的数组元素
B:
数组的大小是可变的,但所有数组元素的类型必须相同
C:
数组的大小是固定的,所有数组元素的类型必须相同
D:
数组的大小是可变的,可以有不同的类型的数组元素答案:
ABD
25.以下选项中不是C语言合法整数的是()。
A:
10110
B:
0386
C:
OXffa
D:
x2a2
答案:
BD
26.若以下选项中的变量已正确定义,则不正确的赋值语句是()。
A:
xl=26.8%3
B:
x=3*x+x
C:
x3=0xl2
D:
x4二1+2二3;
答案:
AD
27.卡列对逻辑运算符两侧的运算对象的数据类型描述不正确的是()。
A:
只能是0或1
B:
只能是0或非0正数
C:
可以是整型或字符型数据
D:
可以是任何类型的数据
答案:
ABD
28.下列选项中是C语言合法标志符的有()。
A:
good_morning
B:
main
C:
stdio.h
D:
8abc
答案:
AB
29.以下对switch语句和break语句中描述错误的有()。
A:
在switch语句中必须使用break语句
B:
break语句只能用于switch语句
C:
在switch语句中,可以根据需要使用或不使用break语句
D:
break语句是switch语句的一部分
答案:
ABD
30.以下叙述中正确的是()。
A:
—个C源程序可由一个或多个函数组成
B:
一个C源程序必须包含一个main()函数
C:
C源程序的基本组成单位是函数
D:
在C源程序中,注释说明只能位于一条语句的最后
答案:
ABC
31•下对C语言中的函数描述不正确的有()。
A:
可以嵌套定义,不可以嵌套调用
B:
不可以嵌套定义,可以嵌套调用
C:
可以嵌套定义,也可以嵌套调用
D:
嵌套定义和嵌套调用都不允许
答案:
ACD
32.设有以下定义
inta=0;
doubleb二1.25;
charc二'A';
#defined2
则下面语句中正确的是()。
A:
a++;
B:
b++;
C:
c++;
D:
d++;
答案:
ABC
33.对do-while语句描述正确的是()。
A:
do-while语句构成的循环可以使用break语句退出循环
B:
do-while语句构成的循环必须使用break语句退出循环
C:
do-while语句构成的循环,当while中的表达式值为非零时结束循环
D:
do-while语句构成的循环,当while中的表达式值为零时结束循环答案:
AD
34.以下可以定义为用户标识符的有()。
A:
scanf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西安交通大学 习题 答案 程序设计 基础