高级语言程序设计(信息与计算科学2025级)
{{$t('查看线下课程信息')}}
{{$t('开课时间')}}: 2026/02/25 - 2026/07/19
{{$t('开课学期')}}: 2026学年春季
{{$t('开课学院')}}: 数学与统计学院
{{$t('开课平台')}}: 云大学堂

11 {{$t('次点击')}}
课程介绍

本课程是为信息与计算科学专业开设的一门学习按照结构化程序设计方法使用计算机高级语言进行编程的课程,使用的程序设计语言为C语言。C语言是国际上广泛流行的、很有发展前途的计算机高级语言。它适合于作为系统描述语言,既可用来编写系统软件,也可用来编写应用软件。C语言既有高级语言使用方便的优点,又有低级语言能够直接操作计算机硬件的优点。1978年以后,C语言已先后移植到大、中、小、微型计算机上,为用C语言开发软件开辟了广阔的前景。现在C语言已成为风靡全世界,成为世界应用最广泛的计算机语言。作为理科高校的学生,C语言作为最基本的编程工具,是必须掌握的一门专业基础课程。

章节
{{$t('暂无数据')}}
教学目标

知识目标

知识目标: 1、通过本课程的学习,可以使学生熟悉C语言发展;理解和掌握结构化程序设计的基本思想及基本概念;掌握使用 C语言进行结构化编程的技术;初步认识 C应用程序设计方法及过程。 2、通过本课程的学习,为计算机专业学生学习后续专业课《数据结构》、《数值计算方法》等打下良好的基础。 特别是指针、‌文件和结构体是编程中重要的概念,‌它们各自具有特定的用途和目标。‌ 1、指针:‌在编程语言中,‌指针是一个重要的概念,‌特别是在C语言中。‌指针变量用于存储内存地址,‌它允许程序员直接访问和操作存储在计算机内存中的数据。‌通过指针,‌可以实现对数据本身或数据存储位置的直接操作,‌这大大提高了程序的灵活性和效率。‌指针在C语言中的使用非常广泛,‌包括但不限于动态内存分配、‌函数参数传递、‌数组操作等场景。‌ 2、文件:‌在C语言中,‌文件指针用于指向一个文件,‌通过文件指针可以对文件进行各种操作,‌如读取、‌写入等。‌文件指针实际上是一个指向FILE结构体的指针,‌该结构体包含了文件的相关信息,‌如文件名、‌文件状态和当前位置等。‌使用文件指针,‌可以方便地对文件进行管理和操作,‌而无需关心FILE结构的内部细节。‌文件指针在文件读写操作中扮演着关键角色,‌使得文件的处理更加灵活和高效。‌ 3、结构体:‌结构体是一种用户定义的数据类型,‌用于表示现实世界中更复杂的数据结构。‌结构体可以包含不同类型的数据成员,‌如整数、‌浮点数、‌字符等,‌甚至可以包含其他结构体或指针。‌结构体在编程中常用于表示具有多种属性的复杂对象,‌如学生信息、‌员工记录等。‌结构体的使用使得数据的组织和访问更加灵活和高效。‌ 综上所述,‌指针、‌文件和结构体是编程中不可或缺的概念,‌它们各自的目标和用途如下:‌ 1)指针:‌实现数据的直接访问和操作,‌提高程序的灵活性和效率。‌ 2)文件:‌方便地管理和操作文件数据,‌实现文件的读写等功能。‌ 3)结构体:‌组织复杂数据类型,‌便于管理和访问具有多种属性的数据对象。‌

能力目标

能力目标。 1、掌握程序设计的基本原理、概念和方法; 2、在掌握算法、数据结构、计算方法、结构化程序设计方法的基础上,主要掌握C语言及其程序设计的方法和应用。主要内容包括:C语言程序设计基础、控制语句、数组与函数等。 3、了解指针、输入输出和文件处理等知识点。同时熟练运用C语言的编辑调试环境,能编写常用的C应用程序。 特别是指针、‌文件和结构体在编程中各自具有不同的能力目标,‌它们共同为程序的开发和运行提供了强大的支持。‌以下是它们各自的能力目标概述:‌ 1、指针的能力目标 1)数据交互:‌指针能够实现跨区域(‌不同作用域、‌不同代码块)‌之间的数据交互。‌通过指针,‌被调用函数可以向调用函数返回除正常返回值之外的其他数据,‌从而实现两者间的双向通信。‌ 2)内存访问:‌指针允许程序直接访问和操作内存地址。‌这使得程序员能够更灵活地管理内存,‌如动态内存分配和释放。‌ 3)简化编程:‌正确而灵活地运用指针可以使程序更加简洁、‌紧凑。‌指针能够减少数据复制的开销,‌提高程序的执行效率。‌ 2、文件的能力目标 1)信息存储:‌文件是计算机系统中信息存放的一种组织形式,‌用于长期保存和多次使用各种类型的数据,‌如源程序、‌二进制代码、‌文本文件、‌数据、‌表格、‌声音和图像等。‌ 2)数据持久化:‌文件提供了一种将数据从内存中持久化到存储介质(‌如硬盘)‌的方式,‌使得数据在程序关闭后仍然可以保留和访问。‌ 3)数据共享:‌文件可以作为不同程序或不同用户之间共享数据的媒介,‌通过读写文件,‌程序可以交换和共享数据。‌ 3、结构体的能力目标 1)数据组织:‌结构体是一种复合数据类型,‌允许将不同类型的数据组合成一个单一的数据类型。‌这有助于更好地组织和管理复杂的数据结构。‌ 2)数据封装:‌结构体提供了一种封装数据的方式,‌使得数据和相关操作能够紧密地结合在一起,‌提高了代码的可读性和可维护性。‌ 3)数据传递:‌结构体可以作为函数参数、‌返回值或全局变量在程序的不同部分之间传递复杂的数据结构,‌简化了数据传递的过程。‌ 综上所述,‌指针、‌文件和结构体在编程中各自扮演着重要的角色,‌它们的能力目标共同支持着程序的开发和运行。‌

思政目标

在《高级语言程序设计》教学过程中,从C语言功能入手就自然而然地建立了课程思政的入口。 1. 引言 C语言是应用范围比较广泛的一种计算机程序设计语言,将“课程思政”理念融入到课程培养方案、教学体系、教学质量保障机制、课程考核等课程管理和教学环节中,实现知识传授与思想教育的紧密结合,构建全课程育人的“一体化”新格局。 2. 融入思政元素的探索 思政融合要点(一);课程普及策略 人工智能时代,程序设计犹如驾照,不分文理科都应该开设不同深度的程序设计课程,C语言既能学习程序设计思想又能开发控制系统,应该是作为公共程序设计课程的不二选择。 思政融合要点(二):课程深化策略 计算机相关专业的学生不但要学习语法和算法,还要学习单片机及电路知识,重要的是把几种知识融合在一起开发出有一定质量的软件或硬件产品。软硬件相结合的C语言课程教学模式,通过实验现象启发学生思考目标实现方法,在实验过程中引入重点理论知识,让学生带着兴趣和目标进行C语言学习。 思政融合要点(三):打造策略 通过软硬件项目的实施,学生学会语法和算法的同时还能够开发一些中小型项目,在开发中检验自己的学习成果,用实际的硬件效果来验证理论知识。长此以往,形成自己独特的教学方法和手段,打造专业课。 思政融合要点(四):加强校企沟通与管理,建立长效合作机制 确保校企合作信息交流畅通,深入学习,形成双方优势互补,最终实现“校、企、学生三赢”的局面。 思政融合要点(五):引入多种思政教育案例与实际项目案例 3. 目标和关键问题 3.1 目标 (1) 在课程内容中挖掘课程思政元素,力求在传授学生编程知识的同时,夯实学生做人做事的品德,实现培养学生具有社会主义核心价值观、职业道德、个人修养的教育目标。 (2) 学生学会语法和算法的同时能够开发一些中小型项目,在开发中检验自己的学习成果,用实际的硬件效果来验证理论知识,让学生带着兴趣和目标进行C语言学习。 (3) 加强校企合作,形成双方优势互补,最终实现“校、企、学生三赢”。 3.2 关键问题 (1) 课程思政目标要与《高级语言程序设计》课程内容相联系,尽量扩展思维,既要与本课程相关,又不仅仅局限于课程内容,关键是如何由课程内容合理巧妙地引申出思政教学目标。 (2) 在教学内容上,根据《高级语言程序设计》课程思政教学目标进行内容挖掘,如何在课程中融入思政教育功能,将思政内容融入C语言教学资源中。 4. 特色和创新点 4.1 特色 (1) 将“课程思政”理念融入到课程培养方案、教学体系、教学质量保障机制、课程考核等课程管理和教学环节中,实现知识传授与思想教育的紧密结合,构建全课程育人的“一体化”新格局。 (2) 用硬件实验效果来验证程序开发正确性的教学模式,所见即所得,学生对C语言的语法和算法学习不再那么枯燥无聊,程序开发不再那么抽象,逻辑思维能力的提高也不再那么高不可攀。 (3) 实现理论、实践与商用软硬件技术同步,为将来转型人工智能方向打下基础,为复合型人才的培养提供了有力支撑,通过校企合作拓宽了就业渠道。 4.2 创新点 (1) 将思想政治教育融入《高级语言程序设计》教学中,破解思想政治理论课孤军作战、孤掌难鸣的局面,实现立德树人润物无声以及显性教育与隐性教育相统一。 (2) 用硬件实验效果来验证程序开发正确性的教学模式,使程序开发不再抽象,让学生带着兴趣和目标进行C语言学习;与企业联合开展创新创业教育活动,校企合作拓宽了就业渠道。

课程思政

思政融合点1

选取章节:第五章 位运算

思政结合点:科学思维,职业道德,文化传承,心理健康,劳动教育,社会责任,法治观念,家国情怀,理想信念,社会主义核心价值观C语言位运算的教学不仅可以提高学生的专业技能,‌还能在潜移默化中培养学生的家国情怀和社会责任感,‌实现专业知识与思政教育的有机结合。‌

思政融合点2

选取章节:第六章 文件

思政结合点:科学思维,职业道德,文化传承,劳动教育,社会责任,家国情怀

{{$t('评价')}}
{{evaluationTatal.average}}
{{$t('课程评分')}}
  • {{evaluationTatal['star' + (6 - n)]}}%
{{$t('教学团队')}}
{{item.name}} {{$t(item.type)}}
{{item.college || item.school}}
{{$t('推荐课程')}}
{{$t('请输入课程邀请码')}}:
{{courseType == 2?$t('*此课程为班级课,输入邀请码可加入学习'):courseType == 3?$t('*此课程为培训课,输入邀请码可加入学习'):$t('*输入邀请码可加入学习')}}
{{$t('加入课程')}} {{$t('以管理员角色进入')}}
{{$t('管理员')}}
{{$t('作为管理员角色进入课程后,学习数据不会被记录')}}
{{$t('学生')}}
{{$t('作为学生角色进入课程后,学习将被记录')}}
{{$t('确认')}}