第910章补充作业.docx
《第910章补充作业.docx》由会员分享,可在线阅读,更多相关《第910章补充作业.docx(23页珍藏版)》请在冰豆网上搜索。
第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);
char*a[]={“BASIC”,”FOXPRO”,”C”};
fun(a);
A.BASICB.ASICC.FOXPROD.C
22.以下程序的输出结果是。
amovep(int*p,int(*a)[3],intn)
inti,j;
for(i=0;ifor(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.以下程序的输出结果是。#includefun(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.1124.以下程序中,函数sort的功能是对数组a中的数据进行由大到小的排序。#includevoidsort(inta[],intn){inti,j,t;for(i=0;ifor(j=i+1;jif(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,1C.1,2,3,8,7,6,5,4,9,10D.1,2,10,9,8,7,6,5,4,325.有以下程序,运行后的输出结果是。#includefloatfun(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.026.以下程序的输出结果是。#includeinta=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.827.以下程序的输出结果是。#includeintf(){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.1528.以下程序的输出结果是。#includevoidsub(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.444429.有以下程序:#includeint*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p;p=f(&a,&b)printf(“%d\n”,*p);}执行后输出结果是。A.7B.8C.0D.一个地址值30.下面程序的执行结果是。#includevoidfunc(inta,intb,intc){printf(“a=%d,b=%d,c=%d\n”,a,b,c);}main(){inti=2;func(i,i++,i--);}31.给出以下程序的运行结果。#includeinvert(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.以下程序的输出结果是。#includeintfac_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.有以下程序:#includevoidss(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#includechar*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能够按以下形式构成一个杨辉三角形,请填空。111121133114641…#defineN11yahui(inta[][N]){inti,j;for(i=1;i{a[i][1]=1;a[i][i]=1;}for(;ifor(j=2;;j++)a[i][j]=;}41.下面函数pi的功能是:根据以下公式,返回满足精度(0.0005)要求的π的值,请填空。=1+++++…#include#include#includedoublepi(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;}elsereturn(-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中,请填空。#defineSIZE30fav1(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);}
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.以下程序的输出结果是。#includefun(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.1124.以下程序中,函数sort的功能是对数组a中的数据进行由大到小的排序。#includevoidsort(inta[],intn){inti,j,t;for(i=0;ifor(j=i+1;jif(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,1C.1,2,3,8,7,6,5,4,9,10D.1,2,10,9,8,7,6,5,4,325.有以下程序,运行后的输出结果是。#includefloatfun(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.026.以下程序的输出结果是。#includeinta=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.827.以下程序的输出结果是。#includeintf(){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.1528.以下程序的输出结果是。#includevoidsub(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.444429.有以下程序:#includeint*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p;p=f(&a,&b)printf(“%d\n”,*p);}执行后输出结果是。A.7B.8C.0D.一个地址值30.下面程序的执行结果是。#includevoidfunc(inta,intb,intc){printf(“a=%d,b=%d,c=%d\n”,a,b,c);}main(){inti=2;func(i,i++,i--);}31.给出以下程序的运行结果。#includeinvert(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.以下程序的输出结果是。#includeintfac_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.有以下程序:#includevoidss(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#includechar*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能够按以下形式构成一个杨辉三角形,请填空。111121133114641…#defineN11yahui(inta[][N]){inti,j;for(i=1;i{a[i][1]=1;a[i][i]=1;}for(;ifor(j=2;;j++)a[i][j]=;}41.下面函数pi的功能是:根据以下公式,返回满足精度(0.0005)要求的π的值,请填空。=1+++++…#include#include#includedoublepi(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;}elsereturn(-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中,请填空。#defineSIZE30fav1(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);}
*p=a[i][j];
p++;
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.以下程序的输出结果是。
fun(int**s,intp[2][3])
**s=p[1][1];
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中的数据进行由大到小的排序。
voidsort(inta[],intn)
inti,j,t;
for(i=0;ifor(j=i+1;jif(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,1C.1,2,3,8,7,6,5,4,9,10D.1,2,10,9,8,7,6,5,4,325.有以下程序,运行后的输出结果是。#includefloatfun(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.026.以下程序的输出结果是。#includeinta=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.827.以下程序的输出结果是。#includeintf(){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.1528.以下程序的输出结果是。#includevoidsub(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.444429.有以下程序:#includeint*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p;p=f(&a,&b)printf(“%d\n”,*p);}执行后输出结果是。A.7B.8C.0D.一个地址值30.下面程序的执行结果是。#includevoidfunc(inta,intb,intc){printf(“a=%d,b=%d,c=%d\n”,a,b,c);}main(){inti=2;func(i,i++,i--);}31.给出以下程序的运行结果。#includeinvert(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.以下程序的输出结果是。#includeintfac_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.有以下程序:#includevoidss(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#includechar*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能够按以下形式构成一个杨辉三角形,请填空。111121133114641…#defineN11yahui(inta[][N]){inti,j;for(i=1;i{a[i][1]=1;a[i][i]=1;}for(;ifor(j=2;;j++)a[i][j]=;}41.下面函数pi的功能是:根据以下公式,返回满足精度(0.0005)要求的π的值,请填空。=1+++++…#include#include#includedoublepi(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;}elsereturn(-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中,请填空。#defineSIZE30fav1(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);}
for(j=i+1;jif(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,1C.1,2,3,8,7,6,5,4,9,10D.1,2,10,9,8,7,6,5,4,325.有以下程序,运行后的输出结果是。#includefloatfun(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.026.以下程序的输出结果是。#includeinta=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.827.以下程序的输出结果是。#includeintf(){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.1528.以下程序的输出结果是。#includevoidsub(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.444429.有以下程序:#includeint*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p;p=f(&a,&b)printf(“%d\n”,*p);}执行后输出结果是。A.7B.8C.0D.一个地址值30.下面程序的执行结果是。#includevoidfunc(inta,intb,intc){printf(“a=%d,b=%d,c=%d\n”,a,b,c);}main(){inti=2;func(i,i++,i--);}31.给出以下程序的运行结果。#includeinvert(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.以下程序的输出结果是。#includeintfac_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.有以下程序:#includevoidss(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#includechar*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能够按以下形式构成一个杨辉三角形,请填空。111121133114641…#defineN11yahui(inta[][N]){inti,j;for(i=1;i{a[i][1]=1;a[i][i]=1;}for(;ifor(j=2;;j++)a[i][j]=;}41.下面函数pi的功能是:根据以下公式,返回满足精度(0.0005)要求的π的值,请填空。=1+++++…#include#include#includedoublepi(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;}elsereturn(-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中,请填空。#defineSIZE30fav1(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);}
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,1C.1,2,3,8,7,6,5,4,9,10D.1,2,10,9,8,7,6,5,4,325.有以下程序,运行后的输出结果是。#includefloatfun(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.026.以下程序的输出结果是。#includeinta=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.827.以下程序的输出结果是。#includeintf(){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.1528.以下程序的输出结果是。#includevoidsub(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.444429.有以下程序:#includeint*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p;p=f(&a,&b)printf(“%d\n”,*p);}执行后输出结果是。A.7B.8C.0D.一个地址值30.下面程序的执行结果是。#includevoidfunc(inta,intb,intc){printf(“a=%d,b=%d,c=%d\n”,a,b,c);}main(){inti=2;func(i,i++,i--);}31.给出以下程序的运行结果。#includeinvert(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.以下程序的输出结果是。#includeintfac_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.有以下程序:#includevoidss(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#includechar*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能够按以下形式构成一个杨辉三角形,请填空。111121133114641…#defineN11yahui(inta[][N]){inti,j;for(i=1;i{a[i][1]=1;a[i][i]=1;}for(;ifor(j=2;;j++)a[i][j]=;}41.下面函数pi的功能是:根据以下公式,返回满足精度(0.0005)要求的π的值,请填空。=1+++++…#include#include#includedoublepi(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;}elsereturn(-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中,请填空。#defineSIZE30fav1(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);}
t=a[i];
a[i]=a[j];
a[j]=t;
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.有以下程序,运行后的输出结果是。
floatfun(intx,inty)
return(x+y);
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.以下程序的输出结果是。
inta=2;
intf(int*a)
return(*a)++;
ints=0;
inta=5;
s+=f(&a);
printf(“%d\n”,s);
A.10B.9C.7D.8
27.以下程序的输出结果是。
intf()
staticinti=0;
ints=1;
s+=i;
i++;
returns;
inti,a=0;
for(i=0;i<5;i++)
a+=f();
printf(“%d\n”,a);
A.20B.24C.25D.15
28.以下程序的输出结果是。
voidsub(int*s,int*y)
staticintt=3;
*y=s[t];
t--;
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.有以下程序:
int*f(int*x,int*y)
if(*x<*y)
returnx;
else
returny;
inta=7,b=8,*p;
p=f(&a,&b)
执行后输出结果是。
A.7B.8
C.0D.一个地址值
30.下面程序的执行结果是。
voidfunc(inta,intb,intc)
printf(“a=%d,b=%d,c=%d\n”,a,b,c);
inti=2;
func(i,i++,i--);
31.给出以下程序的运行结果。
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.以下程序的输出结果是。#includeintfac_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.有以下程序:#includevoidss(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#includechar*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能够按以下形式构成一个杨辉三角形,请填空。111121133114641…#defineN11yahui(inta[][N]){inti,j;for(i=1;i{a[i][1]=1;a[i][i]=1;}for(;ifor(j=2;;j++)a[i][j]=;}41.下面函数pi的功能是:根据以下公式,返回满足精度(0.0005)要求的π的值,请填空。=1+++++…#include#include#includedoublepi(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;}elsereturn(-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中,请填空。#defineSIZE30fav1(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);}
invert(s,i+1,j-1);
t=*(s+i);*(s+i)=*(s+j);*(s+j)=t;
inta[6]={10,6,23,-90,0,3},i;`
invert(a,0,5);
for(i=0;i<6;i++)
printf(“%d,”,a[i]);
32.以下程序的输出结果是。
intfac_sum(intn)
staticintf=1,t=1,s=0;
inti;
if(n>t)
for(i=t+1;i<=n;i++)
f=f*i;
f=1;
for(i=1;i<=n;i++)
t=n;s=s+f;
return(s);
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.有以下程序:
voidss(char*s,chart)
while(*s)
if(*s==t)
*s=t-‘a’+’A’;
s++;
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)
for(i=0;!
=’\0’;i++);
return();
37.下列程序的运行结果是。
char*ss(char*s)
returns+strlen(s)/2;
char*p,*str=“abcdefgh”;
p=ss(str);
printf(“%s\n”,p);
38.以下程序的运行结果是
intn=1;
staticintx=5;
inty;y=n;
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:
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])
for(i=1;i{a[i][1]=1;a[i][i]=1;}for(;ifor(j=2;;j++)a[i][j]=;}41.下面函数pi的功能是:根据以下公式,返回满足精度(0.0005)要求的π的值,请填空。=1+++++…#include#include#includedoublepi(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;}elsereturn(-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中,请填空。#defineSIZE30fav1(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);}
a[i][1]=1;a[i][i]=1;
for(;ifor(j=2;;j++)a[i][j]=;}41.下面函数pi的功能是:根据以下公式,返回满足精度(0.0005)要求的π的值,请填空。=1+++++…#include#include#includedoublepi(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;}elsereturn(-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中,请填空。#defineSIZE30fav1(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);}
for(j=2;;j++)
a[i][j]=;
41.下面函数pi的功能是:
根据以下公式,返回满足精度(0.0005)要求的π的值,请填空。
=1+
doublepi(doubleeps)
doubles,t;
intn;
for(;t>eps;n++)
s+=t;
t=n*t/(2*n+1);
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;
return(-1);
intn=0,k,m;
for(k=10;k<=99;k++)
m=sub(k,n);
if()
n=m;
printf(“\nn=%d”,n);
43.若输入一个整数10,以下程序的运行结果是。
inta,e[10],c,i=0;
printf(“输入一个整数\n”);
scnaf(“%d”,&a);
while(a!
=0)
c=sub(a);
a=a/2;
e[i]=c;
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);}
;
k+=2;
fav2(flaots[],floatw[])
floatsum;
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);}
sum+=s[i];
if((i+1)%5==0)
w[k]=sum/5;
K++;
floats[SIZE],w[SIZE/5],sum;
inti,k;
fav1(s);
fav2(s,w);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1