经济文库 - 千万精品文档,你想要的都能搜到,下载即用。

16003204-《程序设计基础(C语言)》-课程教学大纲.doc

指尖的格桑花17 页 126.029 KB 访问 602.97下载文档
16003204-《程序设计基础(C语言)》-课程教学大纲.doc16003204-《程序设计基础(C语言)》-课程教学大纲.doc16003204-《程序设计基础(C语言)》-课程教学大纲.doc16003204-《程序设计基础(C语言)》-课程教学大纲.doc16003204-《程序设计基础(C语言)》-课程教学大纲.doc16003204-《程序设计基础(C语言)》-课程教学大纲.doc
当前文档共17页 2.97
下载后继续阅读

16003204-《程序设计基础(C语言)》-课程教学大纲.doc

《程序设计基础(C 语言)》课程教学大纲 一、课程基本信息 课程代码:16003204 课程名称:程序设计基础(C 语言) 英文名称:Programming Fundamentals (C Language) 课程类别:专业课 学 时:45(其中理论课 29 学时,实验课 16 学时) 学 分:3 适用对象: 数学、统计和应用统计、数据科学与大数据技术等各专业学生 考核方式:考试 先修课程:无 二、课程简介 中文简介:程序设计基础是一门计算机科学中的重要学科。目前的世界是信 息的世界,需要大量精通计算机语言的高端人才。程序设计基础以 C 语言为例, 向学生展示如何通过编程使计算机为人所用。该课程主要包括简介部分、语法部 分、C 语言中的基本结构部分(包括顺序结构、选择结构和循环结构)、数组部 分、指针部分的讲述。学习该门课程,能使学生对程序设计有较为全面的认识。 一方面为《数据结构》、《面向对象的程序设计》等后续课程的学习奠定程序设 计基础,另一方面使学生掌握高级编程语言的编程技术和基本算法,掌握程序设 计的思想和方法,培养编写和调试简单应用程序的技能,具备利用计算机求解实 际问题的基本能力。 英文简介:The programming basis is an important discipline in computer science. The current world is the world of information and requires a lot of high-end talent in computer language. This course shows the students on how to use the computer to work for people using the tool of C language. The course mainly includes the introductory part, the grammatical part, the basic structure part of the C language (including the sequence structure, the choice structure and the cyclic structure), the array part, the pointer part. Through learning this course, students can have a more comprehensive understanding of the program design. On one hand, lay the foundation for the program design for the data structure, object - oriented programming, etc. On the other hand, students not only master the programming technology and basic algorithm of advanced programming language, but also master the thought and method of programming, and train the skills to write and debug simple application program, and have the basic ability to solve practical problems with computer. 1 三、课程性质与教学目的 本门课程为专业课,且为专业必修课。对应于当今社会信息化进程的高速发展, 在学校里对理工科学生进行深入的计算机语言的教学是非常重要的。因此,本门课程 被定为专业必修课,要求全学院学生必须修读。 通过本门课程的讲授,应让学生对程序设计语言有一般性的认识,对计算机的运 行方式有一定的了解,对编写程序的思维有一定的锻炼,并做到在修读今后的信息类 课程时掌握一定的学习基础。本门课程的思政育人目标是培养学生的专业荣誉感与职 业使命感,让学生养成认真严谨的学习与工作态度,逐步树立职业责任感,让学生在 学习理论知识的同时,培养与塑造正确的人生观与价值观。 四、教学内容及要求 第一章 程序设计与 C 语言 (一)目的与要求 1.掌握程序设计的基本思想。 2.掌握 C 语言的运行环境,了解 C 语言的基本结构。 3.了解 C 程序的上机步骤,初步了解运行一个 C 语言程序的过程。 (二)教学内容 第一至四节 1.主要内容:介绍 C 语言的起源及历史,以及程序设计的基本概念。 2.基本概念和知识点:C 语言、程序设计。 3.问题与应用(能力要求):通过本节学习,要求学生掌握程序设计及 计算机语言的基本概念,对大数据和人工智能时代下的编程语言有更 深入的理解和认识。 (三)思考与实践 1.理论环节:从理论上向学生讲述计算机与程序,程序设计语言以及程 序设计的基本思想。总结 C 语言的出现和发展过程,并积极思考 C 语 言与其他程序设计语言的异同。通过分析几个简单的 C 程序,使学生 对 C 语言程序设计框架有个整体的认识。 2.实践环节:通过实验课让学生上机验证几个简单的 C 语言程序,熟悉 C 语言的编程环境和对完整的一个 C 语言程序有一个整体认识。具体 实验包括:实验项目一 熟悉 C 语言环境。详细分析运行 C 程序的步 骤和方法。 (1)上机运行第一章的 3 个例题,熟悉所用系统的上机方法与步骤 (2)请参照本章例题,编写一个 C 程序,输出以下信息: 2 ************** Very good! ************** (四)教学方法与手段 本章主要为理论授课,采取课堂讲授的方式进行,并且在课堂讲授过程 中实现思想政治教育与知识体系的有机结合。课程思政融入主要体现:首先, 在介绍 C 语言的起源和历史过程中挖掘思政元素,在大数据和人工智能时 代,以程序设计为基础的软件行业发展潜力巨大,以华为被美国制裁的事件 为例对学生进行爱国教育,引导学生树立社会主义核心价值观;通过介绍全 球信息泄露事件和隐私保护需求对学生进行工程伦理教育,信息技术创新具 有双刃性,技术本身是中立的,但做技术的人需在法律、伦理框架下做正确 的选择。其次,在介绍程序设计基本概念的过程中,通过三个引例概述了 C 语言的语法规则和编程规范,引导学生思考作为中国公民应严格遵守疫情期 间国家和学校的指示,培养学生的规则意识。 第二章 数据的存储与运算 (一)目的与要求 1.介绍 C 的数据类型。 2.掌握几种基本数据类型的存储方式,表示方法。 3.掌握数值常量、字符常量和符号常量的使用。 5.熟练算术运算符和表达式的用法,了解 C 运算符和表达式。 (二)教学内容 第一节 1. 主要内容:数据在计算机中是怎样存储的。 2. 基本概念和知识点:数据在计算机中是以二进制形式存储的,掌握位、 字节和地址的基本概念。 3. 问题与应用(能力要求):掌握不同类型数据的存储方式。 第二至五节 1. 主要内容:不同类型数据的运算与分析。 2. 基本概念和知识点:通过程序举例与分析总结整型数据、实型数据和字 符型数据的运算特点,掌握常量及其类型,变量的概念,变量名,变量 命名的规定。了解符号常量的性质和使用方法。 3. 问题与应用(能力要求):程序的作用就是对数据进行运算和处理。通 过分析不同数据的特点与应用,要求学生逐步掌握 C 语言程序的编写 3 过程,从而提高编程过程中的数据处理能力。 第六至七节 1. 主要内容:运算符与表达式 2. 基本概念和知识点:重点掌握算术运算符和算术表达式,了解 C 运算符 和 C 表达式。 (三)思考与实践 1.理论环节:从理论上向学生讲述数据在计算机中是怎样存储的,并详 细分析整型、实型和字符型的数据运算及其应用方法,使学生掌握计 算机的计算思维。 2. 实践环节:通过实验课使学生上机自己编写相关程序,体验在计算机 上如何存储数据以及编写简单的算术运算程序的思维方法。具体实验 包括:实验项目二 了解数据存储及熟悉 C 表达式。 (1)要求编写程序,计算 2 个正整数的和、差、积、商并输出。题目 保证输入和输出全部在整型范围内。 输入格式: 输入在一行中给出 2 个正整数 A 和 B。 输出格式: 在 4 行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、 商。 输入样例: 32 输出样例: 3+2=5 3-2=1 3*2=6 3/2=1 (2)输入并运行下列程序: 如果已知英制长度的英尺 foot 和英寸 inch 的值,那么对应的米 是(foot+inch/12)*0.3048。现在,如果用户输入的是厘米数,那么对 应英制长度的英尺和英寸是多少呢?别忘了 1 英尺等于 12 英寸。 输入格式: 输入在一行中给出 1 个正整数,单位是厘米。 输出格式: 在一行中输出这个厘米数对应英制长度的英尺和英寸的整数 值,中间用空格分开。 输入样例: 170 输出样例: 56 4 (3)程序每次读入一个正 3 位数,然后输出按位逆序的数字。注意: 当输入的数字含有结尾的 0 时,输出不应带有前导的 0。比如输入 700, 输出应该是 7。 输入格式: 每个测试是一个 3 位的正整数。 输出格式: 输出按位逆序的数。 输入样例: 123 输出样例: 321 (四)教学方法与手段 本章为理论和上机实验相结合的方式授课,并且在实验指导过程中实现 思想政治教育与知识体系的有机结合。本章开始涉及简单的 C 语句实现,课 程思政融入主要体现在指导学生调试程序过程中,告诉学生一个简单的错误, 比如标点符号用错,中英文没有切换等,都能导致整个程序无法运行。因此 在编写程序时一定要认真严谨。让学生通过在程序设计、调试中思考和总结 种种问题,引发出严谨、一丝不苟、细心和精益求精的感悟。 第三章 最简单的 C 程序设计——顺序程序设计 (一)目的与要求 1.掌握赋值语句和数据的输入、输出函数。 2.掌握格式化输入、输出。 3.掌握顺序程序设计。 (二)教学内容 第一至三节 1. 主要内容:算法的概念和表示方法,C 程序结构和 C 语句概述。 2. 基本概念和知识点:C 程序结构,C 语句分类:控制语句,函数调用语 句,表达式语句,空语句,复合语句。 3. 问题与应用(能力要求):要求学生理解算法的核心思想,能理解用 计算机解决实际问题的计算思维方式,掌握结构化程序的三种基本结构, 使得学生获得基本的算法设计能力。 第四节 1. 主要内容:赋值表达式和赋值语句。 5 2. 基本概念和知识点:赋值表达式,赋值过程中的类型转换,赋值语句, 变量赋初值。 3. 问题与应用(能力要求):掌握赋值表达式和赋值语句的使用方法, 理解赋值语句在 C 语言编写过程中的重要作用,并要求学生能灵活运用 赋值操作实现算法思想的能力。 第五至七节 1. 主要内容:数据输入输出、字符数据的输入输出,简单的格式输入输 出。 2. 基本概念和知识点:输入输出的概念,字符输入输出函数,格式输入 输出函数。 3. 问题与应用(能力要求):输入输出是程序中最基本的操作,C 语言 不提供输入输出语句,要求学生理解数据的输入和输出的含义以及系统库 函数的使用,使学生在和计算机交互过程中获得调试程序的能力。 第八节 1. 主要内容:顺序结构程序设计举例。 2. 基本概念和知识点: 程序举例 3. 问题与应用(能力要求):要求掌握顺序程序设计的编写方法,学会 简单的算法设计并基于算法编写程序代码的能力,并能够根据不同的 数据输入分析数据输出,学会简单的程序调试方法。 (三)思考与实践 1.理论环节:从理论上向学生讲述顺序程序设计的基本思想,程序设计 的三种基本结构的定义、赋值操作以及数据输入输出的应用方法。使 学生掌握以上知识并可较为熟练的运用。 2.实践环节:通过实验课使学生上机自己编写相关程序,理解人机互动 的实现方式,掌握正确的数据输入和输出方法。具体实验包括:实验 项目三 数据基本格式输入输出。布置课后习题,P94 的 3.3、3.4、 3.7,进一步加深对顺序程序设计的理解。 (四)教学方法与手段 本章为理论和上机实验相结合的方式授课,并且在理论学习和实验指导 过程中实现思想政治教育与知识体系的有机结合。算法是程序设计的灵魂, 课程思政融入主要体现在写程序之前,告诉学生必须想清楚解决问题的目的 和先后次序。通过演示不同算法的实际效果,加深对算法的理解,向学生介 绍与算法相关的前沿技术。结合国家的产业布局和发展战略,激励学生努力 学习,将来投身到国家的信息科技和产业中。在进行算法设计过程中倡导学 生一题多解,培养学生不断打磨专业能力的品质和工匠精神。 6 第四章 选择结构程序设计 (一)目的与要求 1. 掌握关系运算符和关系表达式。 2. 掌握逻辑运算符和逻辑表达式。 3. 掌握 if 语句及 if 语句的嵌套。 4. 掌握 switch 语句。 5. 会运用关系表达式和逻辑表达式构成选择结构。 (二)教学内容 第一节 1. 主要内容:条件判断。 2. 基本概念和知识点:条件判断的含义;关系运算符和关系表达式;逻 辑运算符和逻辑表达式。 3. 问题与应用(能力要求):熟练运用关系运算符和逻辑运算符。 第二节 1. 主要内容:用 if 语句实现选择结构。 2. 基本概念和知识点:用 if 语句实现选择结构举例、if 语句的一般形式、 if 语句使用的说明,使用嵌套的 if 语句实现多层判断。 3. 问题与应用(能力要求):熟练运用 if 语句各种形式。 第三节 1. 主要内容:利用 switch 语句实现多分支选择结构。 2. 基本概念和知识点:switch 语句的格式,程序举例。 3. 问题与应用(能力要求):熟练运用 switch 语句。 第四节 1. 主要内容:程序综合举例。 2. 基本概念和知识点:if 语句和 switch 语句的程序举例。 (三)思考与实践 1.理论环节:从理论上向学生讲述选择结构的程序设计思想,重点讲解 if 语句的单分支、双分支和多分支的使用方法,难点是 switch 语句的灵 活使用。要求学生能进一步思考用 if 语句和 switch 语句实现多分支算 法的优缺点,并能熟练地运用相关知识点解决问题。 2.实践环节:通过实验课使学生上机自己编写相关程序,体验在计算机 上实现算法中的选择结构,并能熟练运用关系运算符和逻辑运算符正 确表达条件结构和编写选择结构程序设计的思维方法。具体实验包括: 实验项目四 选择结构 if 语句和 switch 语句。 (1)分别输入两个时间 hour1:minute1, hour2:minute2, 输出两个时间 7 的时间差(h:m)(考虑第二个时间晚于第一个时间) 输入样例 1: 输入第一个时间: 8:10 输入第二个时间: 9:40 输出样例 1: 两个时间的时差为: 1:30 输入样例 2: 输入第一个时间: 10:40 输入第二个时间: 11:10 输出样例 1: 两个时间的时差为: 0:30 (2)课后思考 输入三角形的三条边,输出三角形的类型(考虑 等腰,等边,直角, 等腰直角,一般,非三角形等多种类型);对程序准备多个测试样例, 看程序考虑得是否完备! 例如:输入 10,10,14.14,输出 等腰直角三角形; 输入 3,4,5 输出 直角三角形 输入 4,4,5 输出 等腰三角形 输入 4,4,4 输出 等边三角形 输入 3,4,6 输出 一般三角形 输入 3,4,9 输出 非三角形 (四)教学方法与手段 本章为理论和上机实验相结合的方式授课,并且在理论学习和实验指导 过程中实现思想政治教育与知识体系的有机结合。课程思政融入主要体现在 讲解选择结构程序设计的知识体系时,重点培养学生用分支编程思想来解决 选择类问题的能力,初步体会分支条件的临界设定,认识条件互补间的辩证 关系,培养辩证思维的哲学素养。引导学生面对人生中的各种选择时要思维 清晰,懂得取舍,特别当某一时刻面临个人利益与集体利益乃至国家利益相 8 冲突时,要勇于挑战自我,战胜自我,以集体利益、国家利益为重,国家利 益至上是每个中国公民的义务。 第五章 循环结构程序设计 (一)目的与要求 1.掌握构成循环的语句 while、do-while、for。 2.掌握循环控制的条件。 3.掌握多重循环的执行过程。 4.掌握 break 和 continue 语句的运用。 5.应用循环和一些常用算法解决实际问题。 (二)教学内容 第一至二节 1. 主要内容:理解循环的概念,while 语句。 2. 基本概念和知识点:程序中需要循环结构,用 while 和 do-while 语句实 现循环。 3. 问题与应用(能力要求):熟练使用 while 和 do…while 语句。 第三节 1. 主要内容:for 语句 2. 基本概念和知识点:用 for 语句实现循环,for 语句最简单的形式、for 语句中各表达式的含义、for 语句与 while 语句的比较、for 语句的变形 3. 问题与应用(能力要求): 针对一个问题,分别使用三种循环实现; 第四节 1. 主要内容:循环的嵌套。 2. 基本概念和知识点:多层循环与循环嵌套,三种循环相互嵌套。 第五节 1. 主要内容:提前结束循环。 2. 基本概念和知识点:用 break 语句提前退出循环、用 continue 语句提前 结束本次循环。 3. 问题与应用(能力要求): (1)break 和 continue 的区别,以及程序中类似语句较多会带来哪些问题, 为什么要少用 continue。 (2) 将例题中使用的 continue 修改为不用 continue 的代码。 第六至七节 1. 主要内容:几种循环的比较,循环程序综合举例。 2. 基本概念和知识点:循环结构程序举例。 9 3. 问题与应用(能力要求):将例题的循环用其他两种循环替换实现。 (三)思考与实践 1. 理论环节:思考以下问题。 1) 三种循环各自的特点 2) Break 和 continue 的优缺点,单出口程序的好处 3) 布置课后练习 1,2,5—8 题,阅读并理解程序,以不同于实验指 2. 导书上的方式自己编程。 实践环节:通过实验课使学生上机自己编写相关程序,体验在计算机 上实现算法中的循环结构,并能熟练掌握编写循环结构程序设计的思 维方法。具体实验包括:实验项目五 循环结构程序设计,while 语 句和 for 语句。 (1) 编制九九乘法,形式如下: 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 ……………………………………………………………….. 9*1=99*2=18 9*3=27……………………………………………9*9=81 (2) 打印如下图案: * *** ***** ******* ***** *** * (3) 从键盘上输入任意个数值数据,求其中正数的乘积。当输入 0 时 则输出结果并结束。 (4) 把 242 表示为三个加数之和,这三个加数分别能被 17,33,37 整 除,试编写程序,求出这三个加数等于多少? (5) 编程输出:假设每天努力进步 1%一年后进步了多少,假设每天退 10 步 1%则一年后退步多少。如果每天进步 1%周六日休息退步 1%则一 年后进步多少。如果周六日休息退步 1%,为了达到每天努力不休息 进步 1%一年的效果,则需要非周六日努力进步多少? (四)教学方法与手段 本章为理论和上机实验相结合的方式授课,并且在理论学习和实验指导 过程中实现思想政治教育与知识体系的有机结合。课程思政融入主要体现在: 由循环反复引出实践第 5 题,用以说明学习中不断努力所带来的巨大利好, 促进学生为追求目标坚持不懈的努力,深刻理解“不积跬步无以至千里”的思 想。 第六章 利用数组处理批量数据 (一)目的与要求 1.掌握 C 语言中数组的定义和使用方法。 2.明确二维数组的定义及其存储结构。 3.掌握字符数组及字符串处理函数。 4.理解筛法求素数、冒泡法排序等算法。 (二)教学内容 第一至二节 1. 主要内容:数组概念的引入和一维数组。 2. 基本概念和知识点:为什么要用数组,怎么定义和引用一维数组。具 体包含一维数组的定义格式,一维数组在内存中的存放,一维数组元素的 引用,一维数组的初始化。 3. 问题与应用(能力要求):掌握一维数组内存存储的特点,掌握数组 名的作用,区分数组 a[n]在定义和引用不同的含义。 第三节 1. 主要内容:二维数组的定义和引用。 2. 基本概念和知识点: 二维数组的定义,二维数组在内存中的存放,二 维数组的引用,二维数组程序举例。 3. 问题与应用(能力要求):掌握二维数组物理存储和逻辑表示的关系, 掌握二维数组的定义和引用。 第四节 1. 主要内容:字符数组与字符串。 2. 基本概念和知识点:字符数组的定义,字符数组的初始化,字符数组 的引用,字符串和字符串结束标志,字符数组的输入输出,字符串处理函 数及其应用举例。 11 3. 问题与应用(能力要求):熟练掌握字符串的定义与应用,掌握字符 串结束符所起到的作用。 (三)思考与实践 1. 理论环节:思考以下两个问题。 1) 使用数组的优缺点 2) 字符串的处理需要注意的要点有哪些 2. 实践环节:通过实验课使学生上机自己编写相关程序,体验在计算机 上如何运用数组进行数据的批量处理,并能熟练与数组有关的算法。 具体实验包括:实验项目六 利用数组处理批量数据,练习数组相关程 序编写。 (1) 计算全班 30 个人的平均成绩,并将全班成绩和其对应的学号按 从大到小的顺序输出,每人成绩由赋值语句给定。 (2) 将自然数 1—9 组成三个 3 位数,每个数字必须出现一次而且只 能出现一次,且三个数中的每个数必须是一个完全平方数;例如 121 是 11 的完全平方数,123 就不是完全平方数。(答案:361,529, 784) 提示:这三个数显然落在 11 的平方(121)和 31 的平方(961) 之间。 (3) 试编制计算下表中划圈元素之和的程序。 ④ 2 1 3 ④ 8 9 2 ④ (4) 试编制将 Language 赋给数组,然后输出如下图案的程序 Language anguage nguage guage uage age ge e (四)教学方法与手段 本章为理论和上机实验相结合的方式授课,并且在理论学习和实验指导 过程中实现思想政治教育与知识体系的有机结合。课程思政融入主要体现在: 根据字符串结束标记’\0’在字符串表示中不显眼,但是决定了字符串的长度, 无论在判断字符串长度还是在打印字符串都起到了关键性的作用,用于提醒 12 同学在科研中一定不要忽视任何不易察觉的细微处,做科研要一丝不苟,认 真对待。 第七章 用函数实现模块化程序设计 (一)目的与要求 1.明确函数在 C 语言程序中的重要作用。 2.掌握函数的定义、函数的参数及函数的值等概念。 3.掌握函数的调用及调用过程中实际参数对形式参数的值传递。 4.明确局部变量和全局变量概念。 5.明确变量的存储类别。 6.明确内部函数与外部函数的概念。 7.明确预处理命令的作用。 8.了解宏定义、文件包含、条件编译等予处理功能。 (二)教学内容 第一至二节 1. 主要内容:函数概念的引入,模块化程序设计思想。 2. 基本概念和知识点:函数的定义和调用,参数的传递对被调用函数的 3. 声明和函数原型。 问题与应用(能力要求):熟悉模块化思想,熟练掌握函数的定义、 调用及参数的传递。 第三节 1. 主要内容: 函数的嵌套调用。 2. 基本概念和知识点:函数的嵌套调用。 3. 问题与应用(能力要求):熟练运用函数的嵌套调用。 第四节 1. 主要内容:数组作为函数的参数。 2. 基本概念和知识点:用数组元素作函数实参,用数组名作函数参数。 3. 问题与应用(能力要求):理解数组作为函数参数的含义。 第五节 1. 主要内容:变量的作用域和生存期。 2. 基本概念和知识点:变量的作用域——局部变量和全局变量,变量的 存储方式和生存期。 3. 问题与应用(能力要求):理解变量的作用域。 第六节 1. 主要内容:内部函数和外部函数。 13 2. 基本概念和知识点:内部函数和外部函数的定义。 3. 问题与应用(能力要求):理解内部函数和外部函数的区别。 (三)思考与实践 1. 理论环节:思考以下两题。 1)模块化编程的优点 2)如何将模块化思想应用于日常生活和工作中 2. 实践环节:通过实验课使学生上机自己编写相关程序,理解模块化程 序设计的思想,并能熟练掌握函数实参与形参的对应关系以及“值传 递”的方式。具体实验包括:实验项目七 用函数实现模块化设计。 (1) 用调用函数的方法编程计算 ex=1+x+x2/2!+x3/3!+…前 20 项的和。 编程时用函数 f1 计算每项分子的值,函数 f2 计算每项分母的值。 (2) Search 函数的功能是利用顺序查找法从数组 a 的 n 个元素中对关 键字 m 进行查找。顺序查找法的思路是:从第一个元素开始,从前向 后依次与关键字比较,直到找到此元素或查找到数组尾部时结束。若找 到,返回此元素的下标;若未找到,则返回值-1。 (3) 数组 score 内存放一个班级的学生成绩。以数组名作函数参数, 求班级的平均成绩、前 5 名学生成绩和后 5 名学生成绩。 (四)教学方法与手段 本章为理论和上机实验相结合的方式授课,并且在理论学习和实验指导 过程中实现思想政治教育与知识体系的有机结合。课程思政融入主要体现在: 通过模块化编程的思想引入团队合作的思想,并通过组队做题,体验团队合 作的要点,培养团队精神。 第八章 善于使用指针 (一)目的与要求 1.理解指针变量和地址的概念,了解指针变量的基类型的含义。 2.掌握指针变量的赋值、运算和移动操作,以及通过指针引用变量的方法。 3.掌握通过地址和指针从函数传回数据的方法。 4.掌握用指针操作数组、操作字符串、操作函数。 5.了解返回指针值的函数和指针数组。 (二)教学内容 第一至二节 1. 主要内容:指针与指针变量。 2. 基本概念和知识点:指针的概念,指针变量的定义与初始化,指针运 算,指针变量作为函数参数。 14 3. 问题与应用(能力要求):理解指针的含义,掌握指针的定义及初始 化 第三节 1. 主要内容:通过指针引用数组。 2. 基本概念和知识点:数组元素的质真,通过指针引用数组元素,用数 组名作为函数参数。 3. 问题与应用(能力要求):掌握指向数组指针的运算。 第四节 1. 主要内容:通过指针引用字符串。 2. 基本概念和知识点:字符串的表示形式,字符指针作为函数参数、使 用字符指针变量和字符数组的区别。 3. 问题与应用(能力要求):掌握字符串指针的表示法。 (三)思考与实践 1. 理论环节:思考以下两题。 1) 指针操作的优缺点,为后续 java 无指针化打下基础 2) 指针的灵活度体现在哪里 2. 实践环节:通过实验课使学生上机自己编写相关程序,体验在计算机 上实现算法中的选择结构,并能熟练运用关系运算符和逻辑运算符正 确表达条件结构和编写选择结构程序设计的思维方法。具体实验包括: 实验项目八 指针练习。 (1) 从键盘输入三个整数,要求设三个指针变量 p1,p2,p3,使 p1 指向 三个数的最大者,p2 指向次大者,p3 指向最小者,然后按由小到 大的顺序输出这三个数。分析:这是一个用指针访问简单变量的 例子,定义指向整型变量的指针变量,然后通过“*指针变量”的形 式即可访问相应的简单变量。 (2) 用指针实现选择法排序程序。输入 20 个整数,并用指针实现选择 法升序排序。分析:首先定义一个 int 型一维数组 a,并用指针 p 指向它。然后用指针实现各个数组元素的输入。用指针访问各个 数组元素实现选择法排序。最后输出排序结果。 (3) 编写课本 266 页习题 8.6,分别在程序按以下两种情况处理,第一 种:函数形参用指针变量;第二种:函数形参用数组名。做分析 比较,掌握其规律。 (四)教学方法与手段 本章为理论和上机实验相结合的方式授课,并且在理论学习和实验指导过 程中实现思想政治教育与知识体系的有机结合。课程思政融入主要体现在:指 15 针变量在其它计算机语言里用引用型变量这一名词定义,如 java,python 等。 当接触新的计算机语言名词可以尝试将其转化为已学计算机语言内容进行理解。 指针变量属于间接性引用,注意这一思路在实现生活中有着广泛运用,如计算 机里的桌面快捷方式,其就是一个指向具体可执行文件的图标。再比如我们的 身份证号,学号,也可以理解成一个指针,通过这些号码可以了解我们在某个 系统里的信息。间接性引用不一定就是复杂的,具体情况需要具体分析,如快 捷方式的例子,我们可以不需要逐级打开文件夹,直至打开具体的可执行文件, 直接点击桌面的快捷方式即可。应该通过该模块的学习引导学生对问题辩证性 的思考。 五、各教学环节学时分配 教学环节 讲 习 题 课 教学时数 课 讨 论 课 实验 其他教 学环节 小 计 课程内容 第一章 程序设计与 C 语言 2 2 4 第二章 数据的存储与运算 4 2 6 4 2 6 第四章 选择结构程序设计 4 2 6 第五章 循环结构程序设计 4 2 6 4 2 6 4 2 6 第八章 善于使用指针 3 2 5 合计 29 16 45 第三章 最简单的 C 程序设 计——顺序程序设计 第六章 利用数组处理批量 数据 第七章 用函数实现模块化 程序设计 六、课程考核 (一)考核方式: 闭卷 (二)成绩构成: 16 平时成绩占比: 40% 期末考试占比:60% (三)成绩考核标准: 平时成绩主要通过线上线下教学平台考察学生在自主学习,作业和实验报告的完 成度,课堂互动情况等。期末考试主要按大纲“教学内容”为标准进行卷面考试考核。 七、推荐教材和教学参考资源 1. 教材: [1] 谭浩强主编,C 语言程序设计(第 3 版),北京:清华大学出版社,2014 年 9月 2. 主要参考书: [1] 谭浩强编著,C++程序设计(第 3 版),北京:清华大学出版社,2015 年 8 月 [2] 杨路明主编,C 语言程序设计教程(第 3 版),北京邮电大学出版社,2015 年 8 月第 3 版 [3] 王行言主编,计算机程序设计基础,北京:高等教育出版社,2004 年 7 月 八、其他说明 无 修订日期:2022 年 8 月 审定日期: 大纲修订人:温雅敏,陈冰川 大纲审定人: 17

相关文章