- 6
- 0
- 约1.21万字
- 约 76页
- 2017-06-20 发布于四川
- 举报
编译原理 课时:授课课时48+实验课时8 课程性质:必修/考试 考试方式:闭卷考试 主讲:敬茂华 jing_jmh@ 先修课程:离散数学、组成原理、汇编语言、数据结构、C++或其他程序设计语言 第0章 预备知识 本门课程的目的和意义 程序设计语言与程序的翻译 程序设计语言的语法描述 为什么要学习编译原理? 例 int fact() { static int i=5; if(i=0){ return(i); } else{ i=i-1; return((i+abs(1))*fact()); /*第9行,函数abs( ):求绝对值.*/ } } main() { printf(“factor of 5=%d/n”,fact()); } 上程序的运行结果是120。但是,如果把第9行的abs(1)改成1的话,该程序结果是1。 分析 i 是静态变量,所有地方对 i 的操作都是对同一地址空间的操作,所以每次递归进入fact函数后,上一层对 i 的赋值仍然有效。由于C语言的编译机制,每次调用时,(i+abs(1))*fact()中(i+abs(1))的值都先于fact算出。所以,第1次递归时,所求值为5*fact,第2次递归时,所求值为4*fact,第3次递归时,所求值为3*fact,第4次递归时,所求值为2*fact,第5次递归时,所求值为1*fa
您可能关注的文档
- 上海英语高考考纲学习PPT2015.ppt
- 上海高中补习班--初高中补习专注补习.ppt
- 下丘脑在生命活动调节中的作用.ppt
- 与尹师鲁第一书(上课用).ppt
- 2.4 辨别物质的元素组成 (00)2011.ppt
- 与朱元思书fhgf.ppt
- 专业学习社群.ppt
- 专业英语-imageandtelevisions.ppt
- 专业英语第二讲.ppt
- 专员讲师技能训练.ppt
- 专项十三 复合句(含答案) 2026年中考人教版英语语法专项复习.doc.docx
- 专项十四 There be句型和主谓一致(含答案) 2026年中考人教版英语语法专项复习.doc.docx
- 专项14 构词法 学案(含答案)2025年中考人教版英语语法专项复习.doc.docx
- 静脉肾盂造影结石梗阻评估.ppt
- 《假期实践活动》教案-2025-2026学年冀教版(新教材)小学数学二年级下册.docx
- 老年结石病合并慢病综合诊疗.ppt
- 鹿角形肾结石复杂手术治疗.ppt
- 经皮肾镜超声碎石清石术.ppt
- 《参观爱国主义教育基地》教案-2025-2026学年冀教版(新教材)小学数学二年级下册.docx
- 《生活中的大数:整理与复习》教案(2课时)-2025-2026学年冀教版(新教材)小学数学二年级下册.docx
原创力文档

文档评论(0)