西安交通大学17年课程考试《程序设计基础》作业考核试题.docx
《西安交通大学17年课程考试《程序设计基础》作业考核试题.docx》由会员分享,可在线阅读,更多相关《西安交通大学17年课程考试《程序设计基础》作业考核试题.docx(15页珍藏版)》请在冰豆网上搜索。
西安交通大学17年课程考试《程序设计基础》作业考核试题
西安交通大学17年9月课程考试《程序设计基础》作业考核试题
试卷总分:
100得分:
0
一、单选题(共30道试题,共60分)
1.可将C源程序存在磁盘上,还可将数据按数据类型分别以()的形式存在磁盘上。
A.内存
B.缓冲区
C.文件
D.寄存器
满分:
2分
2.若二维数组a有m列,则在a[i][j]前的元素个数为()。
A.j*m+I
B.i*m+j
C.i*m+j-1
D.i*m+j+1
满分:
2分
3.在位运算中,操作数每右移一位,其结果相当于()。
A.操作数乘以2
B.操作数除以2
C.操作数乘以16
D.操作数除以16
满分:
2分
4.inta[10];合法的数组元素的最小下标值为()。
A.10
B.9
C.1
D.0
满分:
2分
5.若执行fopen函数时发生错误,则函数的返回值是()。
A.地址值
B.0
C.1
D.EOF
满分:
2分
6.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是()。
A.EOF
B.0
C.非零值
D.NULL
满分:
2分
7.以下选项中,与k=n++完全等价的表达式是()。
A.k=n,n=n+1
B.n=n+1,k=n
C.k=++n
D.k+=n+1
满分:
2分
8.下列程序的输出结果为()。
main(){intm=7,n=4;floata=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x);}
A.27.000000
B.27.500000
C.28.000000
D.28.500000
满分:
2分
9.结构体类型的定义允许嵌套是指()。
A.成员是已经或正在定义的结构体型
B.成员可以重名
C.结构体型可以派生
D.定义多个结构体型
满分:
2分
10.变量的指针,其含义是指该变量的()。
A.值
B.地址
C.名
D.一个标志
满分:
2分
11.以下叙述正确的是()。
A.在C程序中,main函数必须位于程序的最前面
B.C程序的每行中只能写一条语句
C.C语言本身没有输入输出语句
D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误
满分:
2分
12.若有inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5的语句为()。
A.printf("%d",*(a+5));
B.printf("%d",p[5]);
C.printf("%d",*(p+5));
D.printf("%d",*p[5]);
满分:
2分
13.以下数值中,不正确的八进制数或十六进制数是()。
A.0x16
B.016
C.-1
D.0xaaaa
满分:
2分
14.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。
A.int
B.float
C.double
D.不确定
满分:
2分
15.以下叙述中正确的是()。
A.在程序的一行上可以出现多个有效的预处理命令行
B.使用带参的宏时,参数的类型应与宏定义时的一致
C.宏替换不占用运行时间,只占编译时间
D.在以下定义中CR是称为"宏名"的标识符#defineCR045
满分:
2分
16.以下语句中,不能实现回车换行的是()。
A.printf("\n");
B.putchar("\n");
C.fprintf(stdout,"\n");
D.fwrite("\n",1,1,stdout);
满分:
2分
17.C语言中,要求运算数必须是整型的运算符是()。
A.^
B.%
C.!
D.>
满分:
2分
18.关于建立函数的目的,以下正确的说法是()。
A.提高程序的执行效率
B.提高程序的可读性
C.减少程序的篇幅
D.减少程序文件所占内存
满分:
2分
19.以下叙述中不正确的是()。
A.一个好的程序应该有详尽的注释
B.在C程序中,赋值运算符的优先级最低
C.在C程序中,j++;是一条赋值语句
D.C程序中的#include和#define均不是C语句
满分:
2分
20.以下正确的说法是()。
A.用户若需调用标准库函数,调用前必须重新定义
B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义
C.系统根本不允许用户重新定义标准库函数
D.用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调
满分:
2分
21.若有说明inta[3][4];则a数组元素的非法引用是()。
A.a[0][2*1]
B.a[1][3]
C.a[4-2][0]
D.a[0][4]
满分:
2分
22.下列程序的输出结果是()。
main(){charc1=97,c2=98;printf("%d%c",c1,c2);}
A.9798
B.97b
C.a98
D.ab
满分:
2分
23.以下选项中合法的实型常数是()。
A.5E2.0
B.E-3
C..2E0
D.1.3E
满分:
2分
24.下列程序段的输出结果为()。
Intx=3,y=2;printf("%d",(x-=y,x*=y+8/5));
A.1
B.7
C.3
D.5
满分:
2分
25.在C语言中,char型数据在内存中的存储形式是()。
A.补码
B.反码
C.原码
D.ASCII码
满分:
2分
26.doublex;scanf("%lf",&x);不可以赋值给x变量的常量是()。
A.123
B.100000
C.A'
D."abc"
满分:
2分
27.以下对C语言函数的描述中,正确的是()。
A.C程序必须由一个或一个以上的函数组成
B.C函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.C程序中有调用关系的所有函数必须放在同一个程序文件中
满分:
2分
28.已知函数的调用形式fread(buffer,size,count,fp);其中buffer代表的是()。
A.一个整数,代表要读入的数据项总数
B.一个文件指针,指向要读的文件
C.一个指针,指向要读入数据的存放地址
D.一个存储区,存放要读的数据项
满分:
2分
29.若使用一维数组名作函数实参,则以下正确的说法是()。
A.必须在主调函数中说明此数组的大小
B.实参数组类型与形参数组类型可以不匹配
C.在被调用函数中,不需要考虑形参数组的大小
D.实参数组名与形参数组名必须一致
满分:
2分
30.C语言中要求对变量作强制定义的主要理由是()。
A.便于移植
B.便于写文件
C.便于编辑预处理程序的处理
D.便于确定类型和分配空间
满分:
2分
二、多选题(共10道试题,共20分)
1.以下描述正确的是()。
A.使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成
B.while循环是先判断表达式,后执行循环语句
C.do-while和for循环均是先执行循环语句,后判断表达式
D.for,while和do-while循环中的循环体均可以由空语句构成
满分:
2分
2.关于while语句与do-while语句,以下正确的是()。
A.while是当型结构
B.do-while是直到型结构
C.两者有区别
D.两者无区别
满分:
2分
3.以下叙述正确的是()。
A.预处理命令行都必须以"#"开始
B.在程序中凡是以"#"开始的语句行都是预处理命令行
C.C程序在执行过程中对预处理命令行进行处理
D.#defineABCD是正确的宏定义
满分:
2分
4.下面有关for循环的正确描述是()。
A.for循环只能用于循环次数已经确立的情况
B.for循环先执行循环体语句后判断表达式
C.在for循环中能用break语句跳出循环体
D.for循环的循环体语句中可以包含多条语句,但必须用花括号括起来
满分:
2分
5.有定义语句.intx,y;若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的有()。
A.1112<回车>
B.11,<空格>12<回车>
C.11,12<回车>
D.11,<回车>12<回车>
满分:
2分
6.以下关于typedef的叙述正确的是()。
A.用typedef可以定义各种类型名,但不能用来定义变量
B.用typedef可以增加新类型
C.用typedef只是将已存在的类型用一个新的名字来代表
D.使用typedef便于程序的通用
满分:
2分
7.在定义inta[2][3];之后,对a的引用正确的有()。
A.a[0][2]
B.a[1,3]
C.a[1>2][!
1]
D.a[2][0]
满分:
2分
8.以下对switch语句和break语句中描述错误的有()。
A.在switch语句中必须使用break语句
B.break语句只能用于switch语句
C.在switch语句中,可以根据需要使用或不使用break语句
D.break语句是switch语句的一部分
满分:
2分
9.下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是()。
A.只能是0或1
B.只能是0或非0正数
C.可以是整型或字符型数据
D.可以是任何类型的数据
满分:
2分
10.t为int类型,进入下面的循环之前,t的值为0do{………}while(t==1);则以下叙述中正确的是()
A.循环控制表达式的值为0
B.循环控制表达式的值为1
C.循环控制表达式合法
D.以上说法都不对
满分:
2分
三、判断题(共10道试题,共20分)
1.结构类型变量所占内存长度等于成员的长度;而共享体类型变量所占用的内存长度是各成员的内存长度之和,每个成员分别占用其自己的内存单元。
()
A.错误
B.正确
满分:
2分
2.格式字符%md中的m只能为正,不能为负。
()
A.错误
B.正确
满分:
2分
3.break语句可用于switch语句,也可用于for、while和do循环语句中。
()
A.错误
B.正确
满分:
2分
4.continue语句可用于switch语句,也可用于for、while和do循环语句中。
()
A.错误
B.正确
满分:
2分
5.一个包含命令include可以包含几个头文件。
()
A.错误
B.正确
满分:
2分
6.数组类型不是C的基本数据类型,而是一种构造类型。
()
A.错误
B.正确
满分:
2分
7.若有说明:
intn=2,*p=&n,*q=p;,则以下非法的赋值语句是p=n;。
()
A.错误
B.正确
满分:
2分
8.若有staticinta[10];则a数组的10个元素的值都是0。
()
A.错误
B.正确
满分:
2分
9.数组名代表数组的起始地址。
()
A.错误
B.正确
满分:
2分
10.表达式’a’和“a”是不同的,前者长度为1,后者长度为2。
()
A.错误
B.正确
满分:
2分