模块一 程序设计基础 (一)开发环境部分

26
模模模模模模模模模模 模模模模模模 模模模模模模 (一) 模模模模模模 (一) 模模模模 模模模模

Upload: colin-vega

Post on 31-Dec-2015

89 views

Category:

Documents


9 download

DESCRIPTION

模块一 程序设计基础 (一)开发环境部分. 基础模块. 课程安排. 理论授课: 56 课时、上机 24 课时 成绩考核:平时(实验、作业) 20% 期中考试: 20% 期末考试(笔试、闭卷): 60% 授课教师:陈佳泉 ( 613837 ). 计算机专业课的设置. 软件工程方向 C 语言、 VB 、 Java 语言、 JSP 、 ASP 、 .NET 、网页制作、数据库; ITAT 竞赛、程序设计竞赛、蓝桥杯竞赛 计算机网络方向 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 模块一 程序设计基础 (一)开发环境部分

模块一模块一 程序设计基础程序设计基础(一)开发环境部分(一)开发环境部分模块一模块一 程序设计基础程序设计基础(一)开发环境部分(一)开发环境部分

基础模块基础模块基础模块基础模块

Page 2: 模块一 程序设计基础 (一)开发环境部分

课程安排 理论授课: 56 课时、上机 24 课时 成绩考核:平时(实验、作业) 20%

期中考试: 20%

期末考试(笔试、闭卷): 60% 授课教师:陈佳泉 ( 613837 )

Page 3: 模块一 程序设计基础 (一)开发环境部分

计算机专业课的设置 软件工程方向 C 语言、 VB 、 Java 语言、 JSP 、 ASP 、 .NET 、网页制

作、数据库; ITAT 竞赛、程序设计竞赛、蓝桥杯竞赛 计算机网络方向 网络基础、组网技术、综合布线、交换与路由、网络 安全、

思科网校;网络设备调试员、网络工程师 硬件方向 计算机组装与维护、计算机电路、嵌入式、 Linux 、 C 语

言 多媒体技术方向 Flash 、 Photoshop 、 Autocad 等

Page 4: 模块一 程序设计基础 (一)开发环境部分

预备知识 计算机系统组成 软件系统 硬件系统 计算机二进制、十进制、十六进制转换 原码、反码、补码 数据存储、指令流程、总线结构

Page 5: 模块一 程序设计基础 (一)开发环境部分

模块一 开发环境部分学习内容模块一 开发环境部分学习内容 CC 语言的传奇历史语言的传奇历史

游戏、黑客、图灵奖游戏、黑客、图灵奖 CC 语言教给我们的事语言教给我们的事

不同专业的不同需求不同专业的不同需求 计算思维计算思维

什么是“编程”什么是“编程”

Page 6: 模块一 程序设计基础 (一)开发环境部分

两个骨灰级游戏玩家两个骨灰级游戏玩家

Ken Thompson江湖人称 ken

Dennis M. RitchieDennis M. Ritchie江湖人称 江湖人称 dmrdmr

Page 7: 模块一 程序设计基础 (一)开发环境部分

他们干了什么?他们干了什么? 19691969 年,年, kenken 和和 dmrdmr 梦想能遨游宇宙梦想能遨游宇宙 kenken 设计了一款电子游戏设计了一款电子游戏————““ Space TravelSpace Travel””

游戏在游戏在 PDP-7PDP-7 小型机上开发,因为这台机器免费小型机上开发,因为这台机器免费 免费的机器没有操作系统免费的机器没有操作系统 玩游戏之前,先给玩游戏之前,先给 PDP-7PDP-7 做个操作系统,命名为“做个操作系统,命名为“ UNIXUNIX””

汇编编写汇编编写 UNIXUNIX 太慢,又没有称手的高级语言,怎么办?太慢,又没有称手的高级语言,怎么办? dmrdmr 设计了一种新的高级语言,命名为“设计了一种新的高级语言,命名为“ CC 语言”语言” 19831983 年,因为年,因为 UNIXUNIX 和和 CC 语言的巨大成功, 语言的巨大成功, kenken 和和 dmrdmr

共同获得当年度的计算机界最高奖共同获得当年度的计算机界最高奖————图灵奖图灵奖

Page 8: 模块一 程序设计基础 (一)开发环境部分

KenKen 和和 dmrdmr 被尊为黑客的鼻祖被尊为黑客的鼻祖 他们未对他们未对 UNIXUNIX 和和 CC 语言申请任何版权或专语言申请任何版权或专

利利 UNIXUNIX 和和 CC 语言是黑客世界里两大神器语言是黑客世界里两大神器 黑客精神黑客精神

做事情以兴趣为出发点,并不在乎未来会怎样做事情以兴趣为出发点,并不在乎未来会怎样 极富钻研精神,喜欢迎接挑战极富钻研精神,喜欢迎接挑战 乐于分享,不计回报乐于分享,不计回报

Page 9: 模块一 程序设计基础 (一)开发环境部分

今天的今天的 CC 语言语言

编程语言受欢迎程度排行编程语言受欢迎程度排行

Page 10: 模块一 程序设计基础 (一)开发环境部分

CC 语言“好”吗?语言“好”吗?CC 诡异离奇,缺诡异离奇,缺陷重重,并获得陷重重,并获得巨大成功 巨大成功

Page 11: 模块一 程序设计基础 (一)开发环境部分

CC 语言的爱与恨语言的爱与恨爱爱

信任程序员信任程序员 给程序员最大的发给程序员最大的发挥空间挥空间

运行效率高运行效率高

恨恨 无限制的自由无限制的自由 如程序员不自我如程序员不自我约束,代码将是约束,代码将是灾难灾难不安全不安全不稳定不稳定不易于维护不易于维护

Page 12: 模块一 程序设计基础 (一)开发环境部分

HIT-C ProgrammingHIT-C Programming

CC 程序设计语言程序设计语言 是一种高级语言是一种高级语言

并不“高级”,只是相对低级语言在一个高的级别上进行编程并不“高级”,只是相对低级语言在一个高的级别上进行编程 实际上是一种介于高级语言和低级语言之间的语言实际上是一种介于高级语言和低级语言之间的语言

历史悠久,战勋卓著历史悠久,战勋卓著 诞生于诞生于 2020 世纪世纪 7070 年代初,成熟于年代初,成熟于 8080 年代年代 很多重量级软件都是用很多重量级软件都是用 CC 语言写的语言写的

上天入地,无所不能上天入地,无所不能 几乎没有不能用几乎没有不能用 CC 语言实现的软件,没有不支持语言实现的软件,没有不支持 CC 语言的系统语言的系统

很多流行语言、新生语言都借鉴了它的思想、语很多流行语言、新生语言都借鉴了它的思想、语法法 从从 C++C++ ,到,到 JavaJava ,再到,再到 C#C#

Page 13: 模块一 程序设计基础 (一)开发环境部分

CC 语言适合做什么语言适合做什么 选语言的标准是,适合的才是最好的选语言的标准是,适合的才是最好的

编写操作系统和基础工具编写操作系统和基础工具 对运行效率要求较高的系统对运行效率要求较高的系统

设备驱动程序,高性能、实时中间件,设备驱动程序,高性能、实时中间件,嵌入式领域,并发程序设计等嵌入式领域,并发程序设计等

继承和维护已有的继承和维护已有的 CC 代码代码 交流、笔试、面试时最常见的语言交流、笔试、面试时最常见的语言

Page 14: 模块一 程序设计基础 (一)开发环境部分

如何学如何学 CC 语言语言注定与注定与 CC 语言为伴的人语言为伴的人

CC 语言易学,但不易真正掌握语言易学,但不易真正掌握 多练、多读优秀代码多练、多读优秀代码

要编程,但不用要编程,但不用 CC 语言的人语言的人 透过透过 CC 语言窥探计算机底层原理语言窥探计算机底层原理 掌握最流行的语法形式掌握最流行的语法形式 了解基本的程序设计思维了解基本的程序设计思维

永远不编程的人永远不编程的人 通过通过 CC 语言,更好地了解计算机,了解计算思维语言,更好地了解计算机,了解计算思维 通过全国计算机等级考试二级通过全国计算机等级考试二级

所有人所有人 了解它,爱上它了解它,爱上它

Page 15: 模块一 程序设计基础 (一)开发环境部分

HIT-C ProgrammingHIT-C Programming

程序开发步骤程序开发步骤

What is to be doneWhat is to be done ??

– 可执行文件可执行文件– 扩展名为扩展名为 ..exeexe 的文件的文件

需求分析( Analysis )

设计(Design )

编码编码(( WriteWrite ))

编辑编辑(( EditEdit ))

•编译编译(( CompilCompilee ))

连接连接(( LinkLink ))

•运行运行 ( ( RunRun ))

•调试调试(( DebugDebug ))

– How is it to be doneHow is it to be done ??

– 扩展名为扩展名为 ..cc 的文件(对的文件(对 CC 语言而语言而言) 言)

– 扩展名为扩展名为 ..objobj 的文件 的文件

Page 16: 模块一 程序设计基础 (一)开发环境部分

开发开发 CC 程序的步骤程序的步骤 1.1. 设计算法设计算法 2. 2. 编写程序源代码编写程序源代码

把自己的意图写入源代码把自己的意图写入源代码 3. 3. 编辑源程序编辑源程序 4. 4. 编译和连接编译和连接 5. 5. 调试程序调试程序 直到改正了所有的直到改正了所有的

编译错误和运行错误编译错误和运行错误 6. 6. 运行程序运行程序

Page 17: 模块一 程序设计基础 (一)开发环境部分

CC 程序的编译环境程序的编译环境 Visual C++Visual C++

WindowsWindows 平台上最流行的平台上最流行的 C/C++C/C++集成开发环境之一集成开发环境之一 Code::BlocksCode::Blocks (简称(简称 CBCB ,, http://www.codeblocks.org))

是近年出现并获得关注的是近年出现并获得关注的 C/C++C/C++ 开发环境 开发环境 CBCB 的功能远远优于的功能远远优于 TCTC ,也优于,也优于 VC 6.0 VC 6.0 CBCB只是一个只是一个 IDEIDE (集成开发环境),没有内置的编译器和(集成开发环境),没有内置的编译器和

调试器调试器 但可以支持多种编译器(不包括但可以支持多种编译器(不包括 TCTC ),例如),例如 GCCGCC 编译器编译器

和和 GDBGDB 调试器 调试器 Turbo C2.0 Turbo C2.0 (或(或 WIN-TCWIN-TC ))

早已淘汰早已淘汰

Page 18: 模块一 程序设计基础 (一)开发环境部分

VC++6.0VC++6.0 的初始界面的初始界面

Page 19: 模块一 程序设计基础 (一)开发环境部分
Page 20: 模块一 程序设计基础 (一)开发环境部分

HIT-C ProgrammingHIT-C Programming

建立新文件

保存文件

编译

运行

在编译之前, VC 先弹出对话框,询问是否建立一个默认的项目工作区。 VC必须有项目才能编译,所以这里必须选择“ Yes”。系统在保存 .c文件的目录里自动生成与 C源文件同名的 .dsw 和 .dsp 等文件。以后可直接打开这些文件来修改程序,不必再重复上面的过程

Page 21: 模块一 程序设计基础 (一)开发环境部分
Page 22: 模块一 程序设计基础 (一)开发环境部分

CBCB 的初始界面的初始界面

Page 23: 模块一 程序设计基础 (一)开发环境部分
Page 24: 模块一 程序设计基础 (一)开发环境部分

认识 认识 CC 语言从运行这个程序开始语言从运行这个程序开始第一个程序范例第一个程序范例打印打印““ Hello World!”Hello World!”#include#include <stdio.h> <stdio.h>main()main(){{

printf("Hello world!\n");printf("Hello world!\n");}}

考考你:考考你: 如何把如何把 "Hello""Hello" 和和 "world!""world!" 分别打印在两行?分别打印在两行?

Preprocessor instructionC has small instruction set,

though the actual implementations include extensive library functions

Every C program must have a main functionThe execution of C program starts from main() function

Page 25: 模块一 程序设计基础 (一)开发环境部分

如何学好编程?如何学好编程?多读 多读 多写多写擅于利用身边的工具与环境擅于利用身边的工具与环境

Knowlegde, Practice, SkillsKnowlegde, Practice, Skills

Page 26: 模块一 程序设计基础 (一)开发环境部分

Questions and answers