C语言测试-函数附答案_第1页
C语言测试-函数附答案_第2页
C语言测试-函数附答案_第3页
C语言测试-函数附答案_第4页
C语言测试-函数附答案_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言测试-函数[复制]基本信息:[矩阵文本题]*班级填1或2姓名:________________________班级:________________________学号:________________________1.主函数可以调用除自己以外的任何函数,子函数可以调用除主函数外的任何函数,包括它自己。[单选题]*对(正确答案)错2.主函数中定义的变量可以在其他函数中使用,主函数可以使用其他函数中定义的变量。[单选题]*对错(正确答案)3.不同的函数中不能使用相同的变量名。[单选题]*对错(正确答案)4函数的某个参数有默认值时,其后面的参数都必须有默认值。[单选题]*对(正确答案)错5.函数执行过程中通过return语句将函数值返回,当一个函数不需要返回值,需要使用void作为类型名。[单选题]*对(正确答案)错6.语言中,函数允许嵌套定义,允许嵌套调用。[单选题]*对错(正确答案)7.各个函数在程序中定义的顺序是一定的,它们的顺序影响程序运行时的执行顺序和程序运行结果。[单选题]*对错(正确答案)8.C程序中所有的全局变量都是静态存储的。[判断题]*对(正确答案)错9.在C语言中定义的auto变量,若没有对其进行显式初始化,则初值是一个不确定的值。[判断题]*对(正确答案)错10.C程序中,定义函数时的参数是“实际参数”,调用函数时的参数是“形式参数”。[判断题]*对错(正确答案)11.下列叙述错误的是()[单选题]*A.一个函数中可以有多条return语句B.调用函数必须在一条独立的语句中完成(正确答案)C.函数中通过return语句传递函数值D.主函数main也可以带有形参12.必须用一对大括号括起来的程序段是()。[单选题]*A.switch语句中的case标号语句B.if语句的分支C.循环语句的循环体D.函数的函数体(正确答案)13.在函数的返回值类型与返回值表达式类型的描述中,错误的是()。[单选题]*A.函数返回值的类型是在定义函数时确定的,在函数调用时不能改变B.函数返回值的类型就是返回值表达式的类型(正确答案)C.函数返回值的类型与返回值表达式类型不同时,函数表达式类型应该转换成返回值类型D.函数返回值的类型可以是void类型14.以下叙述中,不正确的是:()[单选题]*A.使用staticfloata定义的外部变量存放在内存中的静态存储区B.使用floatb定义的外部变量存放在内存中的动态存储区(正确答案)C.使用staticfloatc定义的内部变量存放在内存中的静态存储区D.使用floatd定义的内部变量存放在内存中的动态存储区15.非数组、指针或引用型变量做实参时,它和对应形参之间的数据传递方式是()。[单选题]*A.地址传递B.单向值传递(正确答案)C.双向值传递D.由用户指定传递方式16.以下程序的执行结果为________。

#include"stdio.h"

floatfun(intx,inty)

{

return(x*y);

}

intmain()

{inta=2,b=5,c=8;

printf("%.0f\n",fun((int)fun(a+b,c),a-b));

return0;

}[单选题]*A.-24B.24C.-168(正确答案)D.16817.以下程序的运行结果是________。

#include"stdio.h"

inta=1;

intf(intc)

{staticinta=2;

c=c+1;

return(a++)+c;}

intmain()

{inti,k=0;

for(i=0;i<2;i++)

{

inta=3;

k+=f(a);}

k+=a;

printf("%d\n",k);

return0;

}[单选题]*A.13B.14(正确答案)C.15D.1618.

intmain()

{

inta=5,k;

voidprt_char();

……

k=prt_char();

……

}

以下程序有语法性错误,有关错误原因的正确说法是()。[单选题]*A.语句voidprt_char();有错,它是函数调用语句,不能用void说明。B.变量名不能使用大写字母。C.函数说明和函数调用语句之间有矛盾。(正确答案)D.函数名不能使用下划线。19.正确的函数原型形式为()。[单选题]*A.voidfun(void);(正确答案)B.doublefun(intx;inty);C.intfun(int=0,int);D.doublefun(intx,y)20.若在一个C源程序文件中定义了一个允许其他源文件引用的实型外部变量a,则在另一文件中可使用的引用说明是。[单选题]*A.externstaticfloata;B.floata;C.externautofloata;D.externfloata;(正确答案)21.若程序中定义函数

floatmyadd(floata,floatb)

{returna+b;}

并将其放在调用语句之后,则在调用之前应对该函数进行说明。以下说明中错误的是【】。[单选题]*A.floatmyadd(floata,b);(正确答案)B.floatmyadd(floatb,floata);C.floatmyadd(float,float);D.floatmyadd(floata,floatb);22.以下程序执行时,给变量x输入10,程序的输出结果是________。

#include"stdio.h"

intfun(intn)

{

if(n==1)return1;

elsereturn(n+fun(n-1));

}

intmain()

{intx;

scanf("%d",&x);

x=fun(x);

printf("%d\n",x);

return0;

}

[单选题]*A.45B.54C.55(正确答案)D.6523.关于以下fun函数的功能叙述中,正确的是【】

intfun(chars[])

{

inti=0;

while(s[i])

i++;

returni;

}

[单选题]*A.求字符串s的长度(正确答案)B.比较两个串的大小C.将串s复制到串tD.求字符串s所占字节数24.下列的结论中只有________是正确的。*A.所有的递归程序均可以采用非递归算法实现B.只有部分递归程序可以用非递归算法实现(正确答案)C.所有的递归程序均不可以采用非递归算法实现D.以上三种说法都不对25.阅读下面的程序:

#include<stdio.h>

intmain()

{intswap();

inta,b;

a=3;b=10;

swap(a,b);

printf("a=%d,b=%d\n",a,b);

return0;

}

swap(inta,intb)

{inttemp;

temp=a;a=b;b=temp;}

下面的说法中,正确的是________。[单选题]*A.在main()函数中调用swap()后,能使变量a和b的值交换B.在main()函数中输出的结果是:a=3,b=10(正确答案)C.程序第2行的语句intswap();是对swap()函数进行调用D.swap()函数的类型是void26.以下程序的输出结果是________。

#include"stdio.h"

f(intb[],intm,intn)

{inti,s=0;

for(i=m;i<n;i=i+2)

s=s+b[i];

returns;}

intmain()

{intx,a[]={1,2,3,4,5,6,7,8,9};

x=f(a,3,7);

printf("%d\n",x);

return0;

}[单选题]*A.10(正确答案)B.18C.15D.1427.以下程序的运行结果为________。

#include"stdio.h"

intx=2;

intfun(intp)

{staticintx=3;

x+=p;

printf("%d",x);

return(x);}

intmain()

{inty=3;printf("%d\n",fun(fun(x)));

return0;

}[单选题]*A.51020B.5610C.51010(正确答案)D.551028.下列程序的输出结果是________。

#include"stdio.h"

intfun(intx,inty,intcp,intdp)

{cp=x*x+y*y;dp=x*x-y*y;}

intmain()

{inta=4,b=3,c=5,d=6;

fun(a,b,c,d);

printf("%d%d\n",c,d);

return0;

}[单选题]*A.169B.43C.259D.56(正确答案)29.以下程序输出的结果是________。

#include"stdio.h"

longfun(intn)

{longs;

if(n==1||n==2)s=2;

elses=n-fun(n-1);

returns;}

intmain()

{printf("%ld\n",fun(3));

return0;

}[单选题]*A.2B.1(正确答案)C.3D.430.以下程序的输出结果是________。

#include"stdio.h"

f(intb[],intm,intn)

{inti,s=0;

for(i=m;i<n;i=i+2)

s=s+b[i];

returns;}

intmain()

{intx,a[]={1,2,3,4,5,6,7,8,9};

x=f(a,3,7);

printf("%d\n",x);

return0;

}[单选题]*A.10(正确答案)B.18C.8D.1531.在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则________。[单选题]*A.称为函数的直接递归调用B.C语言中不允许这样的递归调用C.称为函数的循环调用D.称为函数的间接递归调用(正确答案)32.以下程序的输出结果是________。

#include"stdio.h"

longfib(intn)

{if(n>2)return(fib(n-1)+fib(n-2));

elsereturn(2);}

intmain()

{printf("%d\n",fib(3));

return0;

}

[单选题]*A.2B.4(正确答案)C.8D.633.以下叙述中错误的是________。[单选题]*A.C程序必须由一个或一个以上的函数组成B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须通过return语句返回D.函数形参的值也可以传回给对应的实参(正确答案)34.以下叙述中正确的是________。[单选题]*A.局部变量说明为static,其生存期将得到延长(正确答案)B.全局变量说明为static,其作用域将被扩大C.任何存储类的变量在未赋初值时,其值都

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论