程序设计基础试卷与答案

  • 格式:pdf
  • 大小:61.46 KB
  • 文档页数:5

下载文档原格式

  / 5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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. 以下运算符中,优先级最高的运算符是()。