- 0
- 0
- 约9.45万字
- 约 67页
- 2026-01-17 发布于河北
- 举报
家二级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)