收藏 分享(赏)

C语言函数自测练习.doc

上传人:精品资料 文档编号:10810281 上传时间:2020-01-10 格式:DOC 页数:13 大小:59.95KB
下载 相关 举报
C语言函数自测练习.doc_第1页
第1页 / 共13页
C语言函数自测练习.doc_第2页
第2页 / 共13页
C语言函数自测练习.doc_第3页
第3页 / 共13页
C语言函数自测练习.doc_第4页
第4页 / 共13页
C语言函数自测练习.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、函数自测练习一、选择题1. C 语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 。A. 地址传递 B. 由实参传给形参,再由形参传回给实参C. 由用户指定传递方式 D. 单向值传递2. C 语言规定,函数返回值的类型是由 。A. return 语句中的表达式类型所决定 B.调用该函数时的主调函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型所决定3. 下面函数调用语句含有实参的个数为 。func(exp1,exp2),(exp3,exp4,exp5);A. 1 B. 2 C. 4 D. 5 4. 以下叙述中错误的是 。A. C 程序必须由一个或一个以上的

2、函数组成B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须通过 return 语句返回D.函数形参的值也可以传回给对应的实参5*. 若用数组名作为函数调用的实参,传递给形参的是 。A. 数组的首地址 B. 数组第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数6. 以下不正确的说法为_。A. 在不同函数中可以使用相同名字的变量B. 形式参数是局部变量C. 在函数内定义的变量只在本函数范围内有效 D. 在函数内的复合语句中定义的变量在本函数范围内有效 7. 凡是函数中未指定存储类别的局部变量,其隐含的存储类别为 。A.自动(auto ) B.静态(static) C.外部

3、(extern ) D.寄存器(register )8*.以下叙述中正确的是 。A. 预处理命令行必须位于 C 源程序的起始位置B. 在 C 语言中,预处理命令行都以“#“开头C. 每个 C 程序必须在开头包含预处理命令行:#includeD. C 语言的预处理不能实现宏定义和条件编译的功能9为了保证不使函数带回任何值,则函数返回值的类型必须定义为_ 。A. int B. char C. void D. float 10局部变量的作用范围是_。A. 整个 C 源程序文件内。 B. 从定义变量的位置开始到本源文件结束。C. 只在一个函数内有效。 D. 只在主函数内有效。11在 C 语言中,若对函

4、数类型未加显式说明,则函数的隐含类型是_。Avoid Bdouble Cint Dchar 12以下叙述中正确的是_ 。A. 在不同的函数中可以使用相同名字的变量 B. 函数调用中,形参变量和实参变量实际是同一个变量C. 一个函数内只能包含一个 return 语句D. 用户自定义函数只能由主函数调用,不能由另外的用户自定义函数调用13以下关于预处理命令的说法中正确的是_ 。A. #include 命令只能包含后缀名为“.h”的文件,不能包含后缀名为“.c”的文件B. 用#define 宏定义时,可以引用已定义的宏名,可以层层替换C. 一个#define 命令可以定义多个符号常量D. #defi

5、ne 命令必须放在程序的第一行14以下说法中正确的是 。A. C 语言程序总是从第一个的函数开始执行。B. 在 C 语言程序中,要调用的函数必须在 main()函数中定义。C. C 语言程序中的 main()函数必须放在程序的最开始部分。D. C 语言程序总是从 main()函数开始执行。*15有以下程序#include “stdio.h”#define N 5+3int main( ) int i1;i1=N*N;printf(“%d“,i1);return 0;程序的运行结果是 。A. 64 B. 19 C. 43 D. 23二、填空题1结构化程序设计中的模块化思想,在 C 语言中是采用

6、实现的。2在 C 语言中,一个函数一般由两个部分组成 ,它们是 和 。 3标准函数是指 ;用户自定义函数是指 。4若函数定义时没有明确说明函数的类型,则其默认的类型是 。5若程序中调用了数学函数 fabs(),则需要使用#include 命令来包含头文件 。6.return 语句可以返回 个函数值。7C 语言中,自定义函数可以使用 _语句返回一个值。8递归函数是指 。9变量的生命周期是指 ;变量的作用域是指 。10用 typedef 定义整型一维数组:typedef int ARRAY10;则使用 ARRAY 对整型数组 a10、b10、c10可以定义为 。三、读程序、写结果题1写出下列程序的

7、执行结果。#include void fun(int x) while(x) printf(“%d”,x%10);x/=10;printf(“n”);int main() int num=2936;fun(num);printf(“%d n“,num);return 0;2写出下列程序的执行结果。#include int fun(float x,float y,float z) if(x+yzelse return 0;int main() float a=1,b=2,c=3;int i;for(i=0; iint factorial(int n);int main() int fact;in

8、t x;scanf(“%d”,fact=factorial(x);printf(“fact=%d”,fact);return 0;int factorial(int n) int result=1,i;for(i=1;iint judge(int x,int y);int main() int x,y,z,t,m;scanf(“%d%d%d“,t=judge(x,y);m=judge(t,z);printf(“m=%dn“,m);return 0;int judge(int x,int y) int t;if(xint fun(int a,int b) if(ab) return a;else

9、 return b;int main() int x,y;scanf(“%d%d“,printf(“%dn“,fun(x,y);return 0;6写出下列程序在执行时输入“12 15 23 35 120 60”时的输出结果。#include int fun(int x) return x%5;int main( ) int i,a;for(i=1;iy)?x:y;return z;int main( ) int z,a,b,c;scanf(“%d%d%d“,z=fun(a,b);z=fun(z,c);printf(“z=%dn“,z);return 0;8写出下列程序的执行结果。#inclu

10、de void fun(int, int);int main() int i, j, x, y, n, g;i=2; j=3; g=x=5; y=9; n=7;fun(n, 6);printf(“g=%d, i=%d, j=%d n”, g, i, j );printf(“x=%d, y=%dn”, x, y);return 0;void fun(int i, int j) int x, y, g;g=8, x=7, y=2;printf(“g=%d, i=%d, j=%d n”, g, i, j );printf(“x=%d, y=%dn”, x, y);x=8;y=6;9写出下列程序的执行

11、结果。#include void fun() int a,b;a=100;b=200;int main( ) int a=5,b=7;fun();printf(“%d %dn“,a,b);return 0;10写出下列程序在执行时输入“5 3”时的输出结果。#include int main() float c;int m,n;float fun(int x);printf(“input m,n:”);scanf(“%d%d”,if(mint main() int m,n,t,r;int fun1(int m,int n);int fun2(int m,int n,int h);m=42; n

12、=12;t=fun1(m,n);printf(“t=%dn“,t);r=fun2(m,n,t);printf(“r=%dn“,r);return 0;int fun1(int m,int n) int t,r;if(mvoid fun(int a,int b) int t=a;a=b;b=t;int main() int x=2,y=5;fun(x,y);printf(“%d : %dn”,x,y);return 0;13写出下列程序的执行结果。#include int fun (int n) int k=1,i;for(i=1;iint gcd(int m,int n) int r,t;if

13、(mint age(int n) int c;if( n = 1 ) c=10;else c=age(n-1)+2;return c;int main() printf(“%dn”,age(3);return 0;*22写出下列程序的执行结果。 #include void dtob(int n) int i;if(n1) i=n%2;dtob(n/2);else i=n;printf(“%d”,i);int main( ) int i=9;printf(“%dn”,i);dtob(i);return 0;*23写出下列程序的执行结果。#includevoid inc () static int

14、 x=0;x+=2;printf(“%d“,x);int main() inc ();inc ();return 0;*24写出下列程序的执行结果。#include int f(int a) int b=1;static int c=2;b+;+c;return(a+b+c);int main( ) int a=2, i;for(i=0;iy else if( ) return(y);else return(z);int main( ) int x1,x2,x3,i=1,j,x0;printf(“Input 3 number; “);scanf(“%d%d%d“,x0=max(x1,x2,x3

15、);while(1) j=x0*i;if( ) break;i=i+1;printf(“The is %d %d %d 最小公倍数 is %dn“,x1,x2,x3,j);return 0;2. 以下 isprime 函数的功能是判断形参 a 是否为素数,是素数,函数返回 1,否则返回0。请填空int isprime(int a) int i;for(i=2; idouble fun(double x) return(x*x-2*x+6); int main( ) double x,y1,y2;printf(“Enter x:“); scanf(“%lf“,y1=fun( );y2=fun(

16、);printf(“y1=%lf “,y1,y2);return 0;五、编程题1编写一个自定义函数,其功能是判断一个整数是否为素数。主函数负责输入两个整数 m、n,然后通过调用自定义函数判断并输出 m 和 n 之间(包括 m 和 n)的所有素数。(注:必须使用自定义函数,否则程序正确只得一半分)2编写一个函数,该函数可以检验一个整数表示的年份是否为闰年。若是,函数返回1,否则返回 0。主函数负责输入一个表示年份的整数,并调用判断闰年的函数输出该年份是否是闰年。判断“是闰年”的条件是:该年份能被 4 整除但不能被 100 整除,或者该年份能被 400 整除。例如,输入: 2000 并回车,输出

17、:2000 年是闰年输入: 2011 并回车,输出:2011 年不是闰年3. 编写两个自定义函数分别用于计算圆的周长和面积。主函数负责输入半径值,然后分别调用求周长和求面积函数,得到圆的周长和面积并输出。4从键盘输入三角形的三边长,要求自己编写函数 double area(int a, int b, int c) 实现求三角形面积,并在主函数中打印三角形面积。提示:已知三角形的三边长 a, b, c,求三角形面积公式如下:5编写一个用户自定义函数,该函数有 2 个数值参数 x、n,函数的功能是:求解 xn-6 的值。编写一个程序,调用用户自定义函数来求解(15 3-6)+(45-6)的值。6编

18、写一个函数,用于求出两个整数的最大公约数,在主函数中输入两个整数,调用该函数求出其最大公约数。7编写一个函数 str_copy()实现字符串的拷贝。在主函数中输入原串,并输出拷贝后的字符串。要求实参使用数组名,形参使用字符指针。8编写一个函数 str_cat()实现两个字符串的连接。在主函数中输入两个字符串,并输出连接后的字符串。要求实参使用数组名,形参使用字符指针。9编写一个自上而下的模块化程序,以实现一个计算器,该程序请求用户输入两个数字,然后按用户的需要,显示一下结果:(a) 两个数之和。(b) 两个数之差。(c) 两个数之积。(d) 两个数之商。为执行不同的任务提供不同的函数,例如,数字读取、计算、显示。计算模块应调用下一级模块来执行每个算术运算。主函数应只有一个函数调用。10编写一个用户自定义函数,该函数的功能是:输出一个用*号绘制的实心正方形。正方形的边长用整数 side 指定。主函数负责从键盘输入任意一个整数,然后调用用户自定义函数输出指定边长的正方形图形。 拓展如果绘制图形的符号也要求从键盘输入,程序应该如何修改?提示函数 void fun1(int side); void fun1(int side,char ch1);s*(s-a)*(s-b)*(s-c)三角形面积= ,其中 s = 0.5*(a+b+c)

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报