C语言习题(7)函数_第1页
C语言习题(7)函数_第2页
C语言习题(7)函数_第3页
C语言习题(7)函数_第4页
C语言习题(7)函数_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BatchDoc-Word文档批量处理工具C语言习题(7)第7章 函数一填空题1. C语言中从函数的形式分可分为无参函数和 。2. 在C语言中,一个自定义函数一般由两部分组成,它们是函数首部和 。3. 从用户使用角度看,函数有两种:标准函数和 。4. 若一个函数不需要形参,则在定义该函数时应使形参表为空或者放置一个标识符 。5. 有函数调用fun1(x+y, (y,z), 10, fun(x,y-1); 函数fun1有 个参数。6. 已知函数定义:void dothat(int n, double x) ,其函数声明的两种写法为_,_。7. C语言变量按其作用域分为 和 ;按其生存期分为_和 。8. C语言变量的存储类别有 , , 和 。9. 凡在函数中未指定存储类别的局部变量,其默认的存储类别为 。10. 在一个C程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为 。11. C语言中,形式参数的缺省存储类型是 。12. C语言中,若为指定函数是内部函数或外部函数,则默认该函数是 。二选择题1. 以下正确的说法是_。A)用户若需要调用标准库函数,调用前必须重新定义B)用户可以重新定义标准库函数,如若此,该函数将失去原有定义C)系统不允许用户重新定义标准库函数D)用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。2. 以下正确的函数定义是_。A)double fun(int x, int y); B)int fun(int x,y) z=x+y ; return z ; int z ; return 3;C)double fun (x,y) D)double fun (int x, int y) int x, y ; double z ; double z ; z=x+y; z=x+y ; return z ; return z ; 3. C语言中,简单变量做实参和形参时,以下正确的说法是_。A)实参和与其对应的形参各占用独立的存储单元B)实参和与其对应的形参共占用一个存储单元C)只有当实参和与其对应的形参同名时才共占用相同的存储单元D)形参时虚拟的,不占用存储单元4. C语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是_。A)地址传递B)单向值传递C)有实参传给形参,再由形参传给实参D)由用户指定传递方式5. C语言规定,函数返回值的类型是由_决定的。A)return语句中的表达式类型 B)调用该函数时的主调函数类型C)调用该函数时由系统临时 D)在定义函数时所指定的函数类型6. 以下正确的描述是_。A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和函数的调用均不可以嵌套D)函数的定义和函数的调用均可以嵌套7. 若用数组名作为函数调用的实参,传递给形参的是_。A)数组的首地址 B)数组中第一个元素的值C)数组中的全部元素的值 D)数组元素的个数8. 如果在一个函数中的复合语句中定义了一个变量,则该变量_。A)只在该复合语句中有定义 B)在该函数中有定义C)在本程序范围内有定义 D)为非法变量9. 以下不正确的说法是_。A)在不同函数中可以使用相同名字的变量B)形式参数是局部变量C)在函数内定义的变量只在本函数范围内有定义D)在函数内的复合语句中定义的变量在本函数范围内有定义10. 关于函数声明,以下不正确的说法是_。A)如果函数定义出现在函数调用之前,可以不必加函数原型声明B)如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明C)函数在调用之前,一定要声明函数原型,保证编译系统进行全面的调用检查D)标准库不需要函数原型声明11. 以下func()函数的调用中实参的个数是_。func(exp1,exp2),(exp3,exp4,exp5);A)1 B)2 C)3 D)512. 有如下程序,该程序的输出结果是_。int func(int a, int b) return (a+b); int main() int x=2,y=5,z=8,r; r=func(func(x,y), z); printf(“%dn”,r); return 0; A)12B)13C)14D)1513. 以下程序运行的结果是_。void fun(int a, int b, int c)a=456; b=567; c=678;int main() int x=10,y=20,z=30; fun(x,y,z); printf(“%d,%d,%d”,x,y,z); return 0; A)30,20,10 B)10,20,30C)456,567,678D)678,567,45614. 以下程序运行的结果是_。void fun(int b)if(b0) fun(b-1);printf(“%d”,b);int main() int a=5; fun(a); return 0;A)54321 B)012345 C)12345 D)54321015. 函数f定义如下,执行语句sum=f(5)+f(3);后,sum的值应为_。int f(int m) static int i=0; int s=0; for(;i=m;i+) s+=i; return s; A)21B)16C)15D)816. 以下程序运行的结果是_。void reverse(int a, int n) int i,t; for(i=0;in/2;i+) t=ai; ai=an-1-i; an-1-i=t;int main() int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0; reverse(b,8); for(i=6;i10;i+) s+=bi; printf(“%dn”,s); return 0; A)22B)10C)34D)30三程序阅读题1. 写出下面程序的运行结果_。#includeint a,b;void fun() a=100;b=200;int main() int a=5,b=7;fun();printf(“a=%d,b=%dn”,a,b); return 0; 2. 以下程序的第一行的输出结果是是_,第二行的输出结果是_,第三行的输出结果是_,第四行的输出结果是_。#includeint main() int a=5,b=-3,c=-7; printf(”%d,%d,%dn”,a,b,c); int b=8;float c=9.9; printf(“%d,%d,%.1fn”,a,b,c); a=b; int c=b; printf(”%d,%d,%dn”,a,b,c); printf(”%d,%d,%dn”,a,b,c);return 0; 3. 写出下面程序的运行结果_。#includevoid swap1(int c) int t; t=c0;c0=c1;c1=t;void swap2(int c0,int c1) int t; t=c0; c0=c1;c1=t; int main() int a2=3,5,b2=3,5; swap1(a); swap2(b0,b1); printf(%d,%d,%d,%dn,a0,a1,b0,b1); return 0;4. 以下程序的输出结果第一行是_,第二行是_,第三行是_。#includeint n=1;void func() static int x=4; int y=10; x=x+2; n=n+10; y=y+n; printf(FUNC: x=%d y=%d n=%dn,x,y,n);void main() int x=5,y; y=n; printf(MAIN:x=%d y=%d n=%dn,x,y,n); func( ); printf(MAIN:n=%dn,n);5. 写出下面程序的运行结果_。#includeint max_value(int array4,int i) int j,max;max=arrayi0;for (j=0; j4; j+) if (maxarrayij) max=arrayij;return(max);int main ( ) int a34=1,3,5,7,2,4,6,8,12,15,56,32,i; for (i=0; i3; i+) printf(“%dn”,max_value(a,i); return 0; 6. 写出下面程序的运行结果_。#includeint func (int array4, int m) int i,j,k=0;for(i=0;i3;i+)for(j=0;j4;j+) if(arrayijm) k=k+arrayij;return (k) ; int main ( ) int a34=1,13,5,7,2,4,26,8,10,1,3,12;int m;m=10;printf(“%dn”,func(a,m) ;return 0;7. 写出下面程序的运行结果_。#includevoid main() int add(int x,int y); int a=1,b=2,x1,x2,x3; x1=add(a,b); x2=add(a,b); x3=add(a,b); printf(%d,%d,%dn,x1,x2,x3);int add(int x,int y) static int z=1; z=x+y+z;return(z); 8. 以下程序运行时第一行、第二行、最后一行分别输出为_、_、_。#includeint sub(int n) int a; if(n=1)a=1; else a=n+sub(n-1); printf(%dn,a); return(a);int main() int i=5; printf(%dn,sub(i);return 0;四程序填空题1. 以下程序的功能是:用average函数计算平均成绩。#includefloat average(float array,int n) float sum=0,ave;int i;for(i=0;in;i+)sum+=arrayi;ave=(【 1 】);【 2 】; int main() float score10,aver; int i; for(i=0;i10;i+) scanf(“%f”,&scorei); aver=average【 3 】; printf(“aver=%fn”,aver); return 0; 2. 函数void fun(char s,char c)的功能是从字符串s中删除字符c,在主函数中输入要删除的字符,并将删除后的字符输出。#includevoid fun(char s,char c) int i,j;for(i=0,j=0;si!=0;i+) if(【 1 】) sj+=si;sj=0; int main() char str80=”adadfeeafard”,ch; scanf(“%c”,&ch); fun(【 2 】,ch); 【 3 】; return 0; 3. 下面程序用“折半查找法”从有10个数的a数组中对关键字m查找,若找到,返回其下标值,否则返回-1,请填空。#includeint search(int a10,int m) int x1=0,x2=9,mid ; while (x1=x2) mid = (x1+x2)/2; if (mamid) 【 2 】; else return (mid) ; return (-1) ;int main() int a10=1,4,6,8,12,44,55,67,89,98,key,k; printf(please input:); scanf(%d,&key); k=【 3 】; if(k=-1) printf(cant find!n); else printf(pos=%dn,k); return 0;4. 下面程序的功能是将一个字符串中元音字母复制到另一个字符串,然后输出,请填空。#include int main()【 1 】 char str80,c80; printf(input string:); 【 2 】 cpy(str,c); printf(The vowel letters are:%sn,c); return 0; void cpy(char s,char c) int i,j; for (i=0,j=0;si!=0;i+) if (si=a|si=A|si=e|si=E|si=i| si=I|si=o|si=O|si=u|si=U) 【 3 】; j+; 【 4 】 5. 下面程序的功能是给出年、月、日,计算该日是该年的第几天,请填空。#include int main()int sum_day(int month,int day); int leap(int year); int year,month,day,days; printf(input date(year,month,day):); scanf(%d,%d,%d,&year,&month,&day); printf(%d/%d/%d ,year,month,day); days=sum_day(month,day); if(leap(year)&m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论