第六章函数ReadWord文档下载推荐.docx

上传人:b****6 文档编号:17260573 上传时间:2022-11-29 格式:DOCX 页数:48 大小:35.96KB
下载 相关 举报
第六章函数ReadWord文档下载推荐.docx_第1页
第1页 / 共48页
第六章函数ReadWord文档下载推荐.docx_第2页
第2页 / 共48页
第六章函数ReadWord文档下载推荐.docx_第3页
第3页 / 共48页
第六章函数ReadWord文档下载推荐.docx_第4页
第4页 / 共48页
第六章函数ReadWord文档下载推荐.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

第六章函数ReadWord文档下载推荐.docx

《第六章函数ReadWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第六章函数ReadWord文档下载推荐.docx(48页珍藏版)》请在冰豆网上搜索。

第六章函数ReadWord文档下载推荐.docx

charname[10];

intnum;

};

voidf(char*name,intnum)

structSTUs[2]={{"

SunDan"

20044},{"

Penghua"

20045}};

num=s[0].num;

strcpy(name,s[0].name);

YangSan"

20041},{"

LiSiGuo"

20042}},*p;

p=&

s[1];

f(p->

name,p->

num);

%s%d\n"

p->

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

A)SunDan20042B)SunDan20044

C)LiSiGuo20042D)YangSan20041

4.有以下程序

floatTotalScore;

voidf(structSTU*p)

20044,550},{"

20045,537}},*q=s;

++p;

++q;

*p=*q;

structSTUs[3]={{"

20041,703},{"

20042,580}};

f(s);

%s%d%3.0f\n"

s[1].name,s[1].num,s[1].TotalScore);

A)SunDan20044550B)Penghua20045537

C)LiSiGuo20042580D)SunDan20041703

B

5.有以下程序

charname[10];

intnum;

voidf1(structSTUc)

structSTUb={"

2042};

c=b;

voidf2(structSTU*c)

2044};

*c=b;

voidmain()

structSTUa={"

2041},b={"

WangYin"

2043};

f1(a);

f2(&

b);

printf("

%d%d\n"

a.num,b.num);

执行后的输出结果是

A)20412044B)20412043C)20422044D)20422043

13.以下程序的输出结果。

voidfunc(char**m);

voidmain()

{

staticchar*a[]={"

MORNING"

"

AFTERTOON"

EVENING"

char**n;

n=a;

func(n);

voidfunc(char**m)

++m;

printf("

%s\n"

*m);

A.为空B.MORNINGC.AFTERTOOND.EVENING

C

15.有以下函数定义:

voidfun(intn,doublex){……}

若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是。

A)fun(inty,doublem);

B)k=fun(10,12.5);

C)fun(x,n);

D)voidfun(n,x);

16.以下程序运行后,输出结果是。

intd=1;

voidfun(intp)

intd=5;

d+=p++;

%d"

d);

inta=3;

fun(a);

d+=a++;

%d\n"

A)84B)99C)95D)44

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

intx=3;

voidincre()

staticintx=1;

x*=x+1;

%d"

x);

inti;

for(i=1;

i<

x;

i++)

incre();

A)33B)22C)26D)25

18.若程序中定义了以下函数:

doublemyadd(doublea,doubleb)

{return(a+b);

并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是。

A)doublemyadd(doublea,b);

B)doublemyadd(double,double);

C)doublemyadd(doubleb,doublea);

D)doublemyadd(doublex,doubley);

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

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

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

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

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

22.以下函数

fff(floatx)

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

的类型是

A)与参数x的类型相同B)void类型

C)int类型D)无法确定

C)

23.以下程序:

intfunc(inta,intb)

intc;

c=a+b;

returnc;

intx=6,y=7,z=8,r;

r=func((x--,y++,x+y),z--);

r);

其输出结果是

A)11B)20C)21D)31

26.有如下函数调用语句

fuc(rec1,rec2+rec3,(rec4,rec5));

该函数调用语句中,含有的实参个数是。

A)3B)4C)5D)有语法错

29.有以下程序

voidfun(int*a,inti,intj)

intt;

if(i<

j)

t=a[i];

a[i]=a[j];

a[j]=t;

i++;

j--;

fun(a,i,j);

intx[]={2,6,1,8},i;

fun(x,0,3);

for(i=0;

4;

i++)printf("

%2d"

x[i]);

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

A)1268B)8621C)8162D)8612

35.若函数的形参为一维数组,则下列说法中正确的是()。

(A)调用函数时的对应实参必为数组名

(B)形参数组可以不指定大小

(C)形参数组的元素个数必须等于实参数组的元素个数

(D)形参数组的元素个数必须多于实参数组的元素个数

答案;

(B)

40.C语言程序由函数组成。

以下说法正确的是()。

A)主函数必须在其它函数之前,函数内可以嵌套定义函数

B)主函数可以在其它函数之后,函数内不可以嵌套定义函数

C)主函数必须在其它函数之前,函数内不可以嵌套定义函数

D)主函数必须在其它函数之后,函数内可以定义函数

B

41.返回值为void的函数,其含义是()。

A)调用函数之后,被调用的函数没有返回值

B)调用函数之后,被调用的函数不返回

C)调用函数之后,被调用的函数的返回值为任意的类型

D)以上三种说法都是错误的

A

42.若用数组名作为函数调用的实参,传递给形参的是()。

A)数组的首地址

B)数组第一个元素的值

C)数组中全部元素的值

D)数组元素的个数

A

43.一个函数返回值的类型是由()。

A)return语句中的表达式类型决定

B)定义函数时所指定的函数类型决定

C)调用该函数的主调函数的类型决定

D)在调用函数时临时指定

B

44.关于C语言以下说法正确的是()。

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

B)形参是虚拟的,不占用存储单元

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

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

.C

47.有以下程序

intfun(intx)

intp;

if(x==0||x==1)

return3;

else

p=x-fun(x-2);

returnp;

\n%d"

fun(9));

程序执行后的输出结果是_______。

A)10B)9

C)8D)7

.D

50.以下关于函数的叙述中正确的是______。

A)每个函数都可以被其它函数调用(包括main函数)

B)每个函数都可以被单独编译

C)每个函数都可以单独运行

D)在一个函数内部可以定义另一个函数

B;

54.以下程序

voidf(char*s,char*t)

chark;

k=*s;

*s=*t;

*t=k;

s++;

t--;

if(*s)f(s,t);

charstr[10]="

abcdefg"

*p;

p=str+strlen(str)/2+1;

f(p,p-2);

str);

A)abcdefgB)gfedcbaC)gbcdefaD)abedcfg

55.有以下程序

intf1(intx,inty)

returnx>

y?

x:

y;

intf2(intx,inty)

y:

inta=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,b),f1(c,d));

f=f1(f2(a,b),f2(c,d));

g=a+b+c+d-e-f;

%d,%d,%d\n"

e,f,g);

A)4,3,7B)3,4,7C)5,2,7D)2,5,7

59.下面函数的功能是。

intfun1(char*x)

char*y=x;

while(*y++);

return(y-x-1);

A)求字符串的的长度

B)比较两个字符串的大小

C)将字符串x复制到字符串y

D)将字符串x连接到字符串y后面

60.要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。

能正确表示此功能的函数是。

A)funa(int*x,int*y)B)funb(intx,inty)

{int*p;

{intt;

*p=*x;

*x=*y,*y=*p;

}t=x;

x=y;

y=t;

C)func(int*x,int*y)D)fund(int*x,int*y)

{*x=*y;

*y=*x;

}{*x=*x+*y;

*y=*x-*y;

*x=*x-*y;

65.以下程序:

malloc.h>

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

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

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

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

fut(&

p,a);

*p);

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

73.下面程序中存在语法错误,关于错误的原因正确说法是()。

stio.h>

voidp_ch1();

inta=5,b;

b=p_ch1(A);

A)语句voidp_ch1();

有错,它是函数调用语句,不能使用void说明

B)变量名不能使用大写字母

C)函数说明和函数调用语句之间有矛盾

D)函数名中不能使用下划线

76.若定义了以下函数:

voidf(……)

{……

*p=(double*)malloc(10*sizeof(double));

……

p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是。

A)double*pB)float**pC)double**pD)float*p

二、填空题

2.可以将结构体变量作为函数参数,采用_【_1_】_调用方式比较好,能提高运行效率。

【1】传址

4.下列函数在一维数组v上将x插入到下标为i的元素前,i≥0。

如果i≥元素的个数,则x插到末尾。

原有的元素个数存放在指针n所指向的变量中,插入后元素个数加1。

请填空。

voidinsline(intv[],int*n,intx,inti)

intj;

if(【1】)

for(j=*n-1;

【2】;

j--)

【3】=v[j];

i=*n;

v[i]=【4】;

*n=(*n)+1;

return;

【1】i<

*n【2】j>

=i【3】v[j+1]【4】x

6.下列程序在数组中同时查找最大元素和最小元素的下标,分别存放在main()函数的max和min中,请填空。

voidfind(int*a,intn,int*max,int*min);

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

find(【1】);

%d,%d\n"

max,min);

voidfind(int*a,intn,int*max,int*min)

*max=*min=0;

for(i=1;

n;

{

if(a[i]>

a[*max])

【2】;

if(a[i]<

a[*min])

【3】;

【1】a,10,&

max,&

min【2】*max=i【3】*min=i

8.下列程序用于求数组a中所有素数之和。

prime()用来判断自变量是否是素数。

intprime(intx);

inti,a[10],*p=a,sum=0;

Input10numbers:

\n"

);

10;

scanf("

&

a[i]);

if(prime(*(p+【1】))==1)

{

printf("

*(a+i));

sum+=*(a+i);

}

\n%Thesum=%d\n"

sum);

intprime(intx)

for(i=2;

x/2;

if(x%i==0)

return(0);

【2】;

【1】i【2】return

(1)]

14.以下程序中函数huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:

yes!

否则函数返回字符串:

no!

,并在主函数中输出。

所谓回文即正向与反向的拼写都一样,例如:

adgda。

char*huiwen(char*str)

char*p1,*p2;

inti,t=0;

p1=str;

p2=

(1);

=strlen(str)/2;

if(*p1++!

=*p2--)

t=1;

break;

if(

(2))return("

yes!

"

elsereturn("

no!

charstr[50];

Input:

scanf("

%s"

(3));

(1)str+strlen(str)-1或&

str[strlen(str)-1]

(2)t==0或t!

=1或!

t

(3)huiwen(str)或huiwen(&

str[0])

15.有一个名为eval的函数,它返回一个整数值,有一个整型参数x,一个指向函数的指针poly。

poly所指函数有一个整数参数,返回值也是整数。

那么eval函数的函数头应该写成。

inteval(intx,int(*poly)(int))

17.以下程序编译链接后生成p.exe文件,在DOS下运行键入:

pABCDEFGHIJKL

则输出结果为。

voidmain(intargc,char*argv[])

while(--argc>

0)

printf("

argv[argc]);

答:

IJKLEFGHABCD

18.下面程序的运行结果是:

voidswap(int*a,int*b)

int*t;

t=a;

a=b;

b=t;

intx=3,y=5,*p=&

x,*q=&

swap(p,q);

*p,*q);

35

20.以下程序的运行结果是:

char*ss(char*s)

returns+strlen(s)/2;

char*p,*str="

abcdefgh"

;

p=ss(str);

p);

efgh

24.以下程序从所读入的若干字符串中,找出最大的一个串并输出该串(用“****”作为结束输入的标志),请填空。

voidreadin(char(*a)[5],int*num)

inti=0;

gets(a[i]);

while(!

strcmp(a[i],"

****"

)==0)

①;

gets(a[i]);

②=i;

voidfindmax(char(*a)[5],③num,④max)

for(*max=a[0],i=1;

num;

if(strcmp(a[i],*max)>

0)

⑤;

charss[10][5],*ps;

intn;

readin(ss,&

n);

findmax(ss,n,&

ps);

max=%s\n"

ps);

①++i或i++②*num③int④char**⑤*max=a[i]

25.以下程序将“Hello”反向显示出来。

请在程序中的空白处填入一条语句或一个表达式。

voidprint(char*string);

charstr[]="

Hello"

print(str);

v

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

当前位置:首页 > PPT模板 > 其它模板

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

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