当前位置:首页 > C语言题库
? 函数
一、选择题
1、以下正确的函数定义形式是 A 。 A) double fun(int x,inty) B)double fun(int x;int y) C) double fun(int x,y) D)double fun(int x,y;) 2、按C语言的规定,以下不正确的说法是 C 。
A)实参可以是常量、变量或表达式 B)形参可以是常量、变量或表达式 C)实参可以为任意类型 D)形参应与其对应的实参类型一致
3、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 B 。 A)地址传递 B)单向值传递 C)由实参传给形参 D)由用户指定传递方式 4、在C语言程序中,以下正确的描述是 B 。 A) 函数的定义可以嵌套,但函数的调用不可以嵌套 B) 函数的定义不可以嵌套,但函数的调用可以嵌套 C) 函数的定义和函数的调用均不可以嵌套 D) 函数的定义和函数的调用均可以嵌套
5、若用数组名作为函数调用的实参,传递给形参的是 A 。 A)数组的首地址 B)数组第一个元素的值 C)数组中全部元素的值 D)数组元素的个数
6、如果在一个函数中的复合语句中定义了一个变量,则该变量 A 。 A)只在该复合语句中有效 B)在该函数中有效 C)在本程序范围内有效 D)为非法变量
7、若使用一维数组名作函数实参,则以下正确的说法是 A 。 A) 必须在主调函数中说明此数组的大小 B) 实参数组类型与形参数组类型可以不匹配 C) 在被调函数中不需要考虑形参数组的大小 D) 实参数组名与形参数组名必须一致
8、凡是函数中未指定存储类型的局部变量,其隐含的存储类型为 A 。 A) auto B) static C)extern D)register 9、在宏定义#define PI 3.14159中,用宏名PI代替一个 A 。
A)常量 B)单精度数 C)双精度数 D)字符串 10、有以下程序: #include
void main() { int a[4][4]={{1,2,3,4},{0,2,4,6},{3,6,9,12},{3,2,1,0}}; cout< 25 } 执行后的输出结果是 D 。 A)12 B)11 C) 18 D)16 12、以下描述不正确的是 B 。 A)调用函数时,实参可以是表达式 B)调用函数时,实参与形参可以共用内存单元 C)调用函数时,将为形参分配内存单元 D)调用函数时,实有与形参的类型必须一致 13、C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是 B 。 A)地址传递 B)值传递 C)由实参传给形参,并由形参回传给实参 D)由用户指定传递方式 14、在一个源文件中定义的全局变量的作用域为 D 。 A)本文件的全部范围 B)本程序的全部范围 C)本函数的全部范围 D)从定义该变量的位置开始至本文件结束为止 15、有一个如下定义的函数: func(a) { cout< 则该函数的返回类型是 A 。 A)与参数a的类型相同 B)void类型 C)没有返回值 D)无法确定 16、以下程序的输出结果是 A 。 #include void main() { int x=1,y=2,z=3,r; r=func(x+y+z,x,y); cout< 17、以下程序的输出结果是 A 。 26 #include void main() { cout< A)7 B)2 C)0 D)3 解:func()是一个递归函数,调用func(9)时,执行p=9-func(7);调用func(7)时,执行p=7-func(5);调用func(5)时,执行p=5-func(3); 调用func(3)时,执行p=3-func(1);调用func(1)返回3;返回p=3-func(1)=3-3=0,func(3)=0;返回p=5-func(3)=5-0=5,func(5)=5;返回p=7-func(5)=7-5=2,func(7)=2;返回p=9-func(7)=9-2=7,func(9)=7。 二、填空题: 1、以下程序的运行结果是 7 6 7 2 7 5 。 #include {int x=7;cout< void main() { int i=2,x=5,j=7; fun(j,6); cout< 2、以下程序的运行结果是 1 1 1 。 #include {int x=0;x=x+1;cout< void main() { increment();increment();increment(); } 3、以下程序的运行结果是 2 。 #include {int z;z=(x>y)?x:y;return(z); 27 } void main() { int a=1,b=2,c;c=max(a,b);cout<<\最大值是\} 4、以下程序的运行结果是 第一次:x=2 y=3 z=0 第二次 x=4 y=9 z=5 第三次 x=2 y=3 z=0 。 #include cout<<\第二次:x=\} void main() {int x=2,y=3,z=0; cout<<\第一次:x=\add(x,y,z); cout<<\第三次:x=\} 5、以下程序的运行结果是 5 10 9 。 #include while(a[i]<=10) {cout< void main() {int a[ ]={1,5,10,9,11,7}; f(a+1); } 6、以下程序的运行结果是 6 。 #include {a[i][j]=i+j;if(i==j) sum=sum+a[i][j];} return (sum); } void main() {int a[3][3]={1,3,5,7,9,11,13,15,17};int sum; sum=func(a); cout< 7、以下程序的功能是根据输入的”y”(“Y”)与”n”(“N”),在屏幕上分别显示出”This is YES.”与”This is No.”。请填空。 28
共分享92篇相关文档