您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页(完整版)c语言函数练习题附答案

(完整版)c语言函数练习题附答案

来源:意榕旅游网
函数

一、选择题

1. 在c语言中以下不正确的说法是:( )

A. 实参可以是常量、变量、或表达式 B. 形参可以是常量、变量或表达式 C. 实参可以为任意类型

D. 形参应与其对应的实参类型一致

2. 以下程序有语法性错误,有关错误原因的正确说法是:( )

int main() { int G=5,k;

void prt_char(); ……

k=prt_char(G); …… }

A. 语句void prt_char();有错,它是函数调用语句,不能用void说明 B. 变量名不能使用大写字母

C. 函数说明和函数调用语句之间有矛盾 D. 函数名不能使用下划线 3. 以下正确的说法是:( )

A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可嵌套 C. 函数的定义和调用均不可以嵌套 D. 函数的定义和调用均可以嵌套

4. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是:( )A)函数调用可以作为独立的语句存在 B)函数调用可以作为一个函数的实参 C)函数调用可以出现在表达式中 D)函数调用可以作为一个函数的形参 5. 以下所列的各函数首部中,正确的是:( ) A、 void play(var :Integer,var b:Integer) B、 void play(int a,b) C、 void play(int a,int b)

D、 Sub play(a as integer,b as integer)

6. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是:(A、 地址传递 B、 单向值传递

C、 由实参传给形参,再由形参传回实参 D、 传递方式由用户指定

7. 有以下程序

void fun (int a,int b,int c) { a=456; b=567; c=678;}

int main()

{ int x=10, y=20,z=30; fun (x,y,z);

printf(\"%d,/%d,%d\\n\return 0; }

输出结果是:( )

A、30,20,10 B、10,20,30 C、456,567,678 D、678,567,456 8. 下述函数定义形式正确的是( )。

A、 int f(int x; int y) B、 int f(int x,y) C、 int f(int x, int y) D、 int f(x,y: int) 9. 关于函数参数,说法正确的是( )。

A、 实参与其对应的形参各自占用独立的内存单元 B、 实参与其对应的形参共同占用一个内存单元 C、 只有当实参和形参同名时才占用同一个内存单元 D、 形参是虚拟的,不占用内存单元 10. 一个函数的返回值由( )确定。

A、 return语句中的表达式 B、 调用函数的类型 C、 系统默认的类型 D、 被调用函数的类型

11. 以下正确的函数形式是( )。

A、 double fun(int x,int y) { z=x+y; return z; } B、 fun(int x,y) { int z; return z; }

C、 fun(x,y)

{ int x,y; double z; z=x+y; return z; } D、 double fun(int x,int y) { double z; z=x+y; return z; }

12. 下列函数中,能够从键盘上获得一个字符数据的函数是( A、 puts( ) B、 putchar( ) C、 getchar( )

13. 以下程序的输出结果是( )。

fun(int a,int b,int c) { c=a+b; }

int main() { int c; fun(2,3,c); printf(“%d\\n”,c); return 0; }

、 gets( ) ) DA、 2 B、 3 14. 分析以下程序的运行结果( )。

func(int a,int b) { int temp=a; a=b; b=temp; }

int main() { int x,y; x=10; y=20; func(x,y);

printf((“%d,%d\\n”,x,y); return 0 ; }

A、 10,20 B、10,10 C、 20,10

15. 有以下程序

int f(int n)

{ if(n==1) return 1; else return f(n-1)+1; }

int main() { int i,j=0;

for(i=1;i<3;i++) j+=f(i); printf(\"%d\n\); return 0; }

程序运行后的输出结果是 A)4 B)3 C)2 D)1 16. 现有如下程序

#include \"stdio.h\" int fun(int x)

{ printf(\"x=%d\n\); }

int main()

{ fun(12+5); return 0; }

则程序的输出结果是 A)x=12 B)x=13 C)x=17

C、 5 D、 无定值

D、20,20

D)x=18

二、判断题

1、 ( F )return语句作为函数的出口,在一个函数体内只能有一个。 2、 ( T )在C程序中,函数不能嵌套定义,但可以嵌套调用。

3、 ( F ) C语言的源程序中必须包含库函数。 4、 ( F )在C程序中,函数调用不能出现在表达式语句中。 5、 ( F)在C函数中,形参可以是变量、常量或表达式。

6、 ( T )在C语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。 7、 ( F )若定义的函数没有参数,则函数名后的圆括号可以省略。 8、 ( T )函数的函数体可以是空语句。

9、 ( T )函数的实参和形参可以是相同的名字。 10、 ( F )C语言中函数返回值的类型由return语句中的表达式的类型决定。 11、 ( F )C语言程序中的main( )函数必须放在程序的开始部分。 12、 ( T )函数调用中,形参与实参的类型和个数必须保持一致。

14:编写一个函数fan(int m),计算任一输入的整数的各位数字之和。主函数包括输入、输出和调用函数。 #include int fan(int m); void main() {

int n,s;

scanf(\"%d\ s=fan(n);

printf(\"s=%d\\n\}

int fan(int m) {

int x,s=0; while(m!=0) {

x=m%10; m=m/10; s=s+x; }

return s; }

15:已有变量定义语句和函数调用语句 int x=57; isprime(x);函数isprime( )用来判断整型数x是否为素数,若是素数,函数返回1,否则返回0。请编写 isprime函数。(不可修改主函数) #include void main() {

int x=57;

if(isprime(x)) printf(\"%d 是素数!\\n\ else printf(\"%d 不是素数!\\n\

int isprime(int n) {

int i;

for(i=2;iif(n%i==0) return 0; return 1; }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务