- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序的设计课件 10-
文件包含处理 文件包含命令可以将另一个C源程序的全部内容包含进来,它可以避免不必要的重复劳动。 带参数的主函数 一般情况下,在DOS环境执行文件的形式为“c:\命令动词 参数表”。其中参数表被称为命令行参数。 例如: 取名file.c的文件经过编译、连接后产生file.exe,在DOS提示符下输入如下字符串时: c:\file parameter1 parameter2↙ ?则程序运行时,系统自动将命令行参数的个数3赋给argc。 例:如下带参数的主函数 #include stdio.h void main(int argc,char *argv[]) { int i; for(i=1;iargc;i++) printf(%s\n,argv[i]); } 课堂练习 1、给出下面程序宏替换后的结果。 #define PI 3.1415926 #define R 3.0 #define L 2*PI*R #define S PI*R*R main() { printf(l=%f \ns=%f\n,L,S); } 分析:学习宏替换要注意以下几点: ?⑴ 宏名一般习惯用大写字母,以便与变量名相区别; ⑵ 宏替换由编译程序预先进行;宏名用作代替一个字符串,不作语法检查; ⑶ 宏替换范围是除用双引号引起来的字符串以外的所有宏名字。 ?(4) 若替换后文本串中仍含有宏名字,将再次进行替换,直到程序中不含宏名字为止。 (5) 宏定义不是C语句,所以不能在行尾加分号。否则,宏展开时,会将分号作为字符串的1个字符,用于替换宏名。 ?⑹ C语言允许宏定义出现在程序中函数外面的任何位置,但一般情况下它总写在文件的开头。 2.给出下面程序宏替换后的结果。 #define PF(x) x*x /*#define PF(x) (x)*(x) */ /*#define PF(x) ((x)*(x)) */ main() { int a=2, b=3, c; c=PF(a+b)/PF(a+1); printf(\nc=%d ,c); } 分析: ?(1)定义有参宏时,宏名与左圆括号之间不能留有空格。否则,C编译系统将空格以后的所有字符均作为替代字符串,而将该宏视为无参宏。 (2)有参宏的展开,只是将实参作为字符串,简单地置换形参字符串,而不做任何语法检查。在定义有参宏时,在所有形参外和整个字符串外,均加一对圆括号。 4.输入一行字母,根据需要设置条件编译,使之能将字母全改为大写输出,或全改为小写字母输出 。 答案: #include stdio.h #define LETTER 1 main() { char str[20]=“C Language”, c; int i = 0; while ((c=str[i++])!=‘\0’) { #if LETTER if (c = ‘a’ c = ‘z’) c = c-‘a’+‘A’; #else if (c = ‘A’ c = ‘Z’) c = c-‘A’+‘a’; #endif printf(“%c”, c); } } 答案: (1)按第一种宏定义: c=a+b*a+b/a+1*a+1; (2)按第二种宏定义: c=(a+b)*(a+b)/(a+1)*(a+1); (3)按第三种宏定义:c=((a+b)*(a+b))/((a+1)*(a+1)); * * 第九章 编译预处理 9.1宏定义 9.2文件包含处理 9.3条件编译 9.4 带参数的主函数 概 述 在前面各单元中我们已经使用了部分以“#”符号开头的命令。例如,# define、# include等。这些命令是在源程序正式编译前进行处理的,称为“编译预处理”命令。编译预处理主要包括宏的处理、包含文件的处理、条件编译的处理等。 宏定义 1、不带参数的宏定义 用一个指定的标识符(即名字)来代表一个字符串 它的一般形式为 #define 标识符 字符串 这就是已经介绍过的定义符号常量。如: #define PI 3.1415926 #define PI 3.1415926 main() {float l,s,r,v; printf(“input radius:”); scanf(“%f”,r); l=2.0*PI*r; s=PI*r*r; v=3.0/4*PI*r*r*r; printf(“l=%10.4f\ns=%10.4f\nv=%10.4f
您可能关注的文档
- 810电缆充气设备和充气维护.ppt
- 7有机化学第七章醇、硫醇、酚.ppt
- 810 最小二乘法.ppt
- 8123醇酚醚2.ppt
- 7建南气田储层伤害因素分析和对策.ppt
- 7釉浆制备.ppt
- 813多进制数字频率调制MFSK-系统.ppt
- 85岁老教授480字厘清中国各朝代兴亡图组-.pdf
- 85关羽.ppt
- 8专业化销售的流程之异议处理.ppt
- 实施指南《GB_T26055 - 2022 再生碳化钨粉》实施指南.docx
- 实施指南《GB_T26237.1-2022信息技术生物特征识别数据交换格式第1部分:框架》实施指南.docx
- 实施指南《GB_T20092.1-2022 新闻信息标准》实施指南.docx
- 实施指南《GB_T20564.4-2022 低合金高强度钢》实施指南.docx
- 实施指南《GB_T2099.3-2022家用和类似用途插头插座第2-5部分:转换器的特殊要求》实施指南.docx
- 实施指南《GB_T26719-2022 用水单位用水统计通则实施指南:推动用水单位迈向智慧节水新时代》.docx
- 实施指南《GB_T3883.215-2022手持式、可移式电动工具和园林工具的安全第215部分:手持式搅拌器的专用要求》实施指南.docx
- 实施指南《GB_T5169.47-2022电工电子产品着火危险试验第47部分:与低压电工产品起燃和着火概率相关的电功率和能量分级导则》实施指南.docx
- 实施指南《GB_T6091-2022 刀口形直尺》实施指南.docx
- 实施指南《GB_T6702-2022 萘酸洗比色试验》实施指南.docx
文档评论(0)