作业本_《C程序设计Ⅱ》答案

2018-12-17 17:06

第七部分 函 数

一、选择题(共20分,每题1分)

1.以下正确的函数形式是____D_ 。

A.double fun(int x,int y) B. fun(int x,y)

{ z=x+y; return z; } { int z; return z; } C.fun(x,y) D.double fun(int x,int y)

{ int x,y; double z; z=x+y; return z; } { double z; z=x+y; return z; }

2.C语言中,简单变量做参数.以下正确的说法是_____A__ 。

A. 实参和与其对应的形参各占用独立的存储单元 B. 实参和与其对应的形参共占用一个存储单元

C. 只有当实参和与其对应的形参同名时才共占用存储单元 D. 形参是虚拟的,不占用存储单元

3.若调用一个有返回类型的函数,且此函数中没有return语句,则该函数____D_______。

A.没有返回值 B.返回若干个系统默认值 C.能返回一个用户所希望的函数值 D.返回一个不确定的值 4.在C语言中,函数的数据类型是指_____A__ 。

A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 5.以下不正确的说法是______A 。

A. 定义函数时,形参的类型说明可以放在函数体内 B. return后边的值不能为表达式

C. 如果函数值的类型与返回值不一致,以函数值类型为准 D. 如果形参与其实参的类型不一致,以形参类型为准

6.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是____B__ 。

A.地址传递 B.单向值传递

C.由实参传给形参,再由形参传回给实参 D.由用户指定传递方式 7.C语言规定,函数返回值的类型是由 D_ 。

A.return语句中的表达式类型所决定 B.调用该函数时的主调函数类型所决定 C.调用该函数时系统临时决定 D.在定义该函数时所指定的函数类型所决定 8.下面函数调用语句含有实参的个数为_____ B 。

func((exp1,exp2),(exp3,exp4,exp5));

A.1 B.2 C.4 D.5 9.C语言中,函数调用不可以 D 。

A.出现在执行语句中 B.出现在一个表达式中 C.做为一个函数的实参 D.做为一个函数的形参 10.以下正确的描述是___ B__ 。

A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调数用可以嵌套 C. 函数的定义和函数的调用均不可以嵌套 D. 函数的定义和函数的调用均可以嵌套

11.若有数组名作为函数调用的实参,传递给形参的是____ A_ 。

A.数组的首地址 B.数组第一个元素的值 C.数组中全部元素的值 D.数组元素的个数

12.如果在一个函数中的复合语句中定义了一个变量,则该变量___ A_ 。

A.只在该复合语句中有效 B.在该函数中有效 C.在本程序范围内均有效 D.为非法变量 13.以下不正确的说法是___D__ 。

A. 在不同函数中可以使用相同名字的变量 B. 形式参数是局部变量

C. 在函数内定义的变量只在本函数范围内有效

D. 在函数内的复合语句中定义的变量在本函数范围内有效

14.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为____ A_ 。

A.自动(auto) B.静态(static) C.外部(extern) D.寄存器(register) 15.已有数组定义int a[3][4]; 和f函数调用语句f(a); ,则在f函数的说明中,对形参数组array

的错误定义方式为____B_ 。(A和D语法虽正确,千万别用) A.f(int array[][6]) B.f(int array[3][]) C.f(int array[][4]) D.f(int array[2][5]) 16.以下正确的说法是____C_ 。

A. 定义函数时,形参的类型说明可以放在函数体内 B. return后边的值不能为表达式

C. 如果函数值的类型与返回值类型不一致,以函数值类型为准 D. 如果形参与实参的类型不一致,以实参类型为准

17.如果程序中有static char c; 则编译程序会对其自动设置初值为____ C_ 。(ASCII码为0)

A.“\\n” B.’\\n’ C.0 D.“\\0” 18.以下程序有语法性错误,有关错误原因的正确说法是____ C_ 。 void main() { int G=5,k; void prt_char(); ? ? k=prt_char(G); ? ? }

A. 语句void prt_char();有错,它是函数调用语句,不能用void说明 B. 变量名不能使用大写字母

C. 函数说明和函数调用语句之间有矛盾 D. 函数名不能使用下划线

19.在一个void类型函数的定义中,函数体中有return; 语句,该语句____ B__ 。

1

A.是错的 C.在执行时不予理睬 20.以下不正确的描述是_____D 。

A.在函数外部定义的变量是全局变量 C.函数的形参是局部变量

B.表示向主调函数返回(程序控制) D.在执行时会中断程序运行 B.在函数内部定义的变量是局部变量 D.局部变量不能与全局变量同名

二、填空题(共40分,每题2.5分)

1.以下程序的运行结果是

#include ”stdio.h”

void add(int x,int y,int z) { z=x+y;x=x*x;y=y*y;

printf(“(2)x=%d y=%d z=%d\\n”,x,y,z); }

void main( )

{ int x=2,y=3,z=0;

printf(“(1)x=%d y=%d z=%d\\n”,x,y,z); add(x,y,z);

printf(“(3)x=%d y=%d z=%d\\n”,x,y,z); }

2.若输入一个整数30,以下程序的运行结果是

# include “stdio.h” int pr(int n)

{ int i,yes=1;

for(i=2;i

}

void main() { int m,k;

scanf(\

for(k=3;k

printf(\

}

3.若输入的值是-125,以下程序的运行结果是

2

#include”stdio.h” #include”math.h” void fun(int n) { int k,r;

for(k=2;k<=sqrt(n);k++) { r=n%k;

while(r==0)

{ printf(“%d”,k);

n=n/k;

if(n>1) printf(“*”); r=n%k; } }

if(n!=1) printf(“%d\\n”,n); }

void main( ) { int n;

scanf(“%d”,&n); printf(“%d=”,n); if(n<0)

printf(“-“); n=fabs(n); fun(n); }

4.函数gongy 的作用是求正整数num1和 num2的最大公约数,并返回该值。请填空

int gongy(int num1,int num2) { int temp,a,b; if(num1 num2)

{ temp=num1; num1=num2; num2=temp; } a=num1;b=num2;

while( )

{ temp=a%b; a=b; b=temp; } return(a); }

3

5.若输入一个整数10,以下程序的运行结果是

#include”stdio.h” int sub(int a) { int c; c=a%2; return c; }

void main( )

{ int a,e[10],c,i=0;

printf(“输入一整数\\n”); scanf(“%d”,&a); while(a!=0) { c=sub(a);

a=a/2; e[i]=c; i++; }

for(;i>0;i--)

printf(“%d”,e[i-1]);

}

6.以下程序的运行结果是 #include ”stdio.h”

long fib(int g) { switch(g) { case 0: return 0; case 1: case 2: return 1; } return(fib(g-1)+fib(g-2)); } void main() { long k; k=fib(7); printf(“k=%d\\n”,k);

}

4


作业本_《C程序设计Ⅱ》答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:51402首采工作面回采作业规程

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: