111083-4
计算机程序设计(Computer Programming) 
2014年秋季

课程介绍

本课程为本科生的计算机专业基础课。学习本课程旨在使学生掌握C语言的基本语法、语句、控制结构以及结构化程序设计的基本思想和方法,使学生认识到算法、良好的程序设计风格以及实践在本课程学习中的重要性,培养学生熟练使用C语言编程分析和解决实际问题的能力,培养学生无论以后在学习、工作中使用什么语言编程,都能灵活应用这些思想和方法的能力,为学生进一步学习其他专业课程和今后从事软件开发工作打下坚实的基础。

教学内容

第一章:程序设计入门
重点内容:
1. 了解程序语言的发展简史和计算机语言的分类。
2. 了解C语言的发展简史及C语言的特点。
3. 了解计算机程序编制的步骤。
4. 了解C语言程序的编辑、编译、链接和调试的过程。
5. 了解C语言的常用符号和计算机内存模型。
难点内容:
1. C语言的编制的全过程。
2. 计算机内存模型。

第二章:数据类型、运算符与表达式
重点内容:
1. 掌握C语言的数据类型,常量和变量的使用,重点掌握C语言的基本数据类型的定义和使用方法。
2. 掌握常用的运算符和表达式的使用,重点掌握算术运算符及算术运算,增1 和减1运算符及其运算。
难点内容:
1. 对于给定问题,正确选择合适的数据类型,以定义程序中所需变量。
2. 正确理解增1和减1运算符在表达式中的应用,尤其是增1和减1运算符与算术运算符的混合运算。
3. 熟练运用各种常用的C标准数学函数,正确地写出各种数学表达式对应的合法的C语言表达式。

第三章:简单的C程序设计
重点内容:
1.掌握表达式语句的格式,理解表达式与表达式语句的区别。
2.熟练掌握字符的输入/输出函数及有格式输入/输出函数的使用方法。
难点内容:
1. scanf和printf函数的格式控制问题。

第四章: 程序的控制结构
重点内容:
1. 了解算法的表示方法及其在程序设计中的重要地位;
2. 掌握C语言的基本控制结构和基本控制语句的使用方法;
3. 熟练掌握用C语言的基本控制语句进行顺序、选择和循环结构程序设计的方法;
4. 掌握一些常用的算法,如递推法、迭代法、穷举法等;
5. 了解结构化程序设计的基本思想;
6. 了解程序测试用例的选取方法和简单的程序调试方法。
难点内容:
1. 设计累加和累乘算法,并寻找累加项或累乘项的构成规律;
2. 三种循环语句在控制流程时的区别和相互联系;
3. 条件语句的嵌套和循环语句的嵌套;
4. break语句在switch语句和循环语句中的作用;
5. continue语句在循环语句中的作用。

第五章:函数
重点内容:
1. 掌握函数定义和函数原型说明的方法及二者的区别;
2. 掌握函数的参数传递方式与函数调用方法;
3. 理解掌握变量的作用域和存储类的概念;
4. 了解模块化设计方法。
难点内容:
1. 正确理解“单向值传递”的函数参数传递方式;
2. 理解自动变量与静态局部变量在应用中的区别;
3. 在实际应用中,学会采用模块化设计方法解决问题。

第六章:数组
重点内容:
1. 掌握数组的概念及一、二维数组的定义、初始化和引用方法;
2. 掌握用一、二维数组的数组名作为函数参数进行编程的方法;
3. 掌握用字符数组进行字符串处理操作的方法;
难点内容:
1. 字符数组与其它数组的区别;
2. 字符数组及字符串处理函数在字符串处理操作中的应用;

第七章:指针
重点内容:
1. 掌握指针的概念及其与数组之间的关系;
2. 掌握通过指针对一维数组进行操作的方法;
3. 掌握通过字符指针对字符串进行操作的方法;
4. 掌握一些常用的基本算法,如求最大最小值、排序、查找、插入、删除等;
5. 了解通过指针数组对多个字符串进行操作的方法;
6. 了解命令行参数的使用方法;
难点内容:
1.指针的概念以及一维、二维数组与指针之间的关系;
2.字符指针在字符串处理操作中的应用;
3.指向数组的指针与指针数组之间的区别;

第八章:结构体和共用体
重点内容:
1. 理解自定义数据类型(user defined data type)结构体的意义;
2. 掌握结构体的定义、引用方法、初始化方法;
3. 掌握结构体与数组、指针、函数的关系;
4. 了解链表的概念,用结构体建立链表的方法;
5. 了解共用体的概念及其使用;
难点内容:
1. 结构体的声明方法,结构体嵌套的成员引用、结构体指针变量的成员引用;
2. 使用结构体数组进行表格的管理与实现;
3. 指向结构体数组的指针;
4. 结构体在函数参数传递中的应用;
5. 对共用体的共用内存的理解;

第九章:文件操作
重点内容:
1. 了解文件内数据的组织形式;
2. 掌握C语言对文件的操作库函数(文件打开、文件关闭及文件读写函数);
难点内容:
1. fopen函数和fclose函数的使用方法,注意对文件进行读写之前应使用fopen函数打开文件,在使用结束后应使用fclose函数关闭文件。
2. 几种文件读写函数的区别及其灵活运用:
对指定文件进行一个字符输入/输出时使用fgetc、fputc函数;
对指定文件进行格式化读写使用fscanf、fprintf函数;
对指定文件进行块读写使用 fread、fwrite函数;
3. rewind和fseek文件定位函数的区别及其使用方法:
rewind函数强制使文件的位置指针指向文件的开头;
fseek函数控制文件位置的指针进行随机读写;

参考教材

[1] 苏小红等编,C语言大学实用教程(第3版),高等教育出版社,2012.
[2] P.J.Deitel 等,C大学教程(第六版),电子工业出版社,2011.

进阶教材

[1] K.N.King著,C语言程序设计:现代方法(第2版),人民邮电出版社,2010.

[2] Dennis M. Ritchie, Brian W. Kernighan著,徐宝文,李志等译,C程序设计语言 第2版·新版,机械工业出版社, 2004.

[3] Stephen Prata著,云巅工作室译,C Primer Plus(第五版),人民邮电出版社,2005.

[4] LinDen,P.V.D著,徐波译,C专家编程,人民邮电出版社,2008。

考核方式