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