《程序设计基础》是计算机专业学生必修的一门专业主干课和必修课。
本课程分为两个部分:程序设计和C语言。关键是掌握程序设计的一般过程和方法,通过例程实现过程逐步掌握C程序设计的基础知识、基本概念,进一步理解程序设计的思想,掌握编程技巧,熟练掌握C语言的多种数据类型,深刻理解例如动态存储结构、指针、链表等重要概念。
课程教学总学时数为64学时,其中授课时间为48学时,实验课时为16学时。
一、理论教学部分
课程系统讲述C语言所有主要的语言元素,包括基本数据类型,流程控制和标准函数库。课程还着重介绍字符串和字符操作,动态内存分配,标准I / O,C运行库,结构体和指针、结构化程序设计和变参数的函数功能设计。知识模块划分为11个单元:
内 容 | 学时 |
1.C语言概述(2学时) 目的和要求:理解C语言的特点;了解C程序的结构;掌握在计算机上运行C程序的方法 内容和要点:C语言出现的历史背景,C语言的特点,C程序介绍,C程序的上机步骤。 | 2 |
2.程序的灵魂——算法(2学时) 目的和要求:理解算法的概念;了解算法的特性;掌握用N-S流程图表示算法的方法。 内容和要点:算法的概念和特性,算法的表示方法,结构化程序设计方法。 | 2 |
3.数据类型、运算符与表达式(4学时) 目的和要求:了解C语言中几种基本数据类型的表示方法、在内存中的存储形式;了解各类数值型数据间的混合运算的转换规则;理解运算符优先级与结合性的概念;理解表达式的概念;掌握算术运算符优先级与结合性及其对操作数的要求;掌握强制类型转换运算符、自增自减运算符、赋值运算符、逗号运算符的使用方法。 内容和要点:C的数据类型;常量与变量;整型数据、浮点型数据、字符型数据(常量的表示方法与类型、变量的存储形式与分类等);变量赋初值 ;各类数值型数据间的混合运算;算术运算符和算术表达式;赋值运算符和赋值表达式 ;逗号运算符和逗号表达式。
| 4 |
4.最简单的C程序设计——顺序程序设计(4学时) 目的和要求:了解C程序的构成,C语句的分类;理解赋值语句和赋值表达式的区别;掌握字符数据的输入/输出方法;掌握格式输入与输出的方法。 内容和要点:C语句概述;赋值语句;数据输入输出的概念及在c语言中的实现;字符数据的输入输出;格式输入与输出;顺序结构程序设计举例
| 4 |
5.选择结构程序设计(4学时) 目的和要求:了解关系运算符、逻辑运算符的优先级;掌握关系表达式、逻辑表达式的求值;掌握if语句的三种形式;掌握switch语句。 内容和要点:关系运算符和关系表达式,逻辑运算符和逻辑表达式,IF语句和SWITCH语句。
| 4 |
6.循环控制(4学时) 目的和要求:理解循环、循环嵌套的概念;掌握用while语句、do-while语句、for语句实现循环的方法;掌握break语句、continue语句的使用。 内容和要点:GOTO语句及用GOTO语句构成循环,WHILE语句,DO—WHILE语句,FOR语句,三种循环之间嵌套和区别,BREAK、CONTINUE语句。
| 4 |
7.数组(4学时) 目的和要求:掌握一维、二维、字符数组的定义和引用方法、存储结构和初始化方法;掌握一维数组的有关算法;掌握数组的运算。 内容和要点:一维数组的定义和引用,二维数组的定义和引用,字符数组的定义和引用,字符数的输入输出和字符串处理函数,字符串和字符串的结束标志。
| 4 |
8.函数(8学时) 目的和要求:掌握函数的定义和调用方法。掌握变量作用域和存储方式的概念。理解函数调用时参数传递的过程,理解值传递方式和地址传递方式之间的区别,理解函数的返回值的概念。了解函数的嵌套调用和函数的递归调用,了解内部函数和外部函数的概念。 内容和要点:函数定义的一般形式;函数参数和函数的值;函数调用;函数的嵌套调用;函数的递归调用;数组作为函数参数。局部变量和全局变量;变量的存储类别;内部函数和外部函数。
| 8 |
9.指针(8学时) 目的和要求:理解地址和指针的概念。掌握指针变量的定义和初始化。掌握指针变量的运算。掌握取地址运算符和指针运算符的使用。掌握指针变量作函数参数的方法。掌握指向数组元素的指针和通过指针变量引用数组元素的方法。理解指向函数的指针的概念。了解指针数组的概念。了解指向指针的指针的概念。 内容和要点:地址和指针的概念,变量的指针和指向变量的指针变量,数组的指针和指向数组的指针变量,字符串的指针和指向字符串的指针变量,函数的指针和指向函数的指针变量,返回指针值的函数,指针数组和指向指针的指针。
| 8 |
10.结构体与共用体(6学时) 目的和要求:掌握结构体类型变量或数组的定义、初始化和引用方法。 掌握指向结构体变量或数组的指针的定义、初始化及引用方法。掌握指向结构体的指针作函数参数的方法。掌握用指针处理链表的方法(包括建立链表、输出链表、删除链表中的结点、插入结点到链表)。了解共用体和枚举类型的概念。 内容和要点:结构体类型的定义,结构体变量的引用和初始化,结构体数组,指向结构体类型的指针,用指针处理链表,共用体数据类型的定义和引用。
| 6 |
11文件.(2学时) 目的和要求:理解文件的基本概念。掌握文件操作的基本函数。掌握文件的顺序读写和文件的随机读写。 掌握文件的简单应用。了解结构体FILE类型。 内容和要点:文件类型的指针,文件的基本操作:文件的打开与关闭、文件的读写、文件的定位、出错检测。
| 2 |
合计上课学时 | 48 |
二、实验教学内容
通过上机实验促进对课程内容的理解,巩固学习内容,熟悉C程序设计思想,熟练掌握在软件(如Turbo C 2.0, Visual C++6.0等) 中编写、编辑、编译和调试程序的基本方法,具备利用C语言进行编程的能力。
序号 | 实验项目名称 | 实验内容 | 实验学时 |
1 | C程序的运行环境和运行C程序的方法 | 熟悉可视化工具编译系统集成环境的界面和菜单的使用方法 | 1 |
2 | 数据类型、运算符和表达式
| 字符型和整型数据相互赋值;自加自减运算符的使用;格式输入和输出; | 1 |
3 | 简单的C程序设计
| 赋值语句;数据的输入输出的方法;各种格式转换符使用; | 1 |
4 | 逻辑结构程序设计 | 设计程序,利用if语句和switch语句处理分支结构; 学习程序调试; | 1 |
5 | 循环结构程序设计 | 设计程序,利用while语句和do-while语句和for语句处理循环结构;进一步学习程序调试; | 1 |
6 | 数组 | 设计程序,利用数组处理整型或字符型数据;选择法排序; | 2 |
7 | 函数 | 设计程序,熟悉函数的定义和调用; 区别值传递和地址传递方式;全局变量和静态变量的使用;多文件的编译 | 2 |
8 | 指针 | 设计程序,使用指针变量、指向数组的指针变量、指向字符串的指针变量 | 2 |
9 | 函数与多文件编程 | 学习函数类型和参数的设计,了解头文件的作用及其编制方法。 | 2 |
10 | 结构体 | 设计程序,利用结构体类型、结构体数组、链表处理数据 | 2 |
11 | 文件 | 对文件进行打开、关闭、读、写等操作 | 1 |
合计上课学时 | 16 |