生命赐给我们,我们必须奉献生命,才能获得生命。
西安交通大学16年3月课程考试《程序设计基础
(高起专)》作
业考核试题
一、 单选题
1. 以下对C语言函数的描述中,正确的是( A )。 A. C 程序必须由一个或一个以上的函数组成 B. C函数既可以嵌套定义又可以递归调用 C. 函数必须有返回值,否则不能使用函数
D. C程序中有调用关系的所有函数必须放在同一个程序文件中 2. 在C语言中,char型数据在内存中的存储形式是( D )。
A. 补码 B.
反码
C. 原码 D. ASCII 码
3. 以下叙述中不正确的是( B )。
A. 一个好的程序应该有详尽的注释 B.
在C程序中,赋值运算符的优先级最低
C. 在C程序中,j++;是一条赋值语句 D. C 程序中的#include 和#define均不是C语句
4. 应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为( A. fclose() B. close() C. fread() D. fwrite
B )。
5. 设C语言中,int类型数据占2个字节,则short类型数据占( A. 1个字节 B. 2 个字节 C. 4个字节 D. 8 个字节
其中buffer
代表的是(C )。6. 已知函数的调用形式 fread(buffer,size,count,fp); A. 一个整数,代表要读入的数据项总数 B.
一个文件指针,指向要读的文件
C. 一个指针,指向要读入数据的存放地址
希望是本无所谓有,无所谓无的。这正如地上的路;其实地上本没有路,走的人多了,也便 成了路。
生命赐给我们,我们必须奉献生命,才能获得生命。 D. 一个存储区,存放要读的数据项 7. 在 C 语言中,形参的缺省存储类是( A. B. C. D.
auto register static extern
C用户定义标识符的是( A )。
A )。
8. 以下标识符中,不能作为合法的 A. putchar B. _double C. _123 D. INT
9. 在C语言中,能代表逻辑值“真”的是( D )。 A. True
B. 大于 0 的数 C. 非 0 整数 D. 非 0的数
10. 已知 x=43, ch='A' , y=0; 则表达式 (x>=y&&ch<'B'&&!y) 的值是( C )。 A. 0
B. 语法错 C. 1 D. \假\
11. 函数 rewind 的作用是( A )。 A. 使位置指针重新返回文件的开头 B. 将位置指针指向文件中所要求的特定位置 C. 使位置指针指向文件的末尾 D. 使位置指针自动移至下一个字符位置 12. 以下正确的说法是:在
C语言中(A )。
A. 实参和与其对应的形参各占用独立的存储单元 B. 实参和与其对应的形参共占用一个存储单元
C. 只有当实参和与其对应的形参同名时才共占用存储单元 D. 形参是虚拟的 , 不占用存储单元 13. 对以下说明语句 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. 因为数组长度与初值的个数不相同 , 所以此语句不正确 14. C 语言中要求对变量作强制定义的主要理由是( A. 便于移植 B. 便于写文件
D )。
的正确理解是( B )。
希望是本无所谓有,无所谓无的。这正如地上的路;其实地上本没有路,走的人多了,也便 成了路。
生命赐给我们,我们必须奉献生命,才能获得生命。 C. 便于编辑预处理程序的处理 D. 便于确定类型和分配空间
15. 若有说明 int a[3][4]; 则 a 数组元素的非法引用是( D )。 A. a[0][2*1] B. a[1][3] C. a[4-2][0] D. a[0][4]
16. 以下只有在使用时才为该类型变量分配内存的存储类说明是( B )。 A. auto 和 static B. auto 和 register C. register 和 static D. extern 和 register
17. int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c; A. 1 B. 2 C. 3 D. 不一定
18. 下列程序的输出结果是( B )。 main(){char c1=97,c2=98;printf(\A. 9798 B. 97b C. a98 D. ab
19. char a[]=\A. printf(\B. puts(a); C. printf(\D. a[5*2]=0;puts(a);
20. 以下运算符中,优先级最高的运算符是( C )。 A. || B. % C. ! D. ==
21. 以下的选择中,正确的赋值语句是( C )。 A. a=1,b=2 B. j++ C. a=b=5; D. y=int(x)
输出前 5 个字符的语句是( A )。
则 a 的值为( A )。
希望是本无所谓有,无所谓无的。这正如地上的路;其实地上本没有路,走的人多了,也便 成了路。
生命赐给我们,我们必须奉献生命,才能获得生命。
22. 若有 inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a; 则输出结果不为 5 的语句为( A. printf(\B. printf(\C. printf(\D. printf(\
23. 以下叙述中正确的是( C )。 A. B.
在程序的一行上可以出现多个有效的预处理命令行 使用带参的宏时 , 参数的类型应与宏定义时的一致
D )。
C. 宏替换不占用运行时间 , 只占编译时间
D. 在以下定义中 CR是称为”宏名”的标识符#defineCR045 24. C 语言中,要求运算数必须是整型的运算符是( B )。 A. A B. % C. ! D. >
25. 若有 int *p=(int *)malloc(sizeof(int)); 语句为( A )。
A. scanf(\B. scanf(\C. scanf(\D. scanf(\
26. 结构体类型的定义允许嵌套是指( A )。 A. B.
成员是已经或正在定义的结构体型 成员可以重名
则向内存申请到内存空间存入整数
123 的
C. 结构体型可以派生 D. 定义多个结构体型
27. 逻辑运算符两侧运算对象的数据类型( D )。 A. B.
只能是 0 或 1 只能是 0 或非 0 正数
C. 只能是整型或字符型数据 D. 可以是任何类型的数据
28. 以下运算符中,优先级最高的运算符是( D )。 A. = B. !=
C. *( 乘号 ) D. ()
29. 关于建立函数的目的,以下正确的说法是( B )。
希望是本无所谓有,无所谓无的。这正如地上的路;其实地上本没有路,走的人多了,也便 成了路。
生命赐给我们,我们必须奉献生命,才能获得生命。 A. B. C. D. 30.
提高程序的执行效率 提高程序的可读性 减少程序的篇幅 减少程序文件所占内存
下 列 程 序 的 输 出 结 果 是 ( B ) 。 main(){int x=1,y=0,a=0,b=0;switch(x)
{case1.switch(y){case0.a++;break;case1.b++;break;}case
2. a++;b++;break;case3.a++;b++;break;}printf(\) ;} B. a=2,b=1 C. a=1,b=1 D. a=2,b=2
二、多选题
1. 设有以下定义 int a=0;double b=1.25;cha rc='A';#defined2 则下面语句中正确的是 ( ABC )。 A. a++; B. b++; C. c++; D. d++;
2. 若a, b, c, d都是int型变量且初值为0,以下选项中正确的赋值语句是( ABD )。 A. a=b=c=d=100; B. d++; C. c+b;
D. d=(c=22)-(b++);
3. C 语言中三种基本的类型为( ABC )。 A. int B. char C. float D. struct
4. 关于 while 语句与 do-while 语句,以下正确的是( ABC )。 A. while 是当型结构 B. do-while 是直到型结构 C.
两者有区别
希望是本无所谓有,无所谓无的。这正如地上的路;其实地上本没有路,走的人多了,也便 成了路。