《程序设计基础》教学大纲一、课程基本信息课程编码:115106B中文名称:程序设计基础英文名称:ProgrammingFoundations课程类别:专业基础课总学时:45总学分:3适用专业:通信工程先修课程:计算机导论二、课程的性质、目标和任务《程序设计基础》课程是通信工程专业本科生的一门专业基础课程,同时也是进一步学习软件开发等课程的前导课程。本课程围绕C语言的基本语法知识、结构化程序设计的思想,系统的讲述了利用C语言进行编程解决实际问题的方法和技巧,同时通过课堂讲授、实验教学及课程设计几个环节相结合的方式,使学生系统地掌握C语言的基本语法结构和结构化程序设计的思想:掌握编程方法和技巧;培养学生良好的程序设计风格和习惯:使学生具备一定的应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机奠定良好的基础。三、课程教学基本要求本课程每次课堂教学环节建议包括导入环节、讲授新课、课堂小结、巩固练习。导入环节可以创设情境导入,旧知识回顾,建立新旧知识联系等。讲授新课则按教学进度安排讲授本次课具体教学内容。课堂小结则根据本节课内容进行知识点的总结。巩固练习可以是课本课后习题或课外补充题目,从而进行本次知识点的巩固。本课程要求讲授C语言基础概念及知识,让学生了解C语言基本语法,了解常量变量概念、存储形式及应用,掌握运算符表达式的相关概念及应用。讲授C语言程序的基本结构,让学生掌握顺序、分支、循环程序的设计与编写。讲授数组、结构体、共用体和指针,让学生掌握组合数据类型的概念及应用。讲授函数、编译预处理、文件,让学生掌握模块化程序设计的思想和方法。四、课程教学内容及要求第一章C语言程序设计初步(2学时)
《程序设计基础》教学大纲 一、课程基本信息 课程编码: 115106B 中文名称:程序设计基础 英文名称:Programming Foundations 课程类别:专业基础课 总 学 时: 45 总 学 分: 3 适用专业:通信工程 先修课程:计算机导论 二、课程的性质、目标和任务 《程序设计基础》课程是通信工程专业本科生的一门专业基础课程,同时也是进一步 学习软件开发等课程的前导课程。本课程围绕 C 语言的基本语法知识、结构化程序设计的思 想,系统的讲述了利用 C 语言进行编程解决实际问题的方法和技巧,同时通过课堂讲授、实 验教学及课程设计几个环节相结合的方式,使学生系统地掌握 C 语言的基本语法结构和结构 化程序设计的思想;掌握编程方法和技巧;培养学生良好的程序设计风格和习惯;使学生具 备一定的应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算 机奠定良好的基础。 三、课程教学基本要求 本课程每次课堂教学环节建议包括导入环节、讲授新课、课堂小结、巩固练习。导入 环节可以创设情境导入,旧知识回顾,建立新旧知识联系等。讲授新课则按教学进度安排讲 授本次课具体教学内容。课堂小结则根据本节课内容进行知识点的总结。巩固练习可以是课 本课后习题或课外补充题目,从而进行本次知识点的巩固。本课程要求讲授 C 语言基础概念 及知识,让学生了解 C 语言基本语法,了解常量变量概念、存储形式及应用,掌握运算符表 达式的相关概念及应用。讲授 C 语言程序的基本结构,让学生掌握顺序、分支、循环程序的 设计与编写。讲授数组、结构体、共用体和指针,让学生掌握组合数据类型的概念及应用。 讲授函数、编译预处理、文件,让学生掌握模块化程序设计的思想和方法。 四、课程教学内容及要求 第一章 C 语言程序设计初步(2 学时)
【教学目标与要求】1、教学目标:本章通过讲述C语言的发展历史、支持环境;C程序设计的概念和特点;C语言上机环境以及C函数的设计方法。使学生初步了解C程序的基本特点,函数的基本组成,能够识别和阅读简单C程序。2、教学要求:要求学生了解程序设计语言的历史和现状:了解C语言程序设计的概念和特点。掌握C语言源程序组成与结构:掌握C程序的编辑、编译、连接与运行:熟练掌握C函数的格式:掌握VC开发环境的基本上机步骤。【教学重点与难点】1、教学重点:C语言源程序组成与结构:C函数的格式。2、教学难点:C函数的格式。【教学内容】1.1C语言发展史1.2C语言特点1.3简单C程序1.4C语言程序的结构1.5C语言程序的执行1.5.1源程序翻译1.5.2链接目标程序1.5.3集成开发环境第二章数据描述与基本操作(5学时)【教学目标与要求】1、教学目标:本章讲述C语言支持的数据类型:常量和变量表达形式:表达式与运算符的使用:不同类型数据间的转换方法:各种输入、输出函数的格式及应用。目的使学生能够熟练使用C语言的常量、变量、运算符和输入输出函数来表示和解决相应问题。2、教学要求:要求学生掌握数据类型的概念以及基本数据类型;熟练掌握常量和变量的定义和使用:掌握常量的书写方法;掌握变量在内存的存储形式;掌握基本运算符的运算规则及优先级别、结合性;掌握转义字符、自增(减)表达式;掌握表达式构成规则和不同数据类型的混合运算;掌握数据的输入和输出。熟练掌握四个函数:printf(、scanf(、putchar()和getchar()
【教学目标与要求】 1、教学目标:本章通过讲述 C 语言的发展历史、支持环境;C 程序设计的概念和特 点;C 语言上机环境以及 C 函数的设计方法。使学生初步了解 C 程序的基本特点,函数的基 本组成,能够识别和阅读简单 C 程序。 2、教学要求:要求学生了解程序设计语言的历史和现状;了解 C 语言程序设计的概 念和特点。掌握 C 语言源程序组成与结构;掌握 C 程序的编辑、编译、连接与运行;熟练掌 握 C 函数的格式;掌握 VC 开发环境的基本上机步骤。 【教学重点与难点】 1、教学重点:C 语言源程序组成与结构;C 函数的格式。 2、教学难点:C 函数的格式。 【教学内容】 1.1 C 语言发展史 1.2 C 语言特点 1.3 简单 C 程序 1.4 C 语言程序的结构 1.5 C 语言程序的执行 1.5.1 源程序翻译 1.5.2 链接目标程序 1.5.3 集成开发环境 第二章 数据描述与基本操作(5 学时) 【教学目标与要求】 1、教学目标:本章讲述 C 语言支持的数据类型;常量和变量表达形式;表达式与运 算符的使用;不同类型数据间的转换方法;各种输入、输出函数的格式及应用。目的使学生 能够熟练使用 C 语言的常量、变量、运算符和输入输出函数来表示和解决相应问题。 2、教学要求:要求学生掌握数据类型的概念以及基本数据类型;熟练掌握常量和变 量的定义和使用;掌握常量的书写方法;掌握变量在内存的存储形式;掌握基本运算符的运 算规则及优先级别、结合性;掌握转义字符、自增(减)表达式;掌握表达式构成规则和不 同数据类型的混合运算;掌握数据的输入和输出。熟练掌握四个函数:printf()、scanf ()、putchar()和 getchar()
【教学重点与难点】1、教学重点:基本数据类型;运算符的优先级和结合性:输入和输出函数的应用。2、教学难点:printf、scanf函数的格式控制。【教学内容】2.1编程规范2.2基本数据类型和取值范围2.3标识符、常量和变量2.3.1标识符命名规则2.3.2常量书写和变量的定义、赋值2.4基本运算符、表达式及运算的优先级2.4.1算术运算符及算术表达式2.4.2关系运算符及关系表达式2.4.3逻辑运算符及逻辑表达式2.4.4位运算符及表达式2.4.5条件运算符2.4.6逗号表达式2.5标准输入/输出函数简介2.5.1格式化输出函数2.5.2格式化输入函数2.5.3字符输出函数2.5.4字符化输入函数第三章C程序的流程设计(6学时)【教学目标与要求】1、教学目标:本章讲述算法的性质与描述方法;构成C程序的基本语句形式;关系、逻辑运算符和表达式的应用:选择型程序的结构及设计;循环程序的结构及设计。目的使学生掌握结构化算法的流程图描述方法,掌握C语言的分支结构和循环结构的流程控制语句。2、教学要求:要求学生熟练掌握C语言的基本语句:熟悉关系、逻辑运算符与表达式;熟悉逻辑值的判断方法与表示:熟练掌握选择语句的用法,包括if..else、else...if和switch等结构:熟练掌握循环程序设计,包括while、dowhile和for结构;掌握break、continue
【教学重点与难点】 1、教学重点:基本数据类型;运算符的优先级和结合性;输入和输出函数的应用。 2、教学难点:printf、scanf 函数的格式控制。 【教学内容】 2.1 编程规范 2.2 基本数据类型和取值范围 2.3 标识符、常量和变量 2.3.1 标识符命名规则 2.3.2 常量书写和变量的定义、赋值 2.4 基本运算符、表达式及运算的优先级 2.4.1 算术运算符及算术表达式 2.4.2 关系运算符及关系表达式 2.4.3 逻辑运算符及逻辑表达式 2.4.4 位运算符及表达式 2.4.5 条件运算符 2.4.6 逗号表达式 2.5 标准输入/输出函数简介 2.5.1 格式化输出函数 2.5.2 格式化输入函数 2.5.3 字符输出函数 2.5.4 字符化输入函数 第三章 C 程序的流程设计(6 学时) 【教学目标与要求】 1、教学目标:本章讲述算法的性质与描述方法;构成 C 程序的基本语句形式;关系、 逻辑运算符和表达式的应用;选择型程序的结构及设计;循环程序的结构及设计。目的使学 生掌握结构化算法的流程图描述方法,掌握 C 语言的分支结构和循环结构的流程控制语句。 2、教学要求:要求学生熟练掌握 C 语言的基本语句;熟悉关系、逻辑运算符与表达 式;熟悉逻辑值的判断方法与表示;熟练掌握选择语句的用法,包括 if.else 、 else.if 和 switch 等结构;熟练掌握循环程序设计,包括 while、do while 和 for 结构;掌握 break、continue
语句的用法;掌握穷举法、选代法、递推法等常用算法。【教学重点与难点】1、教学重点:C语言的基本语句;if..else、else...if和switch语句的结构及运用;while、do...while和for语句的结构及运用。2、教学难点:选择结构与循环结构的嵌套。【教学内容】3.1程序的简单算法设计3.1.1结构化算法的性质及结构3.1.2结构化算法的描述方法3.2分支结构3.2.1if结构3.2.2switch结构3.3循环结构3.3.1for语句3.3.2while语句3.3.3do.while语句第四章模块化程序设计(6学时)【教学目标与要求】1、教学目标:本章讲述C程序结构及函数调用的方法:实参与形参的作用以及函数调用时参数的传递:变量的存储属性:编译预处理的基本概念。目的是让学生掌握C函数定义的格式,C函数调用的方法以及C程序模块化设计的思想。2、教学要求:要求学生熟练掌握函数的定义和声明、函数的传值调用、函数的嵌套调用、函数的递归调用:掌握调用函数时数据传递的方法:掌握值传递和地址传递的区别:熟练掌握变量的存储属性,其中包括变量的存储类别、变量的生存期和作用域:掌握无参宏的定义和宏替换:掌握带参的宏定义和宏替换:理解嵌套的宏定义:熟悉文件包含处理;了解条件编译;理解内部函数和外部函数。【教学重点与难点】1、教学重点:值传递和地址传递的区别:函数的递归调用:具有不同存储属性的变量的定义与应用:宏替换的应用
语句的用法;掌握穷举法、迭代法、递推法等常用算法。 【教学重点与难点】 1、教学重点:C 语言的基本语句;if.else、else.if 和 switch 语句的结构及运用;while、 do.while 和 for 语句的结构及运用。 2、教学难点:选择结构与循环结构的嵌套。 【教学内容】 3.1 程序的简单算法设计 3.1.1 结构化算法的性质及结构 3.1.2 结构化算法的描述方法 3.2 分支结构 3.2.1 if 结构 3.2.2 switch 结构 3.3 循环结构 3.3.1 for 语句 3.3.2 while 语句 3.3.3 do.while 语句 第四章 模块化程序设计(6 学时) 【教学目标与要求】 1、教学目标:本章讲述 C 程序结构及函数调用的方法;实参与形参的作用以及函数 调用时参数的传递;变量的存储属性;编译预处理的基本概念。目的是让学生掌握 C 函数定 义的格式,C 函数调用的方法以及 C 程序模块化设计的思想。 2、教学要求:要求学生熟练掌握函数的定义和声明、函数的传值调用、函数的嵌套 调用、函数的递归调用;掌握调用函数时数据传递的方法;掌握值传递和地址传递的区别; 熟练掌握变量的存储属性,其中包括变量的存储类别、变量的生存期和作用域;掌握无参宏 的定义和宏替换;掌握带参的宏定义和宏替换;理解嵌套的宏定义;熟悉文件包含处理;了 解条件编译;理解内部函数和外部函数。 【教学重点与难点】 1、教学重点:值传递和地址传递的区别;函数的递归调用;具有不同存储属性的变 量的定义与应用;宏替换的应用
2、教学难点:嵌套的宏定义。【教学内容】4.1函数的概念4.1.1函数的定义4.1.2函数的声明和调用4.1.3函数的传值方式4.2变量的作用域和存储类型4.2.1局部变量4.2.2全局变量4.3内部函数和外部函数4.4递归函数的设计与调用4.5预处理4.5.1宏定义4.5.2文件包含4.5.3条件编译第五章数组(6学时)【教学目标与要求】1、教学目标:本章讲述一维数组;二维数组和多维数组的定义、初始化和对数组及数组元素的基本操作:字符数组和字符串的应用。目的是让学生能够使用数组的方式解决实际问题。2、教学要求:要求学生掌握一维数组、二维数组、字符数组的定义、初始化;掌握数组元素的使用:熟悉字符串与字符数组的区别:理解二维字符数组存储与表示方法:掌握字符串的输入与输出:熟悉字符串处理函数的使用。【教学重点与难点】1、教学重点:数组元素的引用:数组作为函数参数的应用;字符串的存储以及输入输出。2、教学难点:一维数组、二维数组、字符数组的应用。【教学内容】5.1一维数组的定义和初始化
2、教学难点:嵌套的宏定义。 【教学内容】 4.1 函数的概念 4.1.1 函数的定义 4.1.2 函数的声明和调用 4.1.3 函数的传值方式 4.2 变量的作用域和存储类型 4.2.1 局部变量 4.2.2 全局变量 4.3 内部函数和外部函数 4.4 递归函数的设计与调用 4.5 预处理 4.5.1 宏定义 4.5.2 文件包含 4.5.3 条件编译 第五章 数组(6 学时) 【教学目标与要求】 1、教学目标:本章讲述一维数组;二维数组和多维数组的定义、初始化和对数组及 数组元素的基本操作;字符数组和字符串的应用。目的是让学生能够使用数组的方式解决实 际问题。 2、教学要求:要求学生掌握一维数组、二维数组、字符数组的定义、初始化;掌握 数组元素的使用;熟悉字符串与字符数组的区别;理解二维字符数组存储与表示方法;掌握 字符串的输入与输出;熟悉字符串处理函数的使用。 【教学重点与难点】 1、教学重点:数组元素的引用;数组作为函数参数的应用;字符串的存储以及输入 输出。 2、教学难点:一维数组、二维数组、字符数组的应用。 【教学内容】 5.1 一维数组的定义和初始化