- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序及设计第四章ppt西工大
* 4.10.4 头文件与工程文件 图4.12 多源文件时头文件的处理示意 * 4.10.4 头文件与工程文件 2.工程文件 多文件结构程序在编译时需要工程文件来管理,不同的编译器有不同的工程文件格式。 * 4.10.4 头文件与工程文件 图4.13 CodeBlocks工程文件管理 * 4.10.5 提高编译速度 提高编译速度 (1)预编译头文件 (2)增量编译 (3)编译缓存 Poj题目讲解 * unsigned char c1; scanf(“%u”, c1); Inline int xchg(unsigned char n) 例如:0110 0111 0111 0110 低四位和高四位交换 位运算: ab 相同位的两个数字都为1,则为1;若有一个不为1,则为0。 a|b 相同位只要一个为1即为1。 a ^ b 相同位不同则为1,相同则为0。 ~a 取反,0取反是1,1取反是0 a b 左移b位 a b右移b位所有数值必须转换为二进制数才能位运算,每一位数相对应运算 * 内联函数:函数调用需要建立栈内存环境,进行参数传递,并产生程序执行转移,这些转移都需要时间开销。有些函数在程序中使用率较高,但代码却很短。我们可以在程序当中用表达式替换函数调用,但是降低了函数的可读性。采用inline可以 兼而有之。 注意: 在内联函数内不允许用循环语句和开关语句。递归函数是不能用来做内联函数的。 内联函数的定义必须出现在内联函数第一次被调用之前。 内联函数只适合于1-5行的小函数。对于一个含有很多语句的大函数,函数调用和返回的开销相对来说是微不足道的。 * 定义内联函数的方法很简单,只要在函数定义的头前加上关键字inline即可 Inline int???isnumber???(char???ch)?????????????????????????????????//此处无inline,视为inline??? {??? ??????return???(ch?=?0????ch?=?9?)?1:0;??? }?? int???main()??? {??? ????char???c;??? ????while((c=getchar())!=?\n?)??? ????{??? ????????if(???isnumber(c)???)???????????????????????????????????//调用一个小函数??? ?????????????printf(“you???entered???a???digit???\n?”);??? ????????else??? ??????????????printf(?“you???entered???a???non-digit???\n?”);??? ??????}??? }??? ?? ? * 在程式中,调用其函数时,该函数在编译时被函数体替代,而不是像一般函数那样是在运行时被调用。使用内联函数,会增加编译时间。 inline int xchg(unsigned char n) { unsigned char t1; t1=n; t1=t14; n= n4; n = n | t1; return n; } * int main() { unsigned char n; scanf(%d, n); printf(%d\n, xchg(n)); return 0; } Inlineinfo.cpp* * 例如:0110 0111 0111 0110 向左边移动n位,相当于把高n位和低32-n位进行交换 向右边移动n位,相当于把低n位和高32-n位进行交换 int move(int value,int n) { int t1; t1=value; if(n0){ t1=t1(32-n); value= valuen; value = value | t1; } else if(n0){ t1=t1(n); value= value(32-n); value = value | t1; } return value; } Valuemove.cpp* 作业解析 * 编程程序打印如下sin函数曲线 * int main() { int i, j, pr1, pr2,max; for(i=0; i 360; i=i+15){ printf(sin(%3d)=%+.4f,i, i/180.0*PI); pr1 = XPixel + Depth*sin(i/180.0*PI); pr2 = XP
您可能关注的文档
- (2#墩)水下承台钢板桩围堰施工及设计方案.doc
- (东二村一建)沥青路面硬化工程施工组织及设计-中标.doc
- (东二村铭基)沥青路面硬化工程施工组织及设计.doc
- (川化)南充炼油化工总厂特种润滑油生产装置安全隐患整改工程施工组织及设计.doc
- (亿视)亚太中心智能化小区系统及设计方案(改加扫描).doc
- (广东省粮食局办公大楼7-8、10层装修改造工程)施工组织及设计.doc
- (开题报告)乔家栅甜品店及设计—蓬莱路店.doc
- (广州大学电气课程及设计)建筑供配电系统及设计说明书正文.docx
- (桃园村一建)农村硬化和亮化工程施工组织及设计-中标.doc
- (徐性怡)电动汽车用电机控制系统及设计方法与发展趋势介绍.doc
原创力文档


文档评论(0)