- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言 第8章 带参宏递归及习题课
#define sqr(x) x*x void main( ) { printf(%d,sqr(2+3)); } #define sqr(x) (x)*(x) void main( ) { printf(%d,sqr(2+3)); } 函数习题课 函数习题课 函数习题课 2、编写一个函数能够实现打印2~100之间所有素数。 for (i=2;i=100;i++) if(prime(i)) printf(%d,i); 函数习题课 3、试编制一个求最大公约数的函数,并利用它求任意两个数的最大公约数和最小公倍数。 函数习题课 void main( ) { int a,b; scanf(%d,%d, a, b); printf(gongyue is :%d\n, gongyue(a,b)); printf(gongbei is :%d\n , a*b/gongyue(a,b)); } 函数习题课 选择题: 在以下所列的各函数原型声明中,正确的是: A、void play(var:Integer, var b:Integer); B、void play(int a, b); C、void play(int a, int b); D、Sub play(a as integer, b as integer) 函数习题课 选择题: 在C语言程序中, _______。 A、函数的定义可以嵌套,但调 用不可以嵌套 B、函数的定义不可以嵌套,但 函数的调用可以嵌套 C、函数的定义和函数的调用都 不可以嵌套 D、函数的定义和调用均可以嵌 套 函数习题课 选择题: 在函数调用语句f(a,b,(c,d));中,实参个数是_______。 A、3 B、4 C、5 D、语法错误 函数习题课 填空题:写出以下函数的原型声明: donut( )函数接收一个整数,并输出若干个0,输出0的个数等于所接收整数的值。 random函数不接收任何数据,但返回一个整数。 digits( )函数接收一个双精度数和一个整数,并返回一个整数。 void s(int a,int b) { int t; t=a;a=b;b=t; printf(%d,%d\n,a,b); } void main( ) {int m=3,n=4; s(m,n); printf(%d,%d\n,m,n); } 程序阅读题 func(int a,int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return m; } void main( ) { int k=4, m=1, p; p=func(k,m); printf(%d,p); p=func(k,m); printf(%d,p); } 函数习题课 long f(int n) { if(n==0 || n==1) return 1; else return f(n-1)*n; } void main( ) {printf(%ld,f(5)); } 8.4.2函数的递归调用 带参宏 定义格式:# define 宏名(参数表) 字符串 例如: # define s(a, b) a*b main( ) { int m=s(3, 4); printf(“m=%d ”, m ); } 形参 实参 8.7 编译预处理 m=12 printf(%d,2+3*2+3); printf(%d,(2+3)*(2+3)); 1、使用函数求出所有的水仙花数 分析:判断范围:100~999 假如:有一个函数fun可直接判断 一个数是不是水仙花数,那么怎么编? void main( ) { int k; for(k=100;k=999;k++) if(k是水仙花数) printf(“%d\n”,k); } fun(k)==1 void main( ) { int k;
文档评论(0)