版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c课程设计实例一、教学目标
本节课的教学目标围绕C语言基础中的函数展开,具体包括知识目标、技能目标和情感态度价值观目标三个维度。知识目标方面,学生能够掌握函数的定义、声明、调用以及参数传递的基本概念,理解函数在程序中的作用和意义,并能结合实际案例解释函数的嵌套调用和递归调用原理。技能目标方面,学生能够独立编写简单的函数实现特定功能,如计算平均值、判断素数等,并能够通过调试工具解决函数调用过程中出现的常见错误。情感态度价值观目标方面,培养学生对程序设计的兴趣,增强其逻辑思维能力和团队协作精神,使其认识到函数模块化编程的优势,并养成规范编写代码的良好习惯。
课程性质上,本节课属于C语言程序设计的基础课程,注重理论与实践相结合,通过实例讲解和代码实践,帮助学生逐步建立函数编程的思维模式。学生特点方面,处于高中阶段的学生具备一定的逻辑思维基础,但对抽象的编程概念理解较为困难,因此教学设计应注重直观案例和分层引导,确保学生能够逐步掌握函数的核心知识点。教学要求上,需强调函数的通用性和可重用性,要求学生不仅要会编写函数,还要理解如何合理设计函数接口,以提高代码的可读性和可维护性。将目标分解为具体的学习成果,包括能够正确声明和调用函数、能够编写带有默认参数的函数、能够通过实际案例理解递归调用的应用场景等,以便后续的教学设计和效果评估。
二、教学内容
本节课围绕C语言中的函数展开,教学内容紧密围绕课程目标,确保知识的系统性和科学性,并充分结合教材内容与学生实际。教学大纲详细规定了教学内容的安排和进度,以帮助学生逐步掌握函数的核心概念和应用技巧。
**教材章节与内容安排**:本节课主要依据教材第5章“函数”展开,具体内容涵盖函数的定义、声明、调用、参数传递、返回值、嵌套调用、递归调用以及函数的存储分类。教材第5.1节至5.4节为本节课的核心内容,其中第5.1节介绍函数的基本概念和定义方法,第5.2节讲解函数的声明和调用方式,第5.3节讨论参数传递和返回值的应用,第5.4节则重点介绍嵌套调用和递归调用的原理及实践案例。
**详细教学内容安排**:
1.**函数的基本概念**(45分钟)
-函数的定义:包括函数头和函数体,强调函数的命名规范和返回类型。
-函数的作用:通过实例说明函数在程序中的作用,如代码复用、模块化设计等。
-教材对应内容:第5.1节“函数的定义与声明”,列举教材中的“求两个数最大公约数”的函数定义示例。
2.**函数的声明与调用**(60分钟)
-函数声明:讲解如何在不同位置声明函数,包括全局声明和局部声明。
-函数调用:通过实际案例演示函数的调用过程,包括参数传递和返回值的处理。
-教材对应内容:第5.2节“函数的声明与调用”,重点分析“计算圆面积”的函数调用示例。
3.**参数传递与返回值**(50分钟)
-参数传递方式:介绍值传递和地址传递的区别,并通过代码示例对比两种传递方式的效果。
-返回值的应用:讲解如何通过返回值传递函数的计算结果,并强调返回值的类型匹配。
-教材对应内容:第5.3节“参数传递与返回值”,分析“交换两个数”的地址传递案例。
4.**嵌套调用与递归调用**(60分钟)
-嵌套调用:通过实例演示如何在一个函数内部调用另一个函数,并解释嵌套调用的执行顺序。
-递归调用:讲解递归调用的原理,通过“阶乘计算”的案例分析递归调用的过程和终止条件。
-教材对应内容:第5.4节“嵌套调用与递归调用”,重点分析“阶乘函数”的递归实现。
**教学进度安排**:
-第一课时(90分钟):函数的基本概念、函数的声明与调用。
-第二课时(90分钟):参数传递与返回值、嵌套调用与递归调用。
-课后作业:要求学生编写一个包含嵌套调用和递归调用的完整程序,如“斐波那契数列计算”。
通过以上教学内容安排,学生能够系统地掌握函数的核心概念和应用技巧,并为后续更复杂的程序设计打下坚实的基础。
三、教学方法
为有效达成教学目标,激发学生的学习兴趣和主动性,本节课将采用多样化的教学方法,结合讲授法、案例分析法、实验法及讨论法,确保学生能够深入理解函数的概念并掌握其应用。
**讲授法**:针对函数的基本概念和定义方法,采用讲授法进行系统讲解。通过清晰的逻辑和简洁的语言,介绍函数的定义、声明、调用等核心知识点,确保学生建立正确的认知基础。例如,在讲解函数的定义时,结合教材第5.1节的内容,通过板书或PPT展示函数头和函数体的结构,并解释返回类型和参数类型的作用。讲授法有助于学生快速掌握理论知识,为后续的案例分析和实验操作奠定基础。
**案例分析法**:通过实际案例演示函数的应用,帮助学生理解函数在程序中的作用。例如,在讲解函数的调用时,以“计算圆面积”的案例为例,展示如何声明和调用函数,并解释参数传递和返回值的过程。教材第5.2节提供了多个函数调用的实例,可引导学生分析这些案例的执行流程和逻辑关系,从而加深对函数调用的理解。案例分析法的应用能够将抽象的理论知识转化为具体的实践场景,提高学生的学习兴趣和问题解决能力。
**实验法**:设计编程实验,让学生通过实际编写代码来巩固所学知识。例如,要求学生编写一个函数计算两个数的最大公约数,并通过调试工具检查代码的正确性。实验法能够培养学生的动手能力,使其在实践中理解函数的定义、调用和参数传递等概念。实验过程中,教师应提供必要的指导,帮助学生解决遇到的问题,并鼓励学生尝试不同的实现方法,以增强其编程思维。
**讨论法**:学生进行小组讨论,分享对函数嵌套调用和递归调用的理解。例如,在讲解递归调用时,可以让学生分组讨论“阶乘函数”的实现方法,并比较不同递归方案的优缺点。讨论法能够促进学生的思维碰撞,增强其团队协作能力,并帮助教师了解学生的学习情况,及时调整教学策略。通过多样化的教学方法,本节课能够有效激发学生的学习兴趣,使其在轻松愉快的氛围中掌握函数的核心概念和应用技巧。
四、教学资源
为支持教学内容和教学方法的实施,丰富学生的学习体验,本节课准备以下教学资源:教材、参考书、多媒体资料及实验设备,确保教学活动的顺利开展和学生知识的有效构建。
**教材**:以指定教材《C程序设计》(第X版,作者姓名,出版社,年份)为主要教学用书,该教材第5章“函数”为本节课的核心内容。教材详细介绍了函数的定义、声明、调用、参数传递、返回值、嵌套调用、递归调用以及函数的存储分类,并配有丰富的示例和习题,能够为学生提供系统的理论知识学习框架。教材中的“求两个数最大公约数”、“计算圆面积”、“交换两个数”、“阶乘计算”和“斐波那契数列计算”等实例与教学内容紧密相关,可作为课堂教学和课后练习的重要参考。
**参考书**:提供《C语言程序设计教程》(第Y版,作者姓名,出版社,年份)和《CPrimerPlus》(第Z版,作者姓名,出版社,年份)两本参考书,以供学生拓展学习。前者在函数部分增加了更多实践案例和编程技巧,后者则通过详细的解释和大量的练习题帮助学生深入理解函数的高级应用。参考书中关于递归调用的案例分析,特别是“阶乘函数”和“斐波那契数列”的实现方法,可作为课堂讨论的补充材料,加深学生对递归调用原理的理解。
**多媒体资料**:准备PPT课件、教学视频和在线编程平台资源。PPT课件涵盖本节课的所有知识点,包括函数的定义格式、参数传递方式、递归调用的执行过程等,并配有动画演示函数调用的内存变化。教学视频主要选取教材配套的函数部分讲解片段,通过直观的视频形式展示函数的编写和调试过程。在线编程平台(如LeetCode、Codeforces或学校自建平台)提供函数相关的编程练习题,学生可通过在线提交代码、查看运行结果的方式巩固所学知识,并培养编程实践能力。
**实验设备**:配置计算机实验室,每名学生配备一台装有C语言开发环境(如Dev-C++、VisualStudio或GCC)的计算机。实验设备用于学生编程实践,包括编写函数代码、调试程序错误以及完成课后实验任务。实验室环境需确保软件安装完整,网络连接正常,以便学生能够顺利访问在线编程平台和下载补充学习资料。
通过整合以上教学资源,本节课能够为学生提供理论学习和实践操作相结合的学习环境,促进学生对函数知识的深入理解和应用能力的提升。
五、教学评估
为全面、客观地评估学生的学习成果,确保教学目标的达成,本节课设计多元化的评估方式,包括平时表现、作业和期末考试,涵盖知识掌握、技能应用和问题解决能力等多个维度。评估方式紧密围绕教材内容,特别是第5章“函数”的相关知识点,确保评估的针对性和有效性。
**平时表现**(20%):评估内容包括课堂参与度、笔记质量、提问与讨论的积极性等。教师通过观察学生是否认真听讲、是否积极参与课堂讨论、是否能够准确回答问题等方式进行评价。例如,在讲解函数参数传递时,教师可随机提问学生关于值传递和地址传递的区别,并根据学生的回答判断其对知识点的理解程度。平时表现的评估有助于教师及时了解学生的学习状态,并调整教学策略,同时也能激发学生的学习积极性。
**作业**(30%):布置与教材第5章内容相关的编程作业,要求学生完成函数的定义、调用、嵌套调用和递归调用的实践任务。例如,作业可包括编写一个函数计算两个数的最大公约数,并要求使用递归方法实现;或者编写一个函数判断一个数是否为素数,并要求在主函数中调用该函数进行测试。作业的评分标准包括代码的正确性、代码的可读性(如变量命名规范、注释完整)、以及解决问题的思路合理性。作业能够检验学生是否掌握了函数的核心概念,并能够将其应用于实际编程中。
**期末考试**(50%):期末考试采用闭卷形式,题型包括选择题、填空题和编程题。选择题主要考察学生对函数基本概念的理解,如函数的定义格式、参数传递方式等;填空题要求学生填写函数调用过程中的关键信息,如返回值、局部变量等;编程题则要求学生编写完整的函数实现特定功能,如编写一个函数计算斐波那契数列的第N项。期末考试的评分标准包括答案的准确性、代码的逻辑正确性、以及编程规范的合理性。期末考试能够全面评估学生对函数知识的掌握程度,以及其编程实践能力。
通过以上评估方式,能够客观、公正地反映学生的学习成果,帮助教师了解教学效果,并为学生提供针对性的反馈,促进其进一步学习和提高。
六、教学安排
为确保在有限的时间内高效完成教学任务,并充分考虑学生的实际情况,本节课的教学安排如下,涵盖教学进度、教学时间和教学地点等方面,紧密围绕教材第5章“函数”的核心内容展开。
**教学进度**:本节课的内容分为两个课时完成,共计180分钟。第一课时(90分钟)主要讲解函数的基本概念、定义方法、声明与调用,以及参数传递的基本方式。第二课时(90分钟)则重点讲解函数的返回值、嵌套调用、递归调用原理,并安排编程实践环节。教学进度安排如下:
-**第一课时**:
1.函数的基本概念与定义(30分钟):介绍函数的定义格式、函数头和函数体,结合教材第5.1节“函数的定义与声明”中的“求两个数最大公约数”示例进行讲解。
2.函数的声明与调用(45分钟):讲解函数的声明位置、调用方式,以及参数传递的基本原理,结合教材第5.2节“函数的声明与调用”中的“计算圆面积”示例进行演示。
3.课堂小结与提问(15分钟):总结本节课的重点内容,并解答学生的疑问。
-**第二课时**:
1.参数传递与返回值(30分钟):深入讲解值传递与地址传递的区别,以及函数返回值的处理方法,结合教材第5.3节“参数传递与返回值”中的“交换两个数”示例进行说明。
2.嵌套调用与递归调用(45分钟):介绍函数的嵌套调用方法,并通过教材第5.4节“嵌套调用与递归调用”中的“阶乘计算”示例讲解递归调用的原理和终止条件。
3.编程实践与答疑(15分钟):布置编程任务,要求学生编写一个包含嵌套调用和递归调用的程序(如“斐波那契数列计算”),并提供必要的指导和帮助。
**教学时间**:安排在每周三下午的第二、三节课进行,共计180分钟,分为两个连续的课时。选择下午上课,是因为学生的作息时间通常较为规律,下午的注意力相对集中,有利于教学活动的开展。
**教学地点**:计算机实验室。每个学生配备一台装有C语言开发环境的计算机,便于进行编程实践和实验操作。实验室环境需确保软件安装完整、网络连接正常,以支持在线编程平台的访问和资源的下载。
**学生实际情况考虑**:
-**作息时间**:选择下午上课,符合学生的生物钟和作息习惯,有助于提高学生的课堂参与度和学习效率。
-**兴趣爱好**:通过编程实践和案例教学,激发学生的编程兴趣,培养其逻辑思维能力和问题解决能力。同时,鼓励学生在课后参与编程社团或在线编程社区,进一步拓展学习内容,提升编程技能。
通过以上教学安排,能够确保教学活动的合理性和紧凑性,在有限的时间内完成教学任务,并促进学生知识的有效构建和能力的提升。
七、差异化教学
鉴于学生之间存在学习风格、兴趣和能力水平的差异,为满足不同学生的学习需求,促进每一位学生的全面发展,本节课将实施差异化教学策略,针对教材第5章“函数”的内容,设计差异化的教学活动和评估方式。
**分层教学活动**:
-**基础层**:针对理解能力相对较慢或编程基础较弱的学生,提供更为详细的函数定义和调用示例,如从简单的“计算圆面积”函数入手,逐步增加参数和复杂度。在实验环节,布置基础编程任务,如编写一个函数计算两个数的和或差,并要求其使用函数实现,侧重于函数的基本调用和返回值理解。
-**提高层**:针对中等水平的学生,布置具有一定挑战性的编程任务,如编写一个函数判断一个数是否为素数,并要求其使用递归方法实现。鼓励学生探索函数的嵌套调用,并尝试编写更复杂的程序,如使用函数实现简单的计算器或文本处理工具。
-**拓展层**:针对能力较强的学生,提供更开放性的编程任务,如编写一个函数生成斐波那契数列,并要求其优化递归算法的效率(如使用尾递归)。鼓励学生研究函数的存储分类(静态存储和动态存储),并尝试编写包含全局变量和局部变量的程序,分析其区别和影响。同时,推荐参考书《CPrimerPlus》的相关章节,供其拓展学习函数的高级应用和编程技巧。
**差异化评估方式**:
-**平时表现**:根据学生的课堂参与度、提问质量以及回答问题的准确性进行评估,对基础层学生更关注其是否能够跟上教学节奏,对提高层和拓展层学生则更关注其问题的深度和思考的独立性。
-**作业**:布置不同难度的作业,基础层学生侧重于函数的基本应用,提高层学生需要完成稍复杂的函数编写,拓展层学生则可以挑战更高级的函数编程任务。评分标准兼顾代码的正确性和编程思路的合理性,对拓展层学生的作业可额外加分,以鼓励其积极探索。
-**期末考试**:选择题和填空题统一考察所有学生的基础知识掌握情况,编程题则设置不同难度梯度,基础层学生完成基本功能即可得分,提高层学生需要实现所有要求功能,拓展层学生则可以增加额外功能或优化算法以获得更高分数。
通过分层教学活动和差异化评估方式,能够满足不同学生的学习需求,帮助基础层学生建立信心,促进提高层学生提升能力,并为拓展层学生提供挑战机会,从而实现全体学生的共同进步。
八、教学反思和调整
教学反思和调整是教学过程中不可或缺的环节,旨在通过定期评估和反馈,优化教学策略,提升教学效果。本节课将在实施过程中,结合教材第5章“函数”的教学内容,进行持续的教学反思和动态调整。
**教学反思**:
-**课堂观察**:课后,教师将回顾课堂观察记录,反思学生的参与度、理解程度和互动情况。例如,在讲解递归调用时,观察学生是否能够理解递归终止条件的重要性,是否能在小组讨论中提出有深度的问题。如果发现多数学生存在理解困难,可能需要调整讲解方式或增加更多实例。
-**作业分析**:分析学生作业的完成情况和错误类型,评估学生对函数参数传递、返回值等知识点的掌握程度。例如,如果发现大量学生在编写函数调用时出现参数错误,说明参数传递的讲解或练习环节需要加强。作业中的共性错误将作为下次课重点讲解的内容。
-**考试反馈**:通过期末考试结果,分析学生在函数定义、嵌套调用、递归调用等知识点的掌握情况。如果考试中某个知识点(如递归算法的终止条件)的错误率较高,将表明该部分教学内容或练习设计存在问题,需要在后续教学中进行改进。
**教学调整**:
-**内容调整**:根据学生的学习反馈,调整教学内容的深度和广度。例如,如果大部分学生能够轻松掌握基础函数调用,但对递归调用理解不深,可以增加递归相关的编程练习,或引入更复杂的递归案例(如“汉诺塔问题”)进行讲解。
-**方法调整**:灵活运用讲授法、案例分析法、实验法和讨论法等多种教学方法。例如,对于抽象的递归概念,可以增加动画演示或分步讲解,对于实践性强的内容,则增加编程实验时间,让学生在实践中加深理解。
-**分层支持**:针对不同层次的学生提供差异化支持。对基础层学生,增加个别辅导时间,帮助他们解决理解难题;对提高层学生,提供更具挑战性的编程任务,鼓励他们深入探索;对拓展层学生,推荐相关参考资料和在线资源,支持他们的个性化学习需求。
通过持续的教学反思和及时的教学调整,能够确保教学内容与学生的实际需求相匹配,提高教学的针对性和有效性,促进全体学生的共同进步。
九、教学创新
为提高教学的吸引力和互动性,激发学生的学习热情,本节课将尝试引入新的教学方法和技术,结合现代科技手段,对教材第5章“函数”的教学进行创新。
**引入在线协作平台**:利用在线协作平台(如GitHubClassroom或GitLab)进行编程作业的提交和项目管理。学生可以在平台上创建分支、提交代码、进行代码审查,并参与小组项目协作。例如,在完成“斐波那契数列计算”的编程任务后,学生可以将其代码推送到共享仓库,其他学生可以基于其代码进行功能扩展或优化,并通过PullRequest进行代码合并讨论。这种方式不仅能够培养学生的版本控制能力和团队协作精神,还能在实践环节中模拟真实的软件开发流程。
**应用可视化工具**:借助可视化工具(如GDB调试器的形界面或在线调试平台如Repl.it的内存查看功能)展示函数调用过程中的内存变化和执行流程。例如,在讲解递归调用时,通过可视化工具展示每次递归调用时栈帧的创建和销毁过程,帮助学生直观理解递归的原理和栈的作用。可视化工具能够将抽象的编程概念具象化,降低学生的理解难度,提高学习兴趣。
**设计游戏化学习活动**:将函数编程的知识点融入游戏化学习活动中,通过编程小游戏(如“函数迷宫”)巩固学生的函数调用和嵌套调用知识。例如,设计一个迷宫游戏,玩家需要通过编写函数实现角色的移动、障碍物的判断和终点的到达。游戏化学习能够增加学习的趣味性,激发学生的竞争意识和学习动力。
通过引入在线协作平台、可视化工具和游戏化学习活动,本节课能够利用现代科技手段提升教学的互动性和吸引力,促进学生在实践中学习,提高编程能力和问题解决能力。
十、跨学科整合
跨学科整合能够促进知识的交叉应用和学科素养的综合发展,本节课将结合教材第5章“函数”的内容,与其他学科进行整合,拓展学生的知识视野,提升其综合应用能力。
**与数学学科的整合**:函数是数学中的核心概念,本节课可以将函数编程与数学知识相结合。例如,在讲解递归调用时,可以引入数学中的递归数列(如斐波那契数列、阶乘数列),通过编程计算这些数列的项,加深学生对递归概念的理解。此外,可以布置编程任务,要求学生编写函数解决数学问题,如计算三角函数值、求解方程根等,将数学公式转化为程序代码,实现数学知识向编程能力的转化。
**与物理学科的整合**:物理学中许多现象和模型可以用函数来描述和模拟。例如,在讲解函数的嵌套调用时,可以引入物理中的链式反应或多级放大器模型,通过嵌套函数模拟多级过程的计算。在讲解递归调用时,可以引入物理中的分形几何(如科赫雪花、谢尔宾斯基三角形),通过递归函数生成分形案,将物理概念与编程技术相结合,激发学生的跨学科思考能力。
**与艺术学科的整合**:艺术创作与编程技术相结合,能够培养学生的审美能力和创新思维。例如,在讲解函数的参数传递和返回值时,可以布置编程任务,要求学生编写函数生成艺术案(如几何形、莫奈印象派风格的片),并通过调整函数参数改变案的形状、颜色和布局。这种跨学科整合能够将编程技术融入艺术创作,提升学生的审美素养和创造力。
通过与数学、物理和艺术等学科的整合,本节课能够拓展学生的知识视野,促进知识的交叉应用和学科素养的综合发展,培养其跨学科思维能力和创新精神。
十一、社会实践和应用
为培养学生的创新能力和实践能力,本节课将设计与社会实践和应用相关的教学活动,将教材第5章“函数”的知识点应用于解决实际问题,提升学生的综合应用能力。
**设计实用小程序**:要求学生利用所学的函数知识,设计并开发一个实用的小型应用程序。例如,可以设计一个简单的计算器程序,要求学生将加、减、乘、除等基本运算封装成不同的函数,并通过函数调用来实现计算功能。或者,设计一个学生成绩管理系统,要求学生将成绩录入、查询、排序等功能封装成不同的函数,并通过主函数调用实现完整的系统操作。这类实践活动能够让学生将函数的知识点应用于实际场景,提升其编程能力和问题解决能力。
**参与开源项目**:鼓励学生参与开源项目,通过阅读和理解现有的开源代码,学习函数的设计和实现方式。教师可以推荐一些适合初学者的C语言开源项目,并指导学生如何通过函数模块化思想理解和修改代码。例如,学生可以尝试修改一个简单的开源工具(如文本编辑器)中的函数,实现新的功能或优化现有功能。参与开源项目能够让学生接触真实的代码环境,学习团队合作和版本控制等软件开发流程。
**举办编程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年吉林交通职业技术学院单招职业技能考试题库附参考答案详解(满分必刷)
- 2026年哈尔滨幼儿师范高等专科学校单招职业倾向性测试题库带答案详解(a卷)
- 2026年唐山海运职业学院单招职业适应性测试题库附参考答案详解(达标题)
- 养老院护理员老年人文化娱乐活动
- 产科产后呕吐的护理
- 体育专业就业指导建议
- 中华护理学助产科研方法与论文写作
- 儿童卫生习惯与心理健康
- 水污染事故防控方案
- 《人民币的简单计算》课件
- 浙江省嘉兴市2025-2026学年高二上学期期末地理试题卷
- 2026金华兰溪市机关事业单位编外招聘20人考试备考试题及答案解析
- 《老年人生活能力康复训练》课件-穿脱衣物训练
- 2026陕煤集团榆林化学有限责任公司招聘(162人)考试备考试题及答案解析
- 2025年南京旅游职业学院单招职业技能考试模拟测试卷带答案解析
- 2026年南京机电职业技术学院单招职业技能考试题库及答案详解(历年真题)
- 2026年春季译林版八年级下册英语教学计划(含进度表)
- 急诊急救医保政策与费用控制
- 2026内蒙古地质矿产集团有限公司社会招聘65人备考题库及答案详解(历年真题)
- KTV服务员流程(完整版)
- 职工医疗互助培训课件
评论
0/150
提交评论