程序设计基础试卷与答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计基础
一、单选题(每题2分,共60分)
1. 以下对C语言函数的描述中,正确的是()。
A. C程序必须由一个或一个以上的函数组成
B. C函数既可以嵌套定义又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. C程序中有调用关系的所有函数必须放在同一个程序文件中
2. 在C语言中,char型数据在内存中的存储形式是()。
A. 补码
B. 反码
C. 原码
D. ASCII码
3. 以下叙述中不正确的是()。
A. 一个好的程序应该有详尽的注释
B. 在C程序中,赋值运算符的优先级最低
C. 在C程序中,j++;是一条赋值语句
D. C程序中的#include和#define均不是C语句
4. 应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。
A. fclose()
B. close()
C. fread()
D. fwrite
5. 设C语言中,int类型数据占2个字节,则short类型数据占()。
A. 1个字节
B. 2个字节
C. 4个字节
D. 8个字节
6. 已知函数的调用形式fread(buffer,size,count,fp);其中buffer代表的是()。
A. 一个整数,代表要读入的数据项总数
B. 一个文件指针,指向要读的文件
C. 一个指针,指向要读入数据的存放地址
D. 一个存储区,存放要读的数据项
7. 在C语言中,形参的缺省存储类是()。
A. auto
B. register
C. static
D. extern
8. 以下标识符中,不能作为合法的C用户定义标识符的是()。
A. putchar
B. _double
C. _123
D. INT
9. 在C语言中,能代表逻辑值“真”的是()。
A. True
B. 大于0的数
C. 非0整
D. 非0的数
10. 已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是()。
A. 0B. 语法错C. 1D. "假"
11. 函数rewind的作用是()。
A. 使位置指针重新返回文件的开头
B. 将位置指针指向文件中所要求的特定位置
C. 使位置指针指向文件的末尾
D. 使位置指针自动移至下一个字符位置
12. 以下正确的说法是:在C语言中()。
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. 便于写文件
C. 便于编辑预处理程序的处理
D. 便于确定类型和分配空间
15. 若有说明int a[3][4];则a数组元素的非法引用是()。
A. a[0][2*1]
B. a[1][3]
C. a[4-2][0]
D. a[0][4]
16. 以下只有在使用时才为该类型变量分配内存的存储类说明是()。
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的值为()。
A. 1
B. 2
C. 3
D. 不一定
18. 下列程序的输出结果是()。main(){char c1=97,c2=98;printf("%d%c",c1,c2);}
A. 9798
B. 97b
C. a98
D. ab
19. char a[]="Thisisaprogram.";输出前5个字符的语句是()。
A. printf("%.5s",a);
B. puts(a);
C. printf("%s",a);
D. a[5*2]=0;puts(a);
20. 以下运算符中,优先级最高的运算符是()。
A. ||
B. %
C. !
D. ==
21. 以下的选择中,正确的赋值语句是()。
A. a=1,b=2
B. j++
C. a=b=5;
D. y=int(x)
22. 若有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]);
23. 以下叙述中正确的是()。
A. 在程序的一行上可以出现多个有效的预处理命令行
B. 使用带参的宏时,参数的类型应与宏定义时的一致
C. 宏替换不占用运行时间,只占编译时间
D. 在以下定义中CR是称为"宏名"的标识符#defineCR045
24. C语言中,要求运算数必须是整型的运算符是()。
A. ^
B. %
C. !
D. >
25. 若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存空间存入整数123的语句为()。
A. scanf("%d",p);
B. scanf("%d",&p);
C. scanf("%d",*p);
D. scanf("%d",**p);
26. 结构体类型的定义允许嵌套是指()。
A. 成员是已经或正在定义的结构体型
B. 成员可以重名
C. 结构体型可以派生
D. 定义多个结构体型
27. 逻辑运算符两侧运算对象的数据类型()。
A. 只能是0或1
B. 只能是0或非0正数
C. 只能是整型或字符型数据
D. 可以是任何类型的数据
28. 以下运算符中,优先级最高的运算符是()。