西交14秋《程序设计综合训练》在线作业答案.docx
《西交14秋《程序设计综合训练》在线作业答案.docx》由会员分享,可在线阅读,更多相关《西交14秋《程序设计综合训练》在线作业答案.docx(17页珍藏版)》请在冰豆网上搜索。
西交14秋《程序设计综合训练》在线作业答案
程序设计综合训练西交《程序设计综合训练》在线作业
一,单选题
1.下列变量定义正确的是________。
A.intx_1;y;
B.intx=y=5;
C.intfor=4;
D.intprintf=2,x_y=2;
?
正确答案:
D
2.有如下程序
inta[10]={1,2,3,4,5,6,7,8,9,10},*P=a;
则数值为9的表达式是__________
A.*P+9
B.*(P+8)
C.*P+=9
D.P+8
?
正确答案:
B
3.若shortint类型数据占两个字节,则下列语句的输出为________。
intk=-1;printf(“%d,%u\n”,k,k);
A.-1,-1
B.-1,32767
C.-1,32768
D.-1,65535
?
正确答案:
B
4.若变量已正确定义,与语句if(a>B、k=0;elsek=1;等效的是________。
A.
k=(a>B、?
1:
0?
B.
k=a>b;
C.
k=a<=b;
D.
a<=b?
0:
1;
?
正确答案:
C
5.以下函数的类型是________。
intsum(doublex,doubley)
{doubles;
s=x+y;
returns;
}
A.字符型
B.不确定
C.整型
D.实型
?
正确答案:
C
6.在C语言中,正确的int类型的常数是_______。
A.-2U
B.059
C.3a
D.0xAF
?
正确答案:
D
7.已知:
inta[10];则对a数组元素的正确引用是()。
A.a[10]
B.a[3.5]
C.a(5)
D.a[0]
?
正确答案:
D
8.当执行以下程序时,________。
#include
voidmain()
{inta;
while(a=5)
printf("%d",a--);}
A.循环体将执行5次
B.循环体将执行0次
C.循环体将执行无限次
D.系统会当机。
?
正确答案:
C
9.若有以下变量说明和数据的输入方式,则正确的输入语句为________。
变量说明:
floatx1,x2;
数据的输入方式:
4.52<回车>
3.5<回车>
A.scanf(“%f,%f”,&x1,&x2);
B.scanf(“%f%f”,&x1,&x2);
C.scanf(“%3.2f,%2.1f”,&x1,&x2);
D.scanf(“%3.2f%2.1f”,&x1,&x2);
?
正确答案:
B
10.已知charx[]="hello",y[]={'h','e','a','b','e'};,则关于两个数组长度的正确描述是.
A.相同
B.x大于y
C.x小于y
D.以上答案都不对
?
正确答案:
B
11.简单变量做实参时,实参与其对应的形参之间的数据传递方式是________。
A.双向值传递方式
B.地址传递方式
C.单向值传递方式
D.用户指定传递方式
?
正确答案:
C
12.在C语言中,以作为字符串结束标志
A.’\n’
B.’’
C.’0’
D.’\0’
?
正确答案:
D
13.下列对字符串的定义中,错误的是_____。
A.charstr[5]="abcde"
B.charstr[]="abcde"
C.char*str="abcde"
D.charstr[]={'a','b','c','d','e','\0'}
?
正确答案:
A
14.若用数组名作为函数调用时的参数,则实际上传递给形参的是________。
A.数组元素的个数
B.数组的第一个元素值
C.数组中全部元素的植
D.数组首地址
?
正确答案:
D
15.已知:
chara;intb;floatc;doubled;执行语句c=a+b+c+d;后,变量c的数据类型是________。
A.int
B.char
C.double
D.float
?
正确答案:
D
16.在C语言中,引用数组元素时,其数组下标的数据类型允许是________。
A.整型常量
B.整型表达式
C.整型常量或整型表达式
D.任何类型的表达式
?
正确答案:
C
17.以下函数原型说明正确的是_______。
A.floatadd(intx,inty);
B.intadd(intx;inty);
C.charadd(x,y);
D.intadd(charx[][]);
?
正确答案:
A
18.若有说明语句“inta[5],*p=a;”,则对数组元素的正确引用是()。
A.a[p]
B.p[a]
C.*(p+2)
D.p+2
?
正确答案:
C
19.下列错误的语句是________。
A.intk,*p=&k;scanf(“%d”,&k);
B.intk,*p=&k;scanf(“%d”,p);
C.intk,*p;*p=&k;scanf(“%d”,p);
D.intk,*p;p=&k;scanf(“%d”,p);
?
正确答案:
C
20.下面各函数中能实现打开文件功能的是
A.fopen
B.fgetc
C.fputc
D.fclose
?
正确答案:
A
21.已知:
inta,*p=&a;则为了得到变量a的值,下列错误的表达式为_______。
A.p[0]
B.*p
C.&*a
D.*&a
?
正确答案:
C
22.C语言中规定,if语句的嵌套结构中,else总是与_______配对。
A.与最近的if配套
B.与第一个if配套
C.按缩进位置相同的if配套
D.与最近的且尚未配对的if配套
?
正确答案:
D
23.C语言中规定,if语句的嵌套结构中,else总是与_______配对。
A.与最近的if配套
B.与第一个if配套
C.按缩进位置相同的if配套
D.与最近的且尚未配对的if配套
?
正确答案:
D
24.若在一个C源程序文件中定义了一个允许其他源文件引用的实型外部变量x,则在另一文件中可以使用的引用说明是________。
A.externfloatx;
B.floatx;
C.externautofloatx;
D.externstaticfloatx;
?
正确答案:
A
25.有程序段如下,不能表示为地址的是________。
intx=2,*p;
p=&x;
x=x+1;
A.&x
B.p
C.&p
D.&(x+1)
?
正确答案:
D
26.以下函数的类型是________。
intsum(doublex,doubley)
{
doubles;
s=x+y;
returns;
}
A.字符型
B.不确定
C.整型
D.实型
?
正确答案:
C
27.若有说明语句:
inty[][4]={0,0,0,0,0,0};则正确的叙述是________。
A.数组y的每个元素都可得到初值0
B.二维数组y的行数为1
C.该说明等价于inty[0][4]={0};
D.有元素y[0][0]至y[0][5]可得到初值,其余元素均得不到初值0
?
正确答案:
A
28.若有以下定义:
floatx;inta,b;则错误的switch语句是________。
A.
switch(x)
{case1.0:
printf("*\n");
case2.0:
printf("*\n");}
B.switch(a)
{case1:
printf("*\n");
case2:
printf("*\n");}
C.switch(a+b)
{c
正确答案:
D
29.语句if(!
i)i++;中的条件表达式!
i等价于________。
A.i==0
B.i!
=1
C.i!
=0
D.-i
?
正确答案:
A
30.若变量c为char类型,能正确判断c为小写字母的表达式是_______。
A.'a'<=c<='z'
B.(c>='a')||(c<='z')
C.('a'<=c)and('z'>=c)
D.(c>='a')&&(c<='z')
?
正确答案:
D
31.若有定义:
intb[5];则以下对b数组元素的正确引用是_______。
A.*&b[5]
B.b+2
C.*(*(b+2))
D.*(b+2)
?
正确答案:
D
32.一个共用体变量所占内存是________。
A.该共用体第一个成员所占的内存量
B.该共用体最后一个成员所占的内存量
C.该共用体占内存最多成员所占的内存量
D.该共用体所有成员所需内存量的总和
?
正确答案:
C
33.组成C程序的基本单位是_______。
A.表达式与语句
B.若干文件
C.函数
D.main函数
?
正确答案:
C
34.对二维数组的正确定义是()
A.inta[][]={1,2,3,4,5,6};
B.inta[2][]={1,2,3,4,5,6};
C.inta[][3]={1,2,3,4,5,6};
D.inta[2,3]={1,2,3,4,5,6};
?
正确答案:
C
35.以下叙述正确的是________。
A.函数的定义和函数的调用均不可以嵌套
B.函数的定义和函数的调用均可以嵌套
C.函数的定义可以嵌套,但函数的调用均不可以嵌套
D.函数的定义不可以嵌套,但函数的调用均可以嵌套
?
正确答案:
D
36.语句if(!
i)i++;中的条件表达式!
i等价于________。
A.i==0
B.i!
=1
C.i!
=0
D.-i
?
正确答案:
A
37.以读写方式打开一个已有的文本文件file1,并且FILE*fp,下面fopen函数正确的调用方式是()。
A.fp=fopen(“file1”,“r”)
B.fp=fopen(“file1”,“r+”)
C.fp=fopen(“file1”,“rb”)
D.fp=fopen(“file1”,“w”)
?
正确答案:
B
38.下列为字符常量的是_______。
A.HE
B."I"
C.'Z'
D.She
?
正确答案:
C
39.若有定义:
intb[5];则以下对b数组元素的正确引用是_______。
A.*&b[5]
B.b+2
C.*(*(b+2))
D.*(b+2)
?
正确答案:
D
40.若有定义:
intx,*pb;则正确的赋值表达式是________。
A.pb=&x
B.pb=x
C.*pb=&x
D.*pb=*x
?
正确答案:
A
41.设有intx,y;以下语句判断x和y是否相等,正确的说法是该语句________。
if(x=y)printf("xisequaltoy.");
A.语法错
B.不能判断x和y是否相等
C.编译出错
D.能判断x和y是否相等
?
正确答案:
B
42.若有以下定义:
floatx;inta,b;则错误的switch语句是________。
A.switch(x)
{case1.0:
printf("*\n");
case2.0:
printf("*\n");}
B.switch(a)
{case1:
printf("*\n");
case2:
printf("*\n");}
C.switch(a+b)
{cas
正确答案:
D
43.下列表达式没有错误的是________。
intx,*p;
A.5.0%2
B.x+1=5
C.&p
D.&(x+1)
?
正确答案:
C
44.以下有关switch语句的正确说法是_______。
A.break语句是语句中必须的一部分
B.在switch语句中可以根据需要使用或不使用break语句
C.break语句在switch语句中不可以使用
D.在switch语句中的每一个case都要用break语句
?
正确答案:
B
45.下列数据中属于“字符串常量”的是( )。
A.“a”
B.{ABC}
C.‘abc\0’
D.‘a’
?
正确答案:
A
46.设有定义语句“chars[]=”123”;”,则表达式“s[3]”的值是_______。
A.’1’
B.’3’
C.’\0’
D.语法出错
?
正确答案:
C
47.以下叙述不正确的是_______。
A.一个C源程序文件必须包含一个main()函数
B.一个C源程序文件可由一个函数组成
C.一个C源程序文件是一个编译单位
D.一个C源程序文件可由多个函数组成
?
正确答案:
A
48.若有定义charx[]="12345";chary[]={'1','2','3','4','5'};则_____________。
A.x数组与y数组的长度相同
B.x数组长度大于y的长度
C.x数组长度小于y数组长度
D.x数组等价与y数组
?
正确答案:
B
49.若a为整型变量,则以下语句________。
a=-2L;printf(“%d\n”,A);
A.赋值不合法
B.输出值为-2
C.输出为不确定值
D.输出值为2
?
正确答案:
B
50.下列语句中,把变量fp说明为一个文件型指针的是()。
A.FILE*fp;
B.FILEfp;
C.file*fp;
D.filefp;
?
正确答案:
A