第910章补充作业.docx

上传人:b****5 文档编号:30655903 上传时间:2023-08-19 格式:DOCX 页数:23 大小:25.77KB
下载 相关 举报
第910章补充作业.docx_第1页
第1页 / 共23页
第910章补充作业.docx_第2页
第2页 / 共23页
第910章补充作业.docx_第3页
第3页 / 共23页
第910章补充作业.docx_第4页
第4页 / 共23页
第910章补充作业.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

第910章补充作业.docx

《第910章补充作业.docx》由会员分享,可在线阅读,更多相关《第910章补充作业.docx(23页珍藏版)》请在冰豆网上搜索。

第910章补充作业.docx

第910章补充作业

姓名学号班级序号

一、选择题

1.以下正确的说法是。

A.对于用户自定义函数,在使用之前必须加以说明

B.说明函数必须指明其参数类型和返回类型

C.函数可以返回一个值,也可以什么值也不返回

D.空函数不完成任何操作,所以在程序设计中没有用处

2.以下说法正确的是。

A.用户若需要调用标准库函数,调用前必须重新定义

B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义

C.系统根本不允许用户重新定义标准库函数

D.用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调用

3.以下错误的说法是:

C语言规定。

A.实参可以是常量,变量,或表达式

B.形参可以是常量,变量,或表达式

C.实参可以为任何类型

D.形参应与其对应的实参类型一致

4.以下错误的描述是:

函数调用可以。

A.出现在执行语句中B.出现在一个表达式中

C.做为一个函数的实参D.做为一个函数的形参

5.下面函数调用语句含有实参的个数为。

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

A.1B.2

C.4D.5

6.在C语言中,函数的隐含存储类别是。

A.autoB.static

C.externD.无存储类别

7.将一个函数说明为static后,该函数将。

A.既可以被同一源文件中的函数调用,也可以被其他源文件中的函数调用

B.只能被同一源文件中的函数调用,不能被其他源文件中的函数调用

C.只能被其他源文件中的函数调用,不能被同一源文件中的函数调用

D.既不能被同一源文件中的函数调用,也不能被其他源文件中的函数调用

8.以下叙述中错误的是。

A.在不同的函数中可以使用相同名称的变量

B.函数中的形参是局部变量

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

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

9.以下叙述中正确的是。

A.全局变量的作用域一定比局部变量的作用域范围大

B.静态类别变量的生存期贯穿于整个程序的运行期间

C,函数的形参都属于全局变量

D.末在定义语句中赋初值的auto变更和static变量的初值都是随机值

10.以下对C语言函数的有关描述中,正确的是。

A.在C中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

B.C函数既可以嵌套定义,又可以递归调用

C.函数必须有返回值,否则不能使用函数

D.C程序中有调用关系的所有函数必须放在同一个源程序文件中

11.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数作用的全局变量,则该变量需要使用的存储类别是。

A.externB.register

C.autoD.static

12.以下说法正确的是。

A.定义函数时,形参的类型说明可以放在函数体内

B.return后边的值不能为表达式

C.如果函数类型与返回值类型不一致,以函数类型为准

D.如果形参与实参类型不一致,以实参类型为准

13.当调用函数时,实参是一个数组名,则向函数传送的是。

A.数组长度B.数组的首地址

C.数组每一个元素的地址D.数组每个元素中的值

14.以下只有在使用时才为该类型变量分配内存的存储类型说明是。

A.auto和staticB.auto和register

C.register和staticD.extern和register

15.在说明语句:

int*f();中,标识符f代表的是。

A.一个用于指向整型数据的指针变量

B.一个用于指向一维数组的行指针

C.一个用于指向函数的指针变量

D.一个返回值为指针型的函数名

16.以下错误的描述是。

A.在函数之外定义的变量称为外部变量,外部变量可以被程序中的所有函数所调用

B.在一个函数中既可以使用本函数中的局部变量,也可以使用外部变量

C.外部变量定义和外部变量说明的含义不同

D.若在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用

17.以下正确的说法是:

在C语言中。

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

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

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

D.形参是虚拟的,不占用存储单元

18.以下描述错误的是。

A.函数的形参在函数末调用时不分配存储空间

B.若函数的定义出现在主函数之前,则可以不必再说明

C.若一个函数没有return语句,则什么值也不返回

D.一般来说,函数的形参和实参的类型应该一致

19.以下描述正确的是。

A.调用函数时的实参只能是有确定值的变量

B.return()语句的括号中,可以是变量、常量或有确定值的表达式

C.C语言中,函数调用时实参和形参间的参数传递方式不都是值传递

D.实参和形参若类型不匹配,编译时将报错

20.若有以下调用语句,则正确的fun函数的首部是。

main()

{

inta[50],n;

fun(n,&a[9]);

}

A.voidfun(intm,intx[])B.voidfun(ints,inth[10])

C.voidfun(intp,int*s)D.voidfun(intn,inta)

21.以下程序的输出结果是。

#include

fun(char**m)

{

++m;

printf(“%s\n”,*m);

}

main()

{

char*a[]={“BASIC”,”FOXPRO”,”C”};

fun(a);

}

A.BASICB.ASICC.FOXPROD.C

22.以下程序的输出结果是。

#include

amovep(int*p,int(*a)[3],intn)

{

inti,j;

for(i=0;i

for(j=0;j

{

*p=a[i][j];

p++;

}

}

main()

{

int*p,a[3][3]={{1,3,5},{2,4,6}};

p=(int*)malloc(100);

amovep(p,a,3);

printf(“%d%d\n”,p[2],p[5]);

free(p);

}

A.56B.25C.34D.程序错误

23.以下程序的输出结果是。

#include

fun(int**s,intp[2][3])

{

**s=p[1][1];

}

main()

{

inta[2][3]={1,3,5,7,9,11},*p;

p=(int*)malloc(sizeof(int));

fun(&p,a);

printf(“%d\n”,*p);

}

A.1B.7C.9D.11

24.以下程序中,函数sort的功能是对数组a中的数据进行由大到小的排序。

#include

voidsort(inta[],intn)

{

inti,j,t;

for(i=0;i

for(j=i+1;j

if(a[i]

{

t=a[i];

a[i]=a[j];

a[j]=t;

}

}

main()

{

intaa[10]={1,2,3,4,5,6,7,8,9,10},i;

sort(&aa[3],5);

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

printf(“%d”,aa[i]);

}

程序运行后的输出结果是。

A.1,2,3,4,5,6,7,8,9,10B.10,9,8,7,6,5,4,3,2,1

C.1,2,3,8,7,6,5,4,9,10D.1,2,10,9,8,7,6,5,4,3

25.有以下程序,运行后的输出结果是。

#include

floatfun(intx,inty)

{

return(x+y);

}

main()

{

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

printf(“%3.0f\n”,fun((int)fun(a+c,b),a-c));

}

A.编译出错B.9C.21D.9.0

26.以下程序的输出结果是。

#include

inta=2;

intf(int*a)

{

return(*a)++;

}

main()

{

ints=0;

{

inta=5;

s+=f(&a);

}

s+=f(&a);

printf(“%d\n”,s);

}

A.10B.9C.7D.8

27.以下程序的输出结果是。

#include

intf()

{

staticinti=0;

ints=1;

s+=i;

i++;

returns;

}

main()

{

inti,a=0;

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

a+=f();

printf(“%d\n”,a);

}

A.20B.24C.25D.15

28.以下程序的输出结果是。

#include

voidsub(int*s,int*y)

{

staticintt=3;

*y=s[t];

t--;

}

main()

{

inta[]={1,2,3,4},i;

intx=0;

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

{

sub(a,&x);

printf(“%d”,x);

}

printf(“\n”);

}

A.1234B.4321C.0000D.4444

29.有以下程序:

#include

int*f(int*x,int*y)

{

if(*x<*y)

returnx;

else

returny;

}

main()

{

inta=7,b=8,*p;

p=f(&a,&b)

printf(“%d\n”,*p);

}

执行后输出结果是。

A.7B.8

C.0D.一个地址值

30.下面程序的执行结果是。

#include

voidfunc(inta,intb,intc)

{

printf(“a=%d,b=%d,c=%d\n”,a,b,c);

}

main()

{

inti=2;

func(i,i++,i--);

}

31.给出以下程序的运行结果。

#include

invert(int*s,inti,intj)

{

intt;

if(i

{

invert(s,i+1,j-1);

t=*(s+i);*(s+i)=*(s+j);*(s+j)=t;

}

}

main()

{

inta[6]={10,6,23,-90,0,3},i;`

invert(a,0,5);

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

printf(“%d,”,a[i]);

printf(“\n”);

}

32.以下程序的输出结果是。

#include

intfac_sum(intn)

{

staticintf=1,t=1,s=0;

inti;

if(n>t)

for(i=t+1;i<=n;i++)

f=f*i;

else

{

f=1;

for(i=1;i<=n;i++)

f=f*i;

}

t=n;s=s+f;

return(s);

}

main()

{

inta[]={3,5,2},i,sum;

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

sum=fac_sum(a[i]);

printf(“sum=%d\n”,sum);

}

33.下面fun函数的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在一维数组中返回,二进制数的最低位放在下标为0的元素中,其他依此类推。

请填空。

voidfun(intx,intb[])

{

intk=0,r;

do

{

r=x%;

b[k++]=r;

x/=;

}while(x);

}

34.有以下程序:

#include

voidss(char*s,chart)

{

while(*s)

{

if(*s==t)

*s=t-‘a’+’A’;

s++;

}

}

main()

{

charstr1[100]=“abcddfefdbd”,c=’d’;

ss(str1,c);

printf(“%s\n”,str1);

}

程序运行后的输出结果是。

二、填空题

35.函数voidfun(float*sn,intn)的功能是:

根据以下公式计算S,计算结果通过形参指针sn传回。

要求n通过形参传入:

n≥0。

请填空。

S=1-

+

-

+…

voidfun(float*sn,intn)

{

floats=0.0,w,f=-1.0;

inti=0;

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

{

f=*f;

w=f/(2*i+1);

s+=w;

}

=s;

}

36.mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。

请填空。

intmystrlen(char*str)

{

inti;

for(i=0;!

=’\0’;i++);

return();

}

37.下列程序的运行结果是。

#include

#include

char*ss(char*s)

{

returns+strlen(s)/2;

}

main()

{

char*p,*str=“abcdefgh”;

p=ss(str);

printf(“%s\n”,p);

}

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

intn=1;

main()

{

staticintx=5;

inty;y=n;

printf(“MAIN:

x=%2dy=%2dn=%2d\n”,x,y,n);

func();

printf(“MAIN:

x=%2dy=%2dn=%2d\n”,x,y,n);

func();

}

func()

{

staticintx=4;

inty=10;

x=x+2;

n=n+10;

y=y+n;

printf(“FUNC:

x=%2dy=%2dn=%2d\n”,x,y,n);

}

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

gongyu(intnum1,intnum2)

{

inttemp,a,b;

if(num1num2)

{

temp=num1;

num1=num2;

num2=temp;

}

a=num1;b=num2;

while()

{

;a=b;b=temp;

}

return(a);

}

40.函数yahui能够按以下形式构成一个杨辉三角形,请填空。

1

11

121

1331

14641

#defineN11

yahui(inta[][N])

{

inti,j;

for(i=1;i

{

a[i][1]=1;a[i][i]=1;

}

for(;i

for(j=2;;j++)

a[i][j]=;

}

41.下面函数pi的功能是:

根据以下公式,返回满足精度(0.0005)要求的π的值,请填空。

=1+

+

+

+

+…

#include

#include

#include

doublepi(doubleeps)

{

doubles,t;

intn;

for(;t>eps;n++)

{

s+=t;

t=n*t/(2*n+1);

}

return();

}

main()

{

doublex;

printf(“\nPleaseinputaprecision:

”);

scnaf(“%lf”,&x);

printf(“\neps=%lf,π=%lf”,x,pi(x));

}

42.以下程序是选出能被3整除且至少有一位是5的两位数,打印出所有这样的数及其个数,请填空。

sub(intk,intn)

{

inta1,a2;

a2=;

a1=k-;

if((k%3==0&&a2==5)||(k%3==0&&a1=5))

{

printf(“%d”,k);

n++;

returnn;

}

else

return(-1);

}

main()

{

intn=0,k,m;

for(k=10;k<=99;k++)

{

m=sub(k,n);

if()

n=m;

}

printf(“\nn=%d”,n);

}

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

main()

{

inta,e[10],c,i=0;

printf(“输入一个整数\n”);

scnaf(“%d”,&a);

while(a!

=0)

{

c=sub(a);

a=a/2;

e[i]=c;

i++;

}

for(;i>0;i--)

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

}

sub(inta)

{

intc;

c=a%2;

returnc;

}

44.已定义一个含有30个元素的数组s,函数fav1的功能是按顺序分别赋予各元素从2开始的偶数,函数fav2则按顺序每五个元素求一个平均值,并将该值存放在数组w中,请填空。

#defineSIZE30

fav1(floats[])

{

intk,i;

for(k=2,i=0;i

{

;

k+=2;

}

}

fav2(flaots[],floatw[])

{

floatsum;

intk,i;

sum=0.0;

for(k=0,i=0;i

{

sum+=s[i];

if((i+1)%5==0)

{

w[k]=sum/5;

;

K++;

}

}

}

main()

{

floats[SIZE],w[SIZE/5],sum;

inti,k;

fav1(s);

fav2(s,w);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 简洁抽象

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1