本章(函数)共3种题型:
一、填空题(共95道)
二、判断题(共20道)
三、填空题 (共10道)
*********************************************************************
一、填空题(共95道)
1.考题所在章节: 函数
本题序号:124
下列说法中错误的是
A 一个数组只允许存储同种类型的变量。
B 在对数组进行初始化时,给定的数据元素个数可以比数组本身大小多。
C 数组的名称其实是数组在内存中的首地址。
D 当数组名作为
被传递给某个函数时,函数运行过程中原数组中的元素的值可能被修改。
参考
B
2.考题所在章节: 函数
本题序号:126
下列叙述中错误的是
A 主函数中定义的变量在整个程序中都是有效的。
B 在其它函数中定义的变量在主函数中也不能使用。
C 形式参数也是局部变量。
D 复合语句中定义的变量只在该复合语句中有效。
参考答案
A
3.考题所在章节: 函数
本题序号:127
若函数的形参为一维数组,则下列说法中正确的是
A 调用函数时的对应实参必为数组名。
B 形参数组可以不指定大小。
C 形参数组的元素个数必须等于实参数组的元素个数。
D 形参数组的元素个数必须多于实参数组的元素个数。
参考答案
B
4.考题所在章节: 函数
本题序号:128
在函数的说明和定义时若没有指出函数的类型,则
A 系统自动地认为函数的类型为整型。
B 系统自动地认为函数的类型为字符型。
C 系统自动地认为函数的类型为实型。
D 编译时会出错。
参考答案
A
5.考题所在章节: 函数
本题序号:135
下面叙述中正确的是
A 对于用户自己定义的函数,在使用前必须加以说明。
B 说明函数时必须明确其参数类型和返回类型。
C 函数可以返回一个值,也可以什么值也不返回。
D 空函数不完成任何操作,所以在程序
中没有用处。
参考答案
C
6. 考题所在章节: 函数
本题序号:157
下面正确的函数定义形式是
A double fun(int x,int y)
B double fun(int x;int y)
C double fun(int x,int y);
D double fun(int x,y);
参考答案
A
7.考题所在章节: 函数
本题序号:158
若调用一个函数,且此函数中没有return语句,则正确的说法是( ) 该函数:
A 没有返回值
B 返回若干个系统默认值;
C 能返回一个用户所希望的函数值;
D 返回一个不确定的值
参考答案
D
8.考题所在章节: 函数
本题序号:159
下面说法中不正确的是( )
在C语言中
A 实参可以是常量、变量或
达式;
B 形参可以是常量、变量或表达式;
C 函数的参数是函数间传递数据的一种手段;
D 实参个数应与对应的形参个数相等,类型匹配;
参考答案
B
9.考题所在章节: 函数
本题序号:162
C语言允许函数返回值类型缺省定义,此时该函数隐含的返回值类型是
A float型
B int 型
C long 型
D double型
参考答案
B
10.考题所在章节: 函数
本题序号:163
C语言规定,函数返回值的类型是由
A return语句中的表达式类型所决定;
B 调用该函数时的主调函数类型所决定;
C 调用该函数时系统临时决定;
D 在定义该函数时所指定的函数类型所决定;
参考答案
D
11.考题所在章节: 函数
本题序号:164
下面函数调用语句含有实参的个数为( )
func((exp1,exp2),(exp3,exp4,exp5));
A 1
B 2
C 5
D 4
参考答案
B
12.考题所在章节: 函数
本题序号:165
以下错误的描述是( )
函数的调用可以
A 出现在执行语句中;
B 出现在一个表达式中;
C 为一个函数的实参;
D 作为一个函数的形参;
参考答案
D
13.考题所在章节: 函数
本题序号:167
若使用一维数组名作函数参数,则以下正确的说法是
A 必须在主调用函数中说明此数组的大小;
B 实参数组类型与形参数组类型可以匹配;
C 在被调函数中,不需要考虑形参数组的大小;
D 实参数组名与形参数组名必须一致;
参考答案
C
14.考题所在章节: 函数
本题序号:168
下正确的说法是( )。
如果在一个函数中的复合语句中定义了一个变量,则该变量
A 只在该复合语句中有效
B 在该函数中有效
C 本程序中有效
D 为非法变量
参考答案
A
15.考题所在章节: 函数
本题序号:169
以下不正确的说法是
A 在不同函数中可以使用相同的名字的变量;
B 形式参数是局部变量;
C 在函数内定义的变量只在本函数范围内有效;
D 在函数内的复合语句中定义的变量在本函数范围内有效;
参考答案
D
考题所在章节: 函数
16.本题序号:309
如果主调函数传递数组给被调函数,对函数形参的说明有错误的是
A int a(float x[],int n)
B int a(float *x,int n)
C int a(float x[10],int n)
D int a(float x,int n)
参考答案
D
17.考题所在章节: 函数
本题序号:312
在C语言中,函数的数据类型是指
A 函数返回值的数据类型
B 函数形参的数据类型
C 调用该函数时的实参的数据类型
D 任意指定的数据类型
参考答案
A
18.考题所在章节: 函数
本题序号:313
已知如下定义的函数:
fun1(int a)
{
printf("\n%d",a);
}
则该函数的数据类型是____。
A 与参数a的类型相同
B void型
C 没有返回值
D 无法确定
参考答案
A
19.考题所在章节: 函数
本题序号:449
有如下函数调用语句
func(rec1,rec2+rec3,(rec4,rec5));
该函数调用语句中,含有的实参个数是
A 3
B 4
C 5
D 有语法错
参考答案
A
20.考题所在章节: 函数
本题序号:477
以下所列的各函数首部中,正确的是
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)
参考答案
C
21.考题所在章节: 函数
本题序号:483
当调用函数时,实参是一个数组名,则向函数传送的是
A 数组的长度
B 数组的首地址
C 数组每一个元素的地址
D 数组每个元素中的值
参考答案
B
22.考题所在章节: 函数
本题序号:624
在C语言中,形参的缺省存储类是
A auto
B register
C static
D extern
参考答案
A
23.考题所在章节: 函数
本题序号:688
在C语言中关于函数的正确叙述是
A 函数的定义和调用均可以嵌套
B 函数的定义不可以嵌套,但函数的调用可以嵌套
C 函数的定义和调用均不可以嵌套
D 函数的定义可以嵌套,但函数的调用不可以嵌套
参考答案
B
24.考题所在章节: 函数
本题序号:702
若用数组名作为函数调用时的实参,则实际上传递给形参的是
A 数组首地址
B 数组的第一个元素值
C 数组中全部元素的值
D 数组元素的个数
参考答案
A
25.考题所在章节: 函数
本题序号:891
有以下程序
char fun(char x , char y)
{ if(x
b) return(a);
else return(b);
}
main()
{ int x=3, y=8, z=6, r;
r=fun(fun(x,y), 2*z);
printf("%d\n", r);
}
程序运行后的输出结果是( )。
A 3
B 6
C 8
D 12
参考答案
D
30.考题所在章节: 函数
本题序号:977
在一个C程序中
A main函数必须出现在所有函数之前
B main函数可以在任何地方出现
C main函数必须出现在所有函数之后
D main函数必须出现在固定位置
参考答案
B
31.考题所在章节: 函数
本题序号:1040
C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是
A void
B int
C float
D double
参考答案
B
32.考题所在章节: 函数
本题序号:1093
在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是
A 地址传递
B 单向值传递
C 由实参传给形参,再由形参传回实参
D 传递方式由用户指定
参考答案
B
33.考题所在章节: 函数
本题序号:1145
以下程序的输出结果是( )。
fun(int x, int y, int z)
{ z=x*x+y*y; }
main()
{ int a=31;
fun(5,2,a);
printf(“%d”,a);
}
A 0
B 29
C 31
D 无定值
参考答案
C
34.考题所在章节: 函数
本题序号:1198
有如下程序
int runc(int a,int b)
{ return(a+b);}
main( )
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf(“%\d\n”,r);
}
该程序的输出的结果是 ( )。
A 12
B 13
C 14
D 15
参考答案
D
35.考题所在章节: 函数
本题序号:1397
以下叙述中不正确的是
A 在不同的函数中可以使用相同名字的变量
B 函数中的形式参数是局部变量
C 在一个函数内定义的变量只在本函数范围内有效
D 在一个函数内的复合语句中定义的变量在本函数范围内有效
参考答案
D
36.考题所在章节: 函数
本题序号:1413
有以下程序
viod fun (int a,int b,int c)
{ a=456; b=567; c=678;}
main()
{ int x=10,y=20,z=30;
fun (x,y,z);
printf("%d,%d,%d\n",z,y,x);
}
输出结果是( )。
A 30,20,10
B 10,20,30
C 456,567,678
D 678,567,456
参考答案
A
37.考题所在章节: 函数
本题序号:1464
以下对C语言函数的有关描述中,正确的是
A 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B C函数既可以嵌套定义又可以递归调用
C 函数必须有返回值,否则不能使用函数
D C程序中有调用关系的所有函数必须放在同一个源程序文件中
参考答案
A
38.考题所在章节: 函数
本题序号:1513
C语言中,函数的隐含存储类别是
A auto
B static
C extern
D 无存储类别
参考答案
C
39.考题所在章节: 函数
本题序号:1549
以下说法中正确的是
A C语言程序总是从第一个的函数开始执行
B 在C语言程序中,要调用的函数必须在main()函数中定义
C C语言程序总是从main()函数开始执行
D C语言程序中的main()函数必须放在程序的开始部分
参考答案
C
40.考题所在章节: 函数
本题序号:1701
关于流程控制语句,下列说法正确的一项是
A 一个自定义函数中的return语句只能出现一次;
B break语句只适用于几种循环语句格式,表示终止当前层的循环;
C 在循环体中遇到continue,表示结束本次循环,直接进行下次循环条件的判断;
D 在自定义函数的执行过程中,return语句可能被多次执行。
参考答案
C
41.考题所在章节: 函数
本题序号:1755
若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用错误的是
A m[--i]
B m[2*2]
C m[2*2]
D m[m[i]]
参考答案
C
42.考题所在章节: 函数
本题序号:1758
若有定义语句:char s[10]="1234567\0\0";,则strlen(s)的值是
A 7
B 8
C 9
D 10
参考答案
A
43.考题所在章节: 函数
本题序号:1806
以下关于return语句的叙述中正确的是
A 一个自定义函数中必须有一条return语句
B 一个自定义函数中可以根据不同情况设置多条return语句
C 定义成void类型的函数中可以有带返回值的return语句
D 没有return语句的自定义函数在执行结束时不能返回到调用处
参考答案
C
44.考题所在章节: 函数
本题序号:1838
在C语言中,以下程序的输出结果是( )fun(int x,int y,int z){ z=x*y;}main(){int a=2,b=3,c=5;fun(a,b,c);printf("%d",c);}
A 5
B 6
C 2
D 3
参考答案
A
45.考题所在章节: 函数
本题序号:1842
fun(int x,int y,int z){ z=x+y;return z;}main(){int a=2,b=3,c=6;c=fun(a,b,c);printf("%d",c);}
A 5
B 6
C 9
D 3
参考答案
A
46.考题所在章节: 函数
本题序号:1848
在C语言中,用于求平方根的函数是()。
A log
B exp
C pow
D sqrt
参考答案
D
47.考题所在章节: 函数
本题序号:1850
在C语言中,下列语句的输出结果是( )。 printf("%d\n", strlen("ATS\n\12\1\\"));
A A.11
B B.10
C C.8
D D.7
参考答案
A
48.考题所在章节: 函数
本题序号:1859
在C语言中,以下哪个函数用于将字符输出到标准输出设备( )。
A getw()
B open()
C read()
D putchar()
参考答案
D
49.考题所在章节: 函数
本题序号:1870
下列程序执行结果是()。 main( ) { int a=8; fun(a); printf("%d\n", a); } fun( int a) { int b; b=a*a; return b; }
A 64
B 8
C 0
D 不定值
参考答案
B
50.考题所在章节: 函数
本题序号:1874
在C语言中,用于求字符串长度的函数是()。
A strcpy
B strlen
C strcmp
D strcat
参考答案
B
51.考题所在章节: 函数
本题序号:1892
在C语言中,若有定义 float a[5][4],则数组a占内存的字节数()。
A A.80
B B.20
C C.40
D D.25
参考答案
A
52.考题所在章节: 函数
本题序号:1941
在C语言中,函数调用:strcat(strcpy(str1,str2),str3)的功能是( )。
A 将串str1复制到串str2中后再连接到串str3之后
B 将串str1连接到串str2之后再复制到串str3之后
C 将串str2复制到串str1中后再将串str3连接到串str1之后
D 将串str2连接到串str1之后再将串str1复制到串str3中
参考答案
C
53.考题所在章节: 函数
本题序号:1944
在C语言中,用于求|x|的函数是()。
A log(x)
B exp(x)
C fabs(x)
D sqrt(x)
参考答案
C
54.考题所在章节: 函数
本题序号:1960
在C语言中,用于字符串连接的函数是()。
A strcpy
B strlen
C strcmp
D strcat
参考答案
D
55.考题所在章节: 函数
本题序号:1966
在C语言中,用于字符串复制的函数是()。
A strcpy
B strlen
C strcmp
D strcat
参考答案
A
56.考题所在章节: 函数
本题序号:1976
在C语言中,为了判断两个字符串s1>s2,应当使用( )。
A if (s1>s2)
B if (strcat(s1,s2))
C if (strcpy(s1,s2))
D if (strcmp(s1,s2)>0)
参考答案
D
57.考题所在章节: 函数
本题序号:1979
在C语言中,若有定义 float a[3][4],则数组 a 可以有( )个元素。
A 30
B 12
C 24
D 25
参考答案
B
58.考题所在章节: 函数
本题序号:2000
在C语言中,为了比较两个字符串s1和s2是否相等,应当使用( )。
A if (s1==s2)
B if (s1=s2)
C if (strcpy(s1,s2))
D if (strcmp(s1,s2)==0)
参考答案
D
59.考题所在章节: 函数
本题序号:2028
在C语言中,执行下面语句后,输出的结果是( )。
int x=10,y=3; printf("%d\n",y=x/y);
A 0
B 3
C 1
D 不确定的值
参考答案
B
60.考题所在章节: 函数
本题序号:2053
在C语言中,下列符号中可以作为函数名的是( )。
A _sysf
B $abc
C 5as
D x-a
参考答案
A
61.考题所在章节: 函数
本题序号:2079
在C语言中,若有定义:int y=3,x[7]={1,2,3,4,5,6,7},则表达式y+=x[6]的值为( )。
A 8
B 9
C 10
D 11
参考答案
C
62.考题所在章节: 函数
本题序号:2105
fun(int x,int y){ int z;z=x+y;return z;}main(){int a=2,b=3,c=6;c=fun(a,b);printf("%d",c);}
A 5
B 6
C 9
D 3
参考答案
A
63.考题所在章节: 函数
本题序号:2110
fun(int x,int y,int z){ z=x+y;}main(){int a=2,b=3,c=5;fun(a,b,c);printf("%d",c);}
A 5
B 6
C 9
D 3
参考答案
A
64.考题所在章节: 函数
本题序号:2172
以下叙述正确的是( )。
A 构成C程序的基本单位是函数
B 可以在一个函数中定义另一个函数
C main()函数必须放在其它函数之前
D 所有被调用函数一定要在调用之前进行定义
参考答案
A
65.考题所在章节: 函数
本题序号:2177
以下叙述中错误的是( )。
A C程序必须由一个或一个以上的函数组成
B 函数调用可以作为一个独立的语句存在
C 若函数有返回值,必须通过return语句返回
D 函数形参的值也可以传回给对应的实参
参考答案D
66.考题所在章节: 函数
本题序号:2178
下面对函数嵌套的叙述中,正确的是( )。
A 函数定义可以嵌套,但函数调用不能嵌套
B 函数定义不可以嵌套,但函数调用可以嵌套
C 函数定义和函数调用均不能嵌套
D 函数定义和函数调用均可以嵌套
参考答案
B
67.考题所在章节: 函数
本题序号:2183
C语言规定,函数返回值的类型是由_______。
A return语句中的表达式类型所决定
B 调用该函数时的主调函数类型所决定
C 调用该函数时系统临时决定
D 在定义该函数时所指定的函数类型所决定
参考答案D
68.考题所在章节: 函数
本题序号:2184
以下程序的输出结果是( )。
#include “stdio.h”
void fun()
{ int a,b;
a=100; b=200;
}
main()
{ int a=5,b=7;
fun();
printf(“%d%d”,a,b);
}
A 100200
B 57
C 200100
D 75
参考答案
B
69.考题所在章节: 函数
本题序号:2185
以下函数调用语句中含有( )个实参。
fun ((exp1,exp2),(exp3,exp4,exp5));
A 1
B 2
C 4
D 5
参考答案
B
70.考题所在章节: 函数
本题序号:2186
以下程序的输出结果是( )。
#include “stdio.h”
void fun(int a,int b,int c)
{ a=456;
b=567;
c=678;
}
main()
{ int x=10,y=20,z=30;
fun(x,y,z);
printf(“%d,%d,%d”,z,y,x);
}
A 30,20,10
B 10,20,30
C 456,567,678
D 678,567,456
参考答案
A
71.考题所在章节: 函数
本题序号:2187
以下程序的输出结果是( )。
fun( int a,int b,int c)
{ c=a*a+b*b;
}
main()
{ int x=22;
fun(4,2,x);
printf(“%d”,x);
}
A 20
B 21
C 22
D 23
参考答案
C
72.考题所在章节: 函数
本题序号:2189
下述程序的输出结果是( )
ling fun(int n)
{ long s;
if(n==1|| n==2)
s=2;
else s=n-fun(n-1);
return s;
}
main()
{ printf(“%ld\n”,fun(3));
}
A 1
B 2
C 3
D 4
参考答案
A
73.考题所在章节: 函数
本题序号:2210
在宏定义#define PI 3.14159中,用宏名PI代替一个( )。
A 常量
B 单精度数
C 双精度数
D 字符串
参考答案
D
74.考题所在章节: 函数
本题序号:2540
下列4行代码定义了求两数之和的函数,其中,行_______是错误的。
A void add(float a,float b)
B {float c;
C c=a+b;
D return c;}
参考答案
A
75.考题所在章节: 函数
本题序号:2542
以下正确的函数声明语句是_______。
A double fun(int x;y);
B double fun( int x;int y);
C double fun(int x , int y);
D double fun(int x,y);
参考答案
C
76.考题所在章节: 函数
本题序号:2545
以下程序的输出结果是_______。
int m=13;
int fun2(int x,int y)
{
int m=3;
return (x*y-m);
}
int main (void)
{
int a=7;b=5;
printf("%d\n ",fun2(a,b)/m);
return 0;
}
A 1
B 2
C 3
D 10
参考答案
B
77.考题所在章节: 函数
本题序号:2548
下列程序的输出结果是_______。
void fun(int a,int b,int c)
{
a=456;
b=567;
c=678;
}
int main(void)
{
int x=10,y=20,z=30;
fun(x,y,z);
printf("%d,%d,%d\n",x,y,z);
return 0;
}
A 30,20,10
B 10,20,30
C 456,567,678
D 678,567,456
参考答案
B
78.考题所在章节: 函数
本题序号:2554
以下程序的输出结果是_______。
int a,b;
void fun()
{
a=100;
b=200;
}
int main(void)
{
int a=5,b=7;
fun();
printf("%d,%d\n",a,b);
return 0;
}
A 100,200
B 5,7
C 200,100
D 7,5
参考答案
B
79.考题所在章节: 函数
本题序号:2557
以下数组定义不正确的是_______。
A int a[2][3];
B int b[][3];
C int c[100][100]={0};
D int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
参考答案
D
80.考题所在章节: 函数
本题序号:2558
以下能正确定义数组并正确赋初值的语句是_______。
A int N=5,b[N][N];
B int a[1][2]={{1},{3}};
C int c[2][]={{1,2},{3,4}};
D int d[3][2]={{1,2},{34}}
参考答案
D
81.考题所在章节: 函数
本题序号:2559
下列对C语言字符数组的描述中错误的是_______。
A 字符数组可以存放字符串
B 字符数组中的字符串可以整体输入、输出
C 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
D 不可以用关系运算符对字符串进行比较
参考答案
C
82.考题所在章节: 函数
本题序号:2560
若有定义语句“int a[3][6];”,按在内存中的存放顺序,a数组的第10个元素是_______。
A a[0][4]
B a[1][3]
C a[0][3]
D a[1][4]
参考答案
B
83.考题所在章节: 函数
本题序号:2561
设有数组定义“char array[]="China";”,则数组carray所占的空间为_______。
A 4个字节
B 5个字节
C 6个字节
D 7个字节
参考答案
C
84.考题所在章节: 函数
本题序号:2562
执行下面的语句段后“int k=3,s[2];s[0]=k;k=s[1]*10”,变量k的值为_______。
A 不定值
B 33
C 30
D 10
参考答案
A
85.考题所在章节: 函数
本题序号:2563
有以下定义“char x[]="abcdefg";char y[]={''a'',''b'',''c'',''d'',''e'',''f'',''g''};”,则正确的叙述为_______。
A 数组x和数组y等价
B 数组x和数组y的长度相同
C 数组x的长度大于数组y的长度
D 数组x的长度小于数组y的长度
参考答案
C
86.考题所在章节: 函数
本题序号:2565
1下列能正确定义字符串的语句是_______。
A char str[]={ ''\064''};
B char str="kx43";
C char str=" ";
D char str[]="\0";
参考答案
D
87.考题所在章节: 函数
本题序号:2568
以下程序输出结果是_______。
int main(void)
{
char ch[7]={"65ab21"};
int i,s=0;
for(i=0;ch[i]>=''''0''''&& ch[i]<=''''9'''';i+=2)
s=10*s+ch[i]-''''0'''';
printf("%d\n",s);
return 0;
}
A 2ba56
B 6521
C 6
D 62
参考答案
C
88.考题所在章节: 函数
本题序号:2570
以下程序的输出结果是_______。
int main(void)
{
int i,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=1;i<3;i++)
printf("%d,",x[i][2-i]);
return 0;
}
A 1,5,9,
B 1,4,7,
C 3,5,7,
D 3,6,9,
参考答案
C
89.考题所在章节: 函数
本题序号:2578
有定义语句“int b;char c[10];”,则正确的输入语句是_______。
A scanf("%d%s",&b,&c);
B scanf("%d%s",&b,c);
C scanf("%d%s",b,c);
D scanf("%d%s",b,&c);
参考答案
B
90. 考题所在章节: 函数
本题序号:2632
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_______。
A 调用可以作为独立的语句存在
B 调用可以作为一个函数的实参
C 调用可以出现在表达式中
D 调用可以作为一个函数的形参
参考答案
D
91.考题所在章节: 函数
本题序号:2633
在C语言中,函数返回值的类型最终取决于_______。
A 函数定义时在函数首部所说明的函数类型
B return 语句中表达式值的类型
C 调用函数时主调函数所传递的实参类型
D 函数定义时形参的类型
参考答案
A
92.考题所在章节: 函数
本题序号:2634
若函数调用时的实参为变量,下列关于函数形参和实参的叙述中正确的是_______。
A 函数的实参和其对应的形参共占同一存储单元
B 形参只是形式上的存在,不占用具体存储单元
C 同名的实参和形参占同一存储单元
D 函数的形参和实参分别占用不同的存储单元
参考答案
D
93.考题所在章节: 函数
本题序号:2639
以下所列的各函数首部中,正确的是_______。
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 sa integer,b as integer)
参考答案
C
94.考题所在章节: 函数
本题序号:2640
在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_______。
A 地址传递
B 单项值传递
C 由实参传给形参,再由形参传回实参
D 传递方式由用户指定
参考答案
B
95.考题所在章节: 函数
本题序号:2652
以下程序的输出结果是_______。
int a=4;
int f(int n)
{
int t=0;
static int a=5;
if(n%2)
{
int a=6;
t+=a++;
}
else
{
int a=7;
t+=a++;
}
return t+a++;
}
int main(void)
{
int s=a,i=0;
for(;i<2;i++)
s+=f(i);
printf("%d\n",s);
return 0;
}
A 24
B 28
C 32
D 36
参考答案
B
*********************************************************************
二、判断题(共20道)
1.考题所在章节: 函数
本题序号:9
在c语言中,函数的定义不可以嵌套,而调用是可以嵌套的。
[参考答案] 正确
2.考题所在章节: 函数
本题序号:12
函数调用时值传递方式特点:形参与实参占用相同的内存单元,单向传递
[参考答案] 错误
3.考题所在章节: 函数
本题序号:23
函数定义与函数说明不是同一个概念。
[参考答案] 正确
4.考题所在章节: 函数
本题序号:45
C程序有且仅有一个主函数main()。
[参考答案] 正确
5.考题所在章节: 函数
本题序号:56
函数定义和函数调用均不能嵌套.
[参考答案] 错误
6.考题所在章节: 函数考题所在章节: 函数
本题序号:58
若函数有返回值,必须通过return语句返回。
[参考答案] 正确
7.考题所在章节: 函数
本题序号:68
宏替换只是字符替换。
[参考答案] 正确
8.考题所在章节: 函数
本题序号:69
宏名必须用大写字母表示。
[参考答案] 错误
9.考题所在章节: 函数
本题序号:70
在宏定义#define PI 3.14159中,用宏名PI代替一个常量。
[参考答案] 正确
10.考题所在章节: 函数
本题序号:71在宏定义#define PI 3.14159中,用宏名PI代替一个单精度数。
[参考答案] 错误
11.考题所在章节: 函数
本题序号:72
在宏定义#define PI 3.14159中,用宏名PI代替一个双精度数 。
[参考答案] 错误
12考题所在章节: 函数
本题序号:78
C语言规定,函数返回值的类型是由return语句中的表达式类型所决定。
[参考答案] 错误
13.考题所在章节: 函数
本题序号:79
C语言规定,函数返回值的类型是由调用该函数时的主调函数类型所决定。
[参考答案] 错误
14.考题所在章节: 函数
本题序号:80
C语言规定,函数返回值的类型是由调用该函数时系统临时决定。
[参考答案] 错误
15.考题所在章节: 函数
本题序号:81
C语言规定,函数返回值的类型是由在定义该函数时所指定的函数类型所决定。
[参考答案] 正确
16.考题所在章节: 函数
本题序号:84
调用一个函数,此函数中没有return语句,则该函数能返回一个用户所希望的函数值。
[参考答案] 错误考题所在章节: 函数
17.考题所在章节: 函数
本题序号:86
形参是虚设的,所以它始终不占存储单元。
[参考答案] 错误
18.考题所在章节: 函数
本题序号:87
实参与它所对应的形参占用不同的存储单元。
[参考答案] 正确
19.考题所在章节: 函数
本题序号:88
实参与它所对应的形参占用同一个存储单元。
[参考答案] 错误
20.考题所在章节: 函数
本题序号:89
实参与它所对应的形参同名时可占用同一个存储单元。
[参考答案] 错误
*********************************************************************
三、填空题(共10道)
1.考题所在章节: 函数
本题序号:17
函数直接或者间接地自己调用自己,被称为函数的__1__。
参考答案1:递归调用
2.考题所在章节: 函数
本题序号:18
C语言中唯一一个不能被别的函数调用的函数是__1__。
参考答案1:main函数
3.考题所在章节: 函数
本题序号:20
在函数内部定义的只在本函数内有效的变量叫__1__,在函数以外定义的变量叫__2__。
参考答案
1:局部变量
2:全局变量
4.考题所在章节: 函数
本题序号:25
C语言规定,可执行程序的开始执行点是__1__。
参考答案
1:main()
5.考题所在章节: 函数
本题序号:26
在C语言中,一个函数一般由两个部分组成,它们是__1__和__2__。
参考答案
1:函数首部 或 函数头
2:函数体
6.考题所在章节: 函数
本题序号:603
以下程序的输出结果是__1__#include
fun(int a,int b,int c)
{ c=a*b;
}
main( )
{ int c;
fun(2,3,c);
printf("%d\n",c);
}
参考答案
1:无定值
7.考题所在章节: 函数
本题序号:609
以下程序的功能是用递归计算学生的年龄,已知第一位学生年龄最小,为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。请填空。
age(int n)
{ int c;
if(n==1) c=10;
else c= age(n-1)+2;
return(c);
}
main()
{ int n=5;
printf(“age:%d\n”,__1__);
}
参考答案
1:age(5)
8.考题所在章节: 函数
本题序号:610
分析以下程序的运行结果是
__1__#include “stdio.h”
func(int a,int b)
{ int c;
c=a+b;
return c;
}
main( )
{ int x=6,y,r;
y=x+2;
r=func(x,y);
printf("%d\n",r); }
参考答案
1:14
9.考题所在章节: 函数
本题序号:611
有如下程序
long fib(int n)
{ if(n>2) return(fib(n-1)+fib(n-2));
else return(2);
}
main( )
{ printf("%d\n",fib(3)); }
该程序的输出结果是__1__。
参考答案
1:4
10.考题所在章节: 函数
本题序号:612
以下程序的输出结果是
__1__ f(int b[ ],int m,int n)
{ int i,s=0;
for(i=m;i