《C语言程序的设计》(江宝钏著)实验五答案.doc
《《C语言程序的设计》(江宝钏著)实验五答案.doc》由会员分享,可在线阅读,更多相关《《C语言程序的设计》(江宝钏著)实验五答案.doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 . . . . 5.4 实验五 函数与预处理一、实验目的与要求 1. 掌握C语言函数的定义方法、函数的声明与函数的调用方法。2. 理解函数实参与形参的对应关系以与“值传递”的方式。3. 掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。4. 掌握动态存储分配的方法。5. 掌握宏定义和文件包含处理方法。6. 实验4学时二、实验容1程序验证与改错题(1) 程序验证题下面程序执行的结果是什么void swap(int x, int y) int temp;temp=x; x=y; y=temp;void main() int a,b;scanf(“%d%d”, &a,&b); if(ab)
2、 swap(a, b); printf(“%dt %d”, a,b);思考:为什么a,b的值没有交换?答:修改后的函数为#includevoid swap(int &x, int &y)int temp;temp=x;x=y;y=temp;void main()int a,b;scanf(%d%d,&a,&b);swap(a,b); /if语句被去掉/printf(%dt %dn, a,b);因为调用函数中改变的是形参而非实参,加上&,其意义是改变实参的地址。If语句中,只有当ab时才交换a,b的值 去掉后 在任何情况下都交换a,b的值 调用函数fun计算:m=1+2+3+4+9+10,并输出
3、结果。请验证下面的程序是否符合题目要求。#include”stdio.h”int fun(int n) int m, i;for (i=1; i=n; i+) m+=i;return m;void main() printf(m=%dn, fun(10);在上面程序的基础上,修改程序. 计算m=1-2+3-4+9-10。答:#includeint fun(int n) int m=0,i;for (i=1;i=n;i+)if(i%2=1)m+=i;elsem-=i;return m;void main()printf(m=%dn,fun(10);(2)程序改错题 以下程序的功能是利用自定义函数
4、计算一无符号的整数各位数字的乘积。#includeunsigned f(unsigned num) unsigned k=0; do k*=num/10;num/=10; while(k); return k; void main() int x; printf(“input x=:n”); scanf(“%d”, x); printf(“%d”, f(x);答:#includeunsigned f(unsigned num) unsigned k=1; do k*=num%10; num/=10; while(num!=0); return k; void main() int x; pri
5、ntf(input x=:n); scanf(%d,&x); printf(%d, f(x);2一般编程题编程题1编写一函数,把输入的4个数字字符转换成一个int数据存放,如输入4123这字符转换为4123这个整数,并通过主函数验证结果。答:#includeint f(char c)int a;a=int(c)-48;return a;void main()int a,b=0;char c;while(c=getchar()!=n)a=f(c);b=b*10+a;printf(%dn,b);printf(%d+%d=%dn,b,b,b+b);printf(n);编程题2编写程序求:1*1*1+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序的设计 语言 程序 设计 江宝钏著 实验 答案
限制150内