C语言函数练习习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
欢迎阅读
【单选题】
在下列关于C函数定义的叙述中,正确的是?
∙A、
函数可以嵌套定义,但不可以嵌套调用;
∙
∙
∙
∙
∙
∙C、
4
∙D、
5
我的答案:B得分:?2.5分
3
【单选题】
C语言中函数返回值的类型是由以下哪个选项决定的?
∙A、
函数定义时指定的类型;
∙B、
return语句中的表达式类型;
∙
∙
∙
∙
∙
∙
若函数调用时参数为基本数据类型的变量,以下叙述正确的是?∙A、
实参与其对应的形参共享内存存储单元;
只有当实参与其对应的形参同名时才共享内存存储单元;∙C、
实参与对应的形参分别占用不同的内存存储单元;
∙D、
∙
∙
∙
∙
∙A、
数组第一个元素的地址;
∙B、
数组的第一个元素的值;
∙C、
数组中所有元素的值;
数组元素的个数;
我的答案:A得分:?2.5分
8
【单选题】C语言规定了程序中各函数之间调用关系,以下说法正确的是?∙A、既允许直接递归调用也允许间接递归调用;
∙
∙
∙
∙
∙
∙
∙
若函数的形参为一维数组,则下列说法中正确的是()。
∙A、
使用函数时的对应实参必为数组名。
形参数组可以不指定大小。
∙C、
形参数组的元素个数必须等于实参数组的元素个数。
∙D、
∙
∙
∙
∙
void?fun(int?n,double?x)??{……}
下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是()。
∙A、
fun(int?y,double?m);??
∙B、
k=fun(10,12.5);
fun(x,n);???
∙D、
void?fun(n,x);
我的答案:C得分:?2.5分
13
【单选题】
∙
∙
∙
∙
float?fadd(float?a,?float?b)
{
return?a+b;
}
并将其放在调用语句之后,则在调用之前应对该函数进行说明。
以下说明中错误的是?∙A、
float?fadd(float?a,b);
∙B、
float?fadd(float?b,?float?a)?;
∙C、
float?fadd(float,?float)?;
∙D、
{?
????int?a,b;
??scanf("%d,%d",&a,?&b);
??swap(?);?????????????????????????
??printf?("a=%d,b=%d\n",a,b);???
}?
∙A、
a=5,b=3
∙B、
a=3,b=5
∙C、
5,3
∙D、
????r=fun(fun(x,y),2*z);
???printf("%d\n",r);
}
∙A、
3
∙B、
6
∙C、
8
∙D、
∙A、
∙B、
1
∙C、
6
∙D、
无法确定
我的答案:D得分:?2.5分
18
【单选题】
有以下程序,运行后的输出结果是(? )。
∙
∙
∙
∙D、
9.0
我的答案:A得分:?0.0分
19
【单选题】
以下描述正确的是?
∙A、
调用函数时的实参只能是有确定值的变量;
∙B、
return()语句的括号中,可以是变量、常量或有确定值的表达式;
∙C、
C语言中,函数调用时实参和形参间的参数传递方式不都是值传递;∙D、
∙
∙B、
6
∙C、
8
∙D、
36
我的答案:C得分:?2.5分21
【单选题】
已有以下代码
#include<stdio.h>
f()
∙
∙B、
0,1,2,3,
∙C、
0,-1,-2,-3,
∙D、
-1,-2,-3,-4,
我的答案:C得分:?2.5分
22
【单选题】
C语言程序的基本单位是?
∙A、
函数
∙B、
∙
∙
∙
∙
∙
∙
在函数调用时,以下说法正确的是?∙A、
函数调用后必须带回返回值;
∙B、
实际参数和形式参数可以同名;
∙C、
函数间的数据传递不可以使用全局变量;∙D、
主调函数和被调函数总是在同一个文件里;
我的答案:B得分:?2.5分25
【填空题】
? printf ("a=%d,b=%d\n",a,b);???
}?
我的答案:得分:?0.0分
第一空:?
a=3,b=5
批语
26
【填空题】
以下程序的功能是用递归方法计算工资,已知第一位员工工资最少,为3100元,其余员工工资一个比一个多500元,求第5位员工的工资。
请填空。
salary(int?n)
{
int?s;
分析以下程序的运行结果是_______
#include “stdio.h”
func(int a ,int b)
{
?? int c;
c=a+b;
return c;
}
int main()
{
int x=6,y,r;
else
return 2;
}
int main()
{
printf("%d\n",fib(3));
}
以下程序的输出结果是_____。
#include<stdio.h>
int?fac_sum(int?n)
{
????static?int?f=1,t=1,s=0;
????int?i;
????if(n>t)
???????sum=fac_sum(a[i]);
????printf(“sum=%d\n”,sum);
}
我的答案:得分:?2.5分
第一空:?
sum=128
批语
【填空题】
以下程序的运行结果是________。
#include <stdio.h>
int n=1;
void main()
??? n=n+10;
??? y=y+n;
??? printf("FUNC: x=%2d y=%2d n=%2d\n",x,y,n);
}
我的答案:得分:?2.5分
第一空:?
MAIN: x= 5 y= 1 n= 1FUNC: x= 6 y=21 n=11MAIN: x= 5 y= 1 n=11FUNC: x= 8 y=31 n=21 批语
【填空题】
输入一个整数10,以下程序的运行结果是_______。
#include<stdio.h>
void main()
{
int sub(int a)
{
??? int c;
??? c=a%2;
??? return c;
}
我的答案:得分:?2.5分
第一空:?
1010
批语
33
【填空题】
以下程序的运行结果是______。
#include <stdio.h>
以下程序的运行结果是________。
#include <stdio.h>
int workover(int i); int reset(int i);
int i=0;
int main()
{
?int i=5;
}
int reset(int i) {
?i=i<=2?5:0;?
?return i;
}
我的答案:得分:?2.5分
第一空:?
i=5i=2i=2i=0i=2
批语
35
【判断题】
函数调用时,当数组名作函数参数时,实参数组值与形参数组值不同。
我的答案:×得分:?2.5分
40
【判断题】
一个C程序可以由一个或多个函数组成,其中必须有且只有一个main函数。
我的答案:√得分:?2.5分。