《C语言程序设计》期末复习题

  • 格式:doc
  • 大小:141.00 KB
  • 文档页数:18

下载文档原格式

  / 41
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C语言程序设计》期末复习题

一、选择题

1.能将高级语言编写的源程序转换成目标程序的是()

A.链接程序 B. 解释程序 C. 编译程序 D.编辑程序

2.设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是()。

A. 10

B. a==11||a==12||a==13||a==14

C. a>10&&a<15

D.!(a<=10)&&!(a>=15)

3.当调用函数时,实参是一个数组名,则向函数传送的是( )。

A. 数组的长度

B. 数组的首地址

C. 数组每一个元素的地址

D. 数组每个元素中的值

4.执行下面的程序段后,k的值是()

int k=1,n=325;

do { k*=n%10;n/=10;}while(n);

A. 3

B. 30

C. 523

D. 325

5.若有以下数组说明,则i=6;a[a[i]]元素数值是()。

int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};

A.3

B.8

C.6

D.5

6.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是()

A. for(i=1,p=1;i<=5;i++) p*=i;

B. for(i=1;i<=5;i++){ p=1; p*=i;}

C. i=1;p=1;while(i<=5){p*=i; i++;}

D. i=1;p=1;do{p*=i; i++; }while(i<=5);

7.若有:int a[][3]={{1,2,3},{4,5},{6,7},{8}}; 则数组a的第一维的大小为: ( ) A. 12 B. 3 C. 4 D.无确定值

8.设有如下程序段,则执行p=s;语句后,以下叙述正确的是( )。

char s[20]= “Bejing”,*p;

p=s;

A.可以用*p表示s[0]

B.s数组中元素的个数和p所指字符串长度相等

C.s和p都是指针变量

D.数组s中的内容和指针变量p中的内容相等

9.以下正确的函数定义是( )。

A.double sum(int x, int y) B.double sum (int x,y)

{ z=x+y ; return z ; } { int z ; return z ;}

C.sum (x,y) D.double sum (int x, int y)

{ int x, y ; double z ; { double z ;

z=x+y ; return z ; } z=x+y ; return z ; }

10.已知学生信息描述为

struct student

{

int no;

char name[20];

char sex;

struct{int year; int month; int day; }birth;

};

struct student s;

设变量s中的“生日”应是“1984年11月11日”,下列对“生日”的正确赋值方式是()。A. year=1984;month=11;day=11;

B. birth.year=1984;birth.month=11;birth.day=11;

C. s.year=1984;s.month=11;s.day=11;

D. s.birth.year=1984;s.birth.month=11;s.birth.day=11;

11. 下列数据中,为字符串常量的是()。

A. ′A′

B. How do you do.

C. "A"

D.$abc

12.以下运算符中,优先级最高的运算符是()。

A. ||

B. %

C. !

D.==

13.执行以下程序段后,输出结果和a的值是()。

int a=10;

printf("%d",++a);

A.10和10

B.10和11

C.11和10

D.11和11

14. 有定义语句:int x,y;若要通过scanf("%d%d",&x,&y);语句使变量x得到数值11,变量y得到

数值12,下面四组输入形式中,正确的是()。

A. 11 12<回车>

B. 11,<空格>12<回车>

C. 11,12<回车>

D. 11,<回车> 12<回车>

15. 下列定义数组的语句中,正确的是( )。

A. int x[0..10];

B. int x[ ];

C. #define N 10

D. int N=10;

int x[N]; int x[N];

16. 若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是()。

A. int p=&x;

B.int *p=x;

C. *p=*x;

D. int *p=&x;

17. 以下不是无限循环的语句为()。

A. for(y=0,x=1;x>++y;x=i++) i=x;

B. for(;;x++=i);

C. while(1){x++;}

D. for(i=10;;i--) sum+=i;

18. 有以下函数,函数的功能是( )。

int fun(char *x, char *y)

{ int n=0;

while ( (*x==*y) && *x!='\0' ) {x++; y++; n++;}

return n ;

}

A.将y所指字符串赋给x所指存储空间

B.查找x和y所指字符串中是否有'\0'

C.统计x和y所指字符串中最前面连续相同的字符个数

D.统计x和y所指字符串中相同的字符个数

19. 语言中,定义结构体的保留字是()。

A.union

B.struct

C.enum

D.typedef

20. 应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。

A.open

B.fopen

C.close

D.fclose

21. 在C语言中,if语句后的一对原括号中,用以决定分支的流程的表达式()。

A.只能用逻辑表达式

B.只能用关系表达式