2025年大一(程序设计C语言)函数编写阶段测试试题及答案.docVIP

  • 2
  • 0
  • 约2.42千字
  • 约 8页
  • 2026-02-01 发布于天津
  • 举报

2025年大一(程序设计C语言)函数编写阶段测试试题及答案.doc

2025年大一(程序设计C语言)函数编写阶段测试试题及答案

(考试时间:90分钟满分100分)

班级______姓名______

第I卷(选择题共30分)

答题要求:每题只有一个正确答案,请将正确答案的序号填在括号内。(总共6题,每题5分)

1.以下关于C语言函数参数传递的说法,正确的是()

A.只能通过值传递参数

B.只能通过指针传递参数

C.可以通过值传递和指针传递参数

D.以上说法都不对

答案:C

2.函数定义时,函数名后面的一对圆括号内是()

A.函数体

B.形式参数表

C.实际参数表

D.语句块

答案:B

3.若有函数声明“intfun(inta,intb);”,以下调用该函数的方式中,正确的是()

A.fun(1,2,3);

B.fun(1);

C.fun(1,2);

D.fun();

答案:C

4.以下函数返回值类型是int的是()

A.voidfun(){}

B.floatfun(){return1.0;}

C.intfun(){return1;}

D.doublefun(){return1.0;}

答案:C

5.函数调用时,实参和形参之间的数据传递是()

A.单向值传递

B.双向值传递

C.单向地址传递

D.双向地址传递

答案:A

6.以下关于函数递归调用的说法,错误的是()

A.递归调用必须有结束条件

B.递归调用会消耗较多系统资源

C.递归调用效率比循环高

D.递归函数中可以自己调用自己

答案:C

第II卷(非选择题共70分)

填空题(每题5分,共20分)

答题要求:请在横线上填写正确答案。

1.函数体是由一对______括起来的语句块。

答案:花括号({})

2.定义函数时,如果函数没有返回值,应使用______类型。

答案:void

3.函数调用时,实参的个数和类型应与形参______。

答案:一致

4.递归函数是指在函数内部______调用自身的函数。

答案:直接或间接

程序阅读题(每题10分,共20分)

答题要求:阅读以下程序,回答问题。

1.以下程序的功能是什么?

```c

includestdio.h

intadd(inta,intb){

returna+b;

}

intmain(){

intx=3,y=5;

intsum=add(x,y);

printf(两数之和为:%d\n,sum);

return0;

}

```

答案:该程序定义了一个函数add,用于计算两个整数的和。在main函数中,调用add函数计算3和5的和,并输出结果。

2.分析以下递归函数的执行过程。

```c

includestdio.h

intfactorial(intn){

if(n==0||n==1){

return1;

}else{

returnnfactorial(n-1);

}

}

intmain(){

intnum=5;

intresult=factorial(num);

printf(%d的阶乘是:%d\n,num,result);

return0;

}

```

答案:当n为5时,factorial(5)调用factorial(4),factorial(4)调用factorial(3),factorial(3)调用factorial(2),factorial(2)调用factorial(1),factorial(1)返回1,然后依次计算21、32、46、524,最终返回120。

程序设计题(每题15分,共30分)

答题要求:根据题目要求编写函数。

1.编写一个函数,判断一个整数是否为偶数。

```c

includestdio.h

intisEven(intnum){

if(num%2==0){

return1;

}else{

return0;

}

}

```

2.编写一个函数,计算两个整数的最大公约数。

```c

includestdio.h

intgcd(inta,intb){

while(b!=0){

inttemp=b;

b=a%b;

a=temp;

}

returna;

}

```

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档