函数
一、选择题
1.在c语言中以下不正确的说法是:()
A.实参可以是常量、变量、或表达式
B.形参可以是常量、变量或表达式
C.实参可以为任意类型
D.形参应与其对应的实参类型一致
2.以下程序有语法性错误,有关错误原因的正确说法是:()
intmain()
{intG=5,k;
voidprt_char();
……
k=prt_char(G);
……
}
A.语句voidprt_char();有错,它是函数调用语句,不能用void说明
B.变量名不能使用大写字母
C.函数说明和函数调用语句之间有矛盾
D.函数名不能使用下划线
3.以下正确的说法是:()
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可嵌套
C.函数的定义和调用均不可以嵌套
D.函数的定义和调用均可以嵌套
4.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是:()
A)函数调用可以作为独立的语句存在
B)函数调用可以作为一个函数的实参
C)函数调用可以出现在表达式中
D)函数调用可以作为一个函数的形参
5.以下所列的各函数首部中,正确的是:()
A、voidplay(var:Integer,varb:Integer)
B、voidplay(inta,b)
C、voidplay(inta,intb)
D、Subplay(aasinteger,basinteger)
6.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是:()
A、地址传递B、单向值传递
C、由实参传给形参,再由形参传回实参D、传递方式由用户指定
7.有以下程序
voidfun(inta,intb,intc)
{a=456;b=567;c=678;}
intmain()
{intx=10,y=20,z=30;
fun(x,y,z);
printf("%d,/%d,%dn",x,y,z);
return0;
}
输出结果是:()
A、30,20,10B、10,20,30C、456,567,678D、678,567,456
8.下述函数定义形式正确的是()。
A、intf(intx;inty)B、intf(intx,y)
C、intf(intx,inty)D、intf(x,y:int)
9.关于函数参数,说法正确的是()。
A、实参与其对应的形参各自占用独立的内存单元
B、实参与其对应的形参共同占用一个内存单元
C、只有当实参和形参同名时才占用同一个内存单元
D、形参是虚拟的,不占用内存单元
10.一个函数的返回值由()确定。
A、return语句中的表达式B、调用函数的类型
C、系统默认的类型D、被调用函数的类型
11.以下正确的函数形式是()。
A、doublefun(intx,inty)
{z=x+y;returnz;}
B、fun(intx,y)
{intz;returnz;}
C、fun(x,y)
{intx,y;doublez;z=x+y;returnz;}
D、doublefun(intx,inty)
{doublez;z=x+y;returnz;}
12.下列函数中,能够从键盘上获得一个字符数据的函数是()。
A、puts()B、putchar()C、getchar()D、gets()
13.以下程序的输出结果是()。
fun(inta,intb,intc)
{
c=a+b;
}
intmain()
{intc;
fun(2,3,c);
printf(“%dn”,c);
return0;
}
A、2B、3C、5D、无定值
14.分析以下程序的运行结果()。
func(inta,intb)
{
inttemp=a;
a=b;b=temp;
}
intmain()
{
intx,y;
x=10;y=20;
func(x,y);
printf((“%d,%dn”,x,y);
return0;
}
A、10,20B、10,10C、20,10D、20,20
15.有以下程序
intf(intn)
{if(n==1)return1;
elreturnf(n-1)+1;
}
intmain()
{inti,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n",j);
return0;
}
程序运行后的输出结果是
A)4B)3C)2D)1
16.现有如下程序
#include"stdio.h"
intfun(intx)
{printf("x=%d\n",++x);
}
intmain()
{fun(12+5);return0;
}
则程序的输出结果是
A)x=12B)x=13C)x=17D)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(intm),计算任一输入的整数的各位数字之和。主函数包括输入、输
出和调用函数。
#include
intfan(intm);
voidmain()
{
intn,s;
scanf("%d",&n);
s=fan(n);
printf("s=%dn",s);
}
intfan(intm)
{
intx,s=0;
while(m!=0)
{
x=m%10;
m=m/10;
s=s+x;
}
returns;
}
15:已有变量定义语句和函数调用语句intx=57;isprime(x);函数isprime()用来判断整型数x
是否为素数,若是素数,函数返回1,否则返回0。请编写isprime函数。(不可修改主函数)
#include
voidmain()
{
intx=57;
if(isprime(x))printf("%d是素数!n",x);
elprintf("%d不是素数!n",x);
intisprime(intn)
{
inti;
for(i=2;i
if(n%i==0)return0;
return1;
}
本文发布于:2022-12-03 19:56:27,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/46381.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |