国家二级C语言机试(函数和数组)模拟试卷1.pdfVIP

  • 0
  • 0
  • 约9.45万字
  • 约 67页
  • 2026-01-17 发布于河北
  • 举报

国家二级C语言机试(函数和数组)模拟试卷1.pdf

家二级C语言机试(函数和数组)模

拟试卷第1套

一、选择题(本题共38题,每题1.0分,共38分。)

1、以下叙中正确的是

A、用户自己定义的函数只能调用库函数

B、不同函数的形式参数不能使用相同名称的标识符

C、在C语言的函数内部,可以定义局部嵌套函数

D、实用的C语言源程序总是由一个或多个函数组成

标准答案:D

知识点解析:一个C语言源程序可以由一个或多个源文件组成,每个源文件可由

一个或多个函数组成,这些函数可以是自定义函数,也可以是库函数,各个函数之

间没有主从关系,不能嵌套定义函数。

nn

2、若有定义语句:chartsl=OK,*s2=ok;以下选项中,能够输出“0K”的语句

A^if(strcmp(sl,s2!=0puts(sl;

B、if(strcmp(sl,s2!=0puts(s2;

C、if(strcmp(s1s2==lputs(sl;

D^if(strcmp(sLs2==0puts(sl;

标准答案:A

知识点解析:字符串比较函数sircmp的功能是对si和s2所指字符串进行比较。如

果slVs2,返回负数,如果sl==s2,返回0,如果sls2,返回正数,所以对于本

题来说,能够输出“OK的语句是选项A所指的语句。

3、有以下程序#includeintfun(inta,intb{if==0returna;elseretum(fun(—a.—

b;}main。{printf(%d\n”,fun(4,2;}程序的运行结果是

A、1

B、2

C、3

D、4

标准答案:B

知识点解析:由程序可知函数fun(inta,intb是一个递归函数。所以当主函数中调

用fun(4,2时,其执行过程如下:fun(4,2-fun(3,l-fun(2,0,其返回值为

2o

4、以下叙中正确的是

A、函数既可以直接调用自己,也可以间接调用自己

B、任何情况下都不能用函数名作为实参

C、函数的递归调用不需要额外开销,所以效率很高

D、简单递归不需要明确的结束递归的条件

标准答案:A

知识点解析:一个C语言源程序可以由一个或多个源文件组成,每个源文件可由

一个或多个函数组成,各函数之间是平行的,除了主函数外,函数之间可以相互调

用,甚至C语言中的函数可以直接或间接地自己调用自己,称之为递归调用,该

调用主要用于把要解决的问题转化为一个新的问题,而这个新问题的解决方法仍与

原来的解法相同,只是所处理的对象有规律地递增或递减,可以应用这个转化过程

使问题得到解决,同时为了有效使用递归调用必定要有一个明确的结束递归的条

件。而每次进行递归调用时候,需要利用栈保存现场信息,因此并不会提高效率,

选项C)和选项D)不正确。函数名表名了函数的入口地址,如果函数的形参为指向

函数的指针变量,那么对应的实参必须为函数名,因此函数名可以为函数的参数,

选项B)错误。

5、以下叙中错误的是

A、用户定义的函数中可以没有return语句

B、用户定义的函数中若没有return语句,则应当定义函数为void类型

C、用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值

D、函数的return语句中可以没有表达式

标准答案:C

知识点解析:函数值通过return语句返回,return语句的形式如下:return表达式

或return表(达式);当程序执行到return语句时,程序的流程就返回到调用该函数

的地方,并带回函数值。在同一函数内,可以根据需要,在多处出现relum语句,

在函数体的不同部位退出函数。无论函数体中有多少个return语句,return语句只

可能执行一次,返回一个函数值。return语句中也可以不含有表达式,这时必须定

义函数为void类型,它的作用只是使流程返回到调用函数,并没有确定的函数

值。函数体内可以没有return语句

文档评论(0)

1亿VIP精品文档

相关文档