高级语言程序设计
分享
课程详情
课程评价
spContent=当今社会,微信让空间距离不再是沟通的障碍;手机支付让人们放弃了携带纸钞的豪气;共享单车和共享汽车让出行不再困难;而无人机、AlphaGo的成功将人工智能推向了新高度,而这一切都离不开计算机及其程序。这是一个智能机器快速代替人工的时代,如果你不想被打败,那就和我们一起来学习写程序吧。
—— 课程团队
课程概述

       本课程的教学目标是通过学习一种典型的程序设计语言——C语言,建立起程序设计的概念,掌握程序设计的基本方法和技巧,养成良好的程序设计风格,从而具备应用程序设计解决相关专业领域内实际问题的基本能力。本课程在系统介绍程序设计语言基本知识的基础上,注重程序设计思想及能力培养,并引入专业应用的实际问题和工程案例。 

       为编写UNIX操作系统,贝尔实验室的Ken Thompson和Dennis M. Ritchie设计了C语言。随后Windows、MacOS、Linux、Android等众多操作系统及大量应用软件都采用C语言作为程序设计语言。虽然自C语言诞生后,C++、Java、C#、PHP、Python、Matlab M、R等一系列语言被发明,并在不同软件开发领域获得广泛使用,但是C语言依然保持其旺盛的生命力。在近三年IEEE发布的编程语言排行榜中,C语言一直排在前两位。首先操作系统依然在使用C语言进行开发,其次在GPU计算等新技术领域依然优先使用C语言,另外众多语言或多或少吸收了C语言的营养。作为程序设计的初学者,C语言不是一门最简单的语言,但是一定会是一门受益终生的程序设计语言。

      本课程围绕如何运算、如何表达逻辑、如何处理集合数据、如何实现代码的分解与重用、如何实现基于内存地址的数据访问、如何表达复杂对象、如何实现数据永久存储、如何实现程序移植,系统介绍表达式运算、输入输出、顺序结构、选择结构、循环结构、数组、函数、指针、结构体、文件、预编译处理等内容。


授课目标
初步了解计算机,建立起程序设计的概念;通过学习用C语言编写程序,初步掌握程序设计方法,养成良好的程序设计风格;结合C语言,初步系统地学习面向过程和结构化程序设计的思想和方法;结合上机实践,使学生对程序设计有一个比较全面的、系统的了解,为学生学习程序设计打下一个良好基础。
课程大纲

第1周 程序设计入门

介绍了现代计算机的工作原理、问题求解与算法,同时介绍了主流的程序设计思想和程序设计语言。

第2周 数据表示与运算

从数据值计算的角度,学习标识符、数据类型、常量、变量、运算符和表达式。

第3周 基本语句与顺序结构

学习如何通过基本语句的堆砌实现顺序逻辑结构,并学习使用输入、输出函数库。

第4周 逻辑判断与选择结构

学习如何通过if-else语句和switch语句实现逻辑判断及其选择结构。

第5周 迭代计算与循环结构

学习如何通过while语句、for语句和do while语句实现迭代逻辑及其循环结构。

第6周 集合数据及其处理

学习如何通过一维数组、二维数组处理集合数据。

第7周 字符数据处理

学习如何通过字符数组及其相关函数处理字符串。

第8周 函数实现代码分解和重用

从分工和重用的角度,学习函数的基本概念,包括函数的定义、声明和调用。

第9周 递归及函数结构

学习递归函数的基本思想及其实现方法,分析函数引入带来的全局变量和局部变量等问题,并介绍了基于多文件的程序基本结构。

第10周 内存地址及其指针

从存储的角度,学习如何用地址直接处理数据,并引入指针的概念。

第11周 指针的应用

学习如何应用指针处理数组和函数,以及如何创建变量和动态长度数组。

第12周 复杂对象描述与结构体

学习如何通过结构体和共用体表达复杂数据结构。

第13周 链表及其处理

学习如何通过结构体实现复杂数据类型的定义,以链表为例。

第14周 预编译处理

学习如何通过预编译处理实现程序移植和泛化编程。

第15周 文件与数据永久存储

从数据永久存储角度介绍文件的基本概念和常用函数。


预备知识

本课程要求学习者熟悉Windows或Linux系统的基本操作。

证书要求

合格证书的成绩要求: 成绩在60(含)分以上,80分以下

优秀证书的成绩要求: 成绩在80(含)分以上


参考资料

参考教材

[1]  高克宁等. 程序设计基础(C语言)2版. 北京,清华大学出版社,2013.


  

开发工具

[1]  CodeBlocks

[2] VC++ 2010