西安交通大学18年课程考试《程序设计基础高起专》作业考核试题100分答案.docx
《西安交通大学18年课程考试《程序设计基础高起专》作业考核试题100分答案.docx》由会员分享,可在线阅读,更多相关《西安交通大学18年课程考试《程序设计基础高起专》作业考核试题100分答案.docx(13页珍藏版)》请在冰豆网上搜索。
西安交通大学18年课程考试《程序设计基础高起专》作业考核试题100分答案
西安交通大学18年3月课程考试《程序设计基础(高起专)》作业考核试题-0001
试卷总分:
100得分:
100
一、单选题(共30道试题,共60分)
1.逻辑运算符两侧运算对象的数据类型()。
A.只能是0或1
B.只能是0或非0正数
C.只能是整型或字符型数据
D.可以是任何类型的数据
正确答案:
D
2.C语言中的文件类型只有()。
A.索引文件和文本文件两种
B.ASCII文件和二进制文件两种
C.文本文件一种
D.二进制文件一种
正确答案:
B
3.执行下列两个语句后,输出的结果为()charc1=66,c2=98;printf(“%c,%d”,c1,c2);
A.66,98
B.66,b
C.B,97
D.B,98
正确答案:
D
4.字符数组chara[]=”Howdoyoudo?
”;的大小为()
A.10
B.11
C.14
D.15
正确答案:
D
5.若有inti=3,*p;p=&i;下列语句中输出结果为3的是()。
A.printf("%d",&p);
B.printf("%d",*i);
C.printf("%d",*p);
D.printf("%d",p);
正确答案:
C
6.经过下列的语句intj,a[10],*p;定义后,下列语句中合法的是()。
A.p=p+2;
B.p=a[5];
C.p=a[2]+2;
D.p=&(j+2);
正确答案:
A
7.关于函数调用,下面说法错误的是()
A.被调用函数必须是已经存在的函数、库函数或用户已定义过的函数
B.没有头文件也可以对库函数进行调用
C.如果使用用户自定义的函数,还要在主调用函数中说明用户函数的返回值类型。
D.在主函数main()中可以调用其他函数,其他函数也可以相互调用
正确答案:
B
8.下面有关for循环的正确描述是()。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
正确答案:
D
9.以下程序段的输出结果是()inta=1234;printf("%2d\n",a);
A.12
B.34
C.1234
D.提示出错、无结果
正确答案:
C
10.
以下程序中,while循环的循环次数是()
main()
{inti=0;
while(i<10)
{if(i<1)continue;
if(I==5)break;
i++;
}
......
}
A.1
B.10
C.6
D.死循环,不能确定次数
正确答案:
D
11.应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。
A.fclose()
B.close()
C.fread()
D.fwrite
正确答案:
A
12.若使用一维数组名作函数实参,则以下正确的说法是()。
A.必须在主调函数中说明此数组的大小
B.实参数组类型与形参数组类型可以不匹配
C.在被调用函数中,不需要考虑形参数组的大小
D.实参数组名与形参数组名必须一致
正确答案:
A
13.关于指针,下列说法错误的是()
A.指针变量是用来存放内存地址的
B.&表示取变量地址运算
C.*表示取指针变量所指向的变量内容的运算
D.可以将整数赋给指针变量
正确答案:
D
14.关于字符数组,下列说法错误的是()
A.字符型数组中的每一个元素只能存放一个字符型数据
B.逐个输入输出字符时,要用“%c”格式符
C.scanf(“%s”,&s);的写法是正确的
D.数组名就是数组的起始地址
正确答案:
C
15.以下只有在使用时才为该类型变量分配内存的存储类说明是()。
A.auto和static
B.auto和register
C.register和static
D.extern和register
正确答案:
B
16.以下叙述正确的是()
A.可以把define和if定义为用户标识符
B.可以把define定义为用户标识符,但不能把if定义为用户标识符
C.可以把if定义为用户标识符,但不能把define定义为用户标识符
D.define和if都不能定义为用户标识符
正确答案:
B
17.关于形式参数,下面说法错误的是()
A.对于形参,虽然定义了它,只有当函数被调用时,形参才在内存中开辟空间
B.调用结束后,形参自动从内存中被释放掉
C.在函数定义中,可以不给出形参类型,调用的时候再定义。
D.实参与形参的关系是赋值与被赋值的关系
正确答案:
C
18.以下叙述不正确的是()。
A.一个C源程序可由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的基本组成单位是函数
D.在C程序中,注释说明只能位于一条语句的后面
正确答案:
D
19.若有以下程序#includevoidf(intn);main(){voidf(intn);f(5);}voidf(intn){printf("%d\n",n);}则以下叙述中不正确的是()
A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f
B.若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f
C.对于以上程序,编译时系统会提示出错信息:
提示对对f函数重复说明
D.函数f无返回值,所以可用void将其类型定义为无值型
正确答案:
C
20.下列四个选项中,均是C语言关键字的选项是()。
A.auto、enum、include
B.switch、typedef、continue
C.signed、union、scanf
D.if、struct、type
正确答案:
B
21.C语言中,要求运算数必须是整型的运算符是()。
A.^
B.%
C.!
D.>
正确答案:
B
22.以下运算符中优先级最低的是()。
A.&&
B.&
C.||
D.|
正确答案:
C
23.已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!
y)的值是()。
A.0
B.语法错
C.1
D."假"
正确答案:
C
24.下面关于do-while语句和while语句说法正确的是()
A.while语句和do-while语句肯定都要执行
B.两者运行结果不同
C.do-while在判断条件之前先执行循环体一次
D.while语句至少执行一次
正确答案:
C
25.关于结构体,下列说法错误的是()
A.不能将一个结构体变量作为一个整体进行输入和输出。
B.对成员变量可以像普通变量一样进行各种运算。
C.结构体变量的地址主要用作函数参数传递结构体的地址。
D.结构体变量赋初值与数组不同,可以不一一对应。
正确答案:
D
26.要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是()。
A.fopen("A.\user\abc.txt","r")
B.fopen("A.\\user\\abc.txt","r+")
C.fopen("A.\user\abc.txt","rb")
D.fopen("A.\\user\\abc.txt","w")
正确答案:
B
27.对以下说明语句inta[10]={6,7,8,9,10};的正确理解是()。
A.将5个初值依次赋给a[1]至a[5]
B.将5个初值依次赋给a[0]至a[4]
C.将5个初值依次赋给a[6]至a[10]
D.因为数组长度与初值的个数不相同,所以此语句不正确
正确答案:
B
28.C语言中要求对变量作强制定义的主要理由是()。
A.便于移植
B.便于写文件
C.便于编辑预处理程序的处理
D.便于确定类型和分配空间
正确答案:
D
29.以下选项中,与k=n++完全等价的表达式是()。
A.k=n,n=n+1
B.n=n+1,k=n
C.k=++n
D.k+=n+1
正确答案:
A
30.变量的指针,其含义是指该变量的()。
A.值
B.地址
C.名
D.一个标志
正确答案:
B
二、多选题(共10道试题,共20分)
1.设有以下定义inta=0;doubleb=1.25;charc='A';#defined2则下面语句中正确的是()。
A.a++;
B.b++;
C.c++;
D.d++;
正确答案:
ABC
2.以下不合法的赋值语句是()。
A.x=y=100
B.d--;
C.x+y;
D.c=int(a+b);
正确答案:
ACD
3.定义c为字符型变量,则下列语句中错误的是()。
A.c='97';
B.c="97";
C.c=97;
D.c="a";
正确答案:
ABD
4.能正确表示逻辑关系:
"a≥10"的C语言表达式是()。
A.a≥10
B.!
(a<10)
C.a>=10
D.a<10
正确答案:
BC
5.下列为c语言的关键字是()
A.if
B.struct
C.union
D.Int
正确答案:
ABC
6.以下4个选项中,可以看作是一条语句的有()。
A.{;}
B.a=0,b=0,c=0;
C.if(a>0);
D.if(b==0)m=1;n=2;
正确答案:
ABC
7.以下可以定义为用户标识符的有()。
A.scanf
B.short
C._3com_
D.int
正确答案:
AC
8.以下选项中,合法的字符常量是()。
A.'\t'
B.'\17'
C."n"
D.'\xaa'
正确答案:
ABD
9.在定义inta[2][3];之后,对a的引用正确的有()。
A.a[0][2]
B.a[1,3]
C.a[1>2][!
1]
D.a[2][0]
正确答案:
AC
10.以下合法的十六进制数是()。
A.oxff
B.0Xabc
C.0x01
D.0X9X
正确答案:
BC
三、判断题(共10道试题,共20分)
1.C语言的文件存取方式只能是顺序存取,不能随机存取。
()
A.错误
B.正确
正确答案:
A
2.数组名是指标常量,不需要也不能为其赋值;指针是变量,使用前需对其赋值。
()
A.错误
B.正确
正确答案:
B
3.函数的实参可以传递给形参,形参也可以传递给实参。
()
A.错误
B.正确
正确答案:
A
4.break语句可用于switch语句,也可用于for、while和do循环语句中。
()
A.错误
B.正确
正确答案:
B
5.用数组名作为实参时,把实参数组的起始地址传递给形参数组,因此形参数组和实参数组占用同一段内存单元,改变形参数组的值,也就改变了实参数组的值。
()
A.错误
B.正确
正确答案:
B
6.自增运算符和自减运算符的结合方向也是“自左向右”。
()
A.错误
B.正确
正确答案:
A
7.在C中能代表逻辑值“假”的是0。
()
A.错误
B.正确
正确答案:
B
8.C程序中和每一行就是一个语句。
()
A.错误
B.正确
正确答案:
A
9.数