- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计-第5-9章习题解答
华中科技大学计算机学院 C语言程序设计 第5-9章 部分习题解答 作业中问题较多的习题 第5章 5.4(2) 第6章 6.1,6.3,6.5(6),6.8 第7章 无 第8章 8.18 第9章 9.1(5)(6),9.18(4) 第5章 5.4(2) 5.4 下列哪些声明可以作为标准C语言的函数原型? (2) int f(); 思路:参考p138第14行 如果函数没有参数,函数定义时void可以缺省,而函数原型的参数表必须指定为void. Turbo C和VC下都可以通过 #include stdio.h int f(); void main(void) { f(); } int f() { int x=1; printf(%d\n,x); return x; } 第6章 6.1 6.1 下列哪些宏定义可能是错误的?为什么? (1)#define MOD % /* a MOD d 被替换为 a % d */ (2)#define NUMBER = 20 ; /*? NUMBER*2被替换为 = 20 ;*2 */ (3)#define ident (x) x /*? y=ident-2被替换为y=(x) x-2 */ (4)#define void int /*? 不是好定义. void f(void);被替换为int f(int); */ (5)#define mul(x,y) x*y /*? mul(u-1,v-1)被替换为u-1*v-1 */ 第6章 6.1 6.1 (1)正确 (2)错误,不需要加“;”(不完整) (3)错误,“ident”与“(”之间不能有空格 (4)错误,宏名不能是关键字“void” (5)错误,将x*y改成((x)*(y)) 第6章 6.3 6.3 已知下面宏定义,写出宏调用for(i=0;isize;i++) PRN(a,n); 的展开形式。 #define PRN(array,size) printf(\n); for(i=0;isize;i++) printf(%5d,array[i]) 解: for(i=0;isize;i++) PRN(a,n); 的展开形式为: for(i=0;isize;i++) printf(\n); for(i=0;in;i++) printf(%5d,a[i]) 第6章 6.5(6) 6.5 写出完成如下要求的预处理指令。 (6)如果宏SIZE没有定义或虽然定义而数值不在1~10之间,则编译失败。 #ifndef SIZE #error not define SIZE #endif #if SIZE1 #error SIZE less than 1 #elif SIZE 10 #error SIZE great than 10 #endif 第6章 6.5(6) #ifndef SIZE assert(0); #else assert(SIZE10SIZE1); #endif 注意:该答案只能在程序运行时才起作用,与题意不符. 第6章 6.8 6.8 有下面宏定义,写出宏调用M(M)(A,B) 的展开形式。 #define M(x) M##x #define MM(M,y) M=#y 解: M(M)(A,B) ?M##M (A,B) ?MM (A,B) ?A=#B ? A=“B ” 所以, M(M)(A,B) 被替换为: A=“B ” 注意: #B ?”B” M##M ?”M” ”M” ?”MM” 第6章 6.8的应用 #define M(x) M##x #define MM(M,y) M=#y void main(void) { char *p; M(M)(p,B); printf(%s\n,p); } 第9章 9.1(5)(6) (5) 声明一个整型常量指针pci并对其进行初始化。 (6) 声明一个指向字符型常量的指针pcc。 (5)解: int x=1,* const pi=x; 注:int y=2; pi=y;将出错. (6)解: const char ch=a, *pc=ch; 注: *pc=‘b’;将出错. 参阅:第9章ppt p48 第9章 9.18(4) 9.18 请根据下面各题的解释,写出对应的声明语句。 (4)设p是3个元素的函数指针数组,函数指针数组中每个元素所指向的是无参、返回值为指向长度为4的整型数组的指针的指针函数;请写出相应的声明语句。 (4)解: int (*
您可能关注的文档
- 4471.图书馆管理信息系统.docx
- 4483.浅析电子商务中的隐私权问题.docx
- 4497.南戴河泊海美渡度假公寓工程参与现场施工并且初步认识管理 建筑工程管理生产实习报告.docx
- 44任奥巴马的就职演讲[最新版]1.doc
- 44键盘扫描程序(凌阳16位单片机)1.doc
- 4540.Maya与影视创作运用.docx
- 4516.哈夫曼编译码器闽江学院.docx
- 4611.回转器的电路设计 电工电子综合实验.docx
- 4、白赤辽500千伏输变电工程青北#1线8标段工程总结.doc
- 4东方风来.doc
- 抢分秘籍10 带电粒子电场中的直线运动、偏转和交变电电场中的应用(三大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍11 带电粒子在组合场、叠加场中的运动(五大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍11 带电粒子在组合场、叠加场中的运动(五大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍12 电磁感应中的电路与图像问题(二大题型)(解析版) -2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍12 电磁感应中的电路与图像问题(二大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍14 热力学定律与气体实验定律综合应用(五大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍13 电磁感应中的动力学、能量和动量问题(三大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍14 热力学定律与气体实验定律综合应用(五大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍16 振动图像与波动图像的综合应用(三大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍15 光的折射、全反射的综合应用(二大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
文档评论(0)