资源描述:
《C语言2作业参考问题详解.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言2作业1一、判断题 (16分)1.C程序是由函数构成的,每一个函数完成相对独立的功能。 2分2.被main函数调用的函数只能是库函数。 2分3.只有在函数被调用时,其形式参数才临时地占有存储空间. 2分4.函数若无返回值,则它一定无形参. 2分5.如果函数类型不定义为空类型,即使在return后面没有表达式,而实际上函数也是有一个不确定的返回值的. 2分6.函数必须有形参 2分7.函数必须有return语句 2分8.函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是5 2分二、选择题 (18分)1.一个数据类型为voi
2、d的函数中可以没有return语句,那么函数被调用时(). [A] 2分A.没有返回值 B.返回一个系统默认值 C.返回值由用户临时决定 D.返回一个不确定的值2.在C语言中,函数的数据类型是指____。页脚 [A] 2分A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型3.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是____。 [D] 2分A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函
3、数调用可以作为一个函数的形参4.阅读下面程序段,则执行后输出的结果是____。#includevoidmain(){intm=4,n=2,k;k=fun(m,n);printf("%d",k);}intfun(intm,intn){return(m*m*m-n*n*n);} [C] 2分A.64 B.8 C.56 D.05.编写求两个双精度数之和的函数,选项中正确的是____。A)doubleadd(doublea,doubleb) {doubles; s=a+b; returns;}B)doubleadd(doubl
4、ea,b) {doubles; s=a+b; return(s);}C)doubleadd(doubleadoubleb)页脚 {doubles; s=a+b; returns;}D)doubleadd(a,b) {doublea,b,s; s=a+b; return(s);} [A] 2分A.A B.B C.C D.D6.现有如下程序段#includeintaa(intx,inty);voidmain(){inta=24,b=16,c;c=aa(a,b);printf("%d",c);}intaa(int
5、x,inty){intw;while(y){w=x%y;x=y;y=w;}returnx;}则程序段的输出结果是____。 [D] 2分A.5 B.6 C.7 D.87.函数的值通过return语句返回,下面关于return语句的形式描述错误的是____。 [C] 2分A.return表达式;B.return(表达式);C.一个return语句可以返回多个函数值D.一个return语句只能返回一个函数值页脚8.阅读下面程序,则执行后的结果为____。#includevoidmain(){fun3(fun1(),fun2())
6、;}fun1(){intk=20;returnk;}fun2(){inta=15;returna;}fun3(inta,intb){intk;k=(a-b)*(a+b);printf("%d",k);} [B] 2分A.0 B.175 C.184 D.编译不通过9.阅读下列程序,则执行后输出的结果是____。#includevoidfun(intk){k++;k=k*6;}voidmain(){intk=1;fun(k);printf("%d",k);} [A] 2分A.1 B.2 C.6 D
7、.12三、程序设计题 (30分)1.第5章四、1 10分题目描述输入一个整数x,输出下面分段函数f(x)的值。要求将分段函数的计算定义成函数。当x>0时f(x)=1;当x=0时f(x)=0;当x<0时f(x)=-1。输入描述输入一个整数输出描述输出分段函数f(x)的值样例输入页脚100样例输出f(100)=1【参考答案1】【参考答案2】#includeintf(intx){inty;if(x>0)y=1;elseif(x==0)y=0;elsey=-1;returny;}voidmain(){in