基础模块 模块一 程序设计基础 (一)开发环境部分
课程安排 理论授课:56课时、上机24课时 成绩考核:平时(实验、作业)20% 期中考试:20% 期末考试(笔试、闭卷):60% 授课教师:陈佳泉 (613837)
计算机专业课的设置 软件工程方向 C语言、VB、Java语言、JSP、ASP、.NET、网页制作、数据库;ITAT竞赛、程序设计竞赛、蓝桥杯竞赛 计算机网络方向 网络基础、组网技术、综合布线、交换与路由、网络 安全、思科网校;网络设备调试员、网络工程师 硬件方向 计算机组装与维护、计算机电路、嵌入式、Linux、C 语言 多媒体技术方向 Flash、Photoshop、Autocad等
预备知识 计算机系统组成 软件系统 硬件系统 计算机二进制、十进制、十六进制转换 原码、反码、补码 数据存储、指令流程、总线结构
模块一 开发环境部分学习内容 C语言的传奇历史 游戏、黑客、图灵奖 C语言教给我们的事 不同专业的不同需求 计算思维 什么是“编程”
两个骨灰级游戏玩家 Dennis M. Ritchie 江湖人称 dmr Ken Thompson 江湖人称 ken
他们干了什么? 1969年,ken和dmr梦想能遨游宇宙 ken设计了一款电子游戏——“Space Travel” 游戏在PDP-7小型机上开发,因为这台机器免费 免费的机器没有操作系统 玩游戏之前,先给PDP-7做个操作系统,命名为 “UNIX” 汇编编写UNIX太慢,又没有称手的高级语言,怎么办? dmr设计了一种新的高级语言,命名为“C语言” 1983年,因为UNIX和C语言的巨大成功, ken和dmr 共同获得当年度的计算机界最高奖——图灵奖
Ken和dmr被尊为黑客的鼻祖 他们未对UNIX和C语言申请任何版权或专利 UNIX和C语言是黑客世界里两大神器 黑客精神 做事情以兴趣为出发点,并不在乎未来会怎样 极富钻研精神,喜欢迎接挑战 乐于分享,不计回报
今天的C语言 编程语言受欢迎程度排行
C语言“好”吗? C诡异离奇,缺陷重重,并获得巨大成功
C语言的爱与恨 恨 爱 无限制的自由 信任程序员 如程序员不自我约束,代码将是灾难 给程序员最大的发挥空间 运行效率高 不安全 不稳定 不易于维护 爱 信任程序员 给程序员最大的发挥空间 运行效率高
C程序设计语言 是一种高级语言 历史悠久,战勋卓著 上天入地,无所不能 很多流行语言、新生语言都借鉴了它的思想、语法 并不“高级”,只是相对低级语言在一个高的级别上进行编程 实际上是一种介于高级语言和低级语言之间的语言 历史悠久,战勋卓著 诞生于20世纪70年代初,成熟于80年代 很多重量级软件都是用C语言写的 上天入地,无所不能 几乎没有不能用C语言实现的软件,没有不支持C语言的系统 很多流行语言、新生语言都借鉴了它的思想、语法 从C++,到Java,再到C# 无从考证究竟有多少软件用C语言编写。但我们赖以生存的软件中确实大多数都是用C语言编写。 目前新开发的软件中,尤其在Windows上,使用C语言的越来越少了,其小弟C++、Java和C#正如火如荼。 HIT-C Programming
C语言适合做什么 选语言的标准是,适合的才是最好的 编写操作系统和基础工具 对运行效率要求较高的系统 继承和维护已有的C代码 设备驱动程序,高性能、实时中间件, 嵌入式领域,并发程序设计等 继承和维护已有的C代码 交流、笔试、面试时最常见的语言
如何学C语言 注定与C语言为伴的人 要编程,但不用C语言的人 永远不编程的人 所有人 C语言易学,但不易真正掌握 多练、多读优秀代码 掌握最流行的语法形式 了解基本的程序设计思维 永远不编程的人 通过C语言,更好地了解计算机,了解计算思 维 通过全国计算机等级考试二级 所有人 了解它,爱上它
程序开发步骤 What is to be done? 调试(Debug) 运行 (Run) 连接(Link) 编译(Compile) 可执行文件 扩展名为.exe的文件 编译(Compile) 扩展名为.obj的文件 编译器(Compiler)把源代码转换为可被计算机理解的机器代码,把机器代码以可执行文件(Executable File)的形式保存在磁盘上,一种程序设计语言对应一种编译器 编辑(Edit) 扩展名为.c的文件(对C语言而言) 编码(Write) 设计(Design) How is it to be done? 需求分析(Analysis) What is to be done? HIT-C Programming
开发C程序的步骤 1.设计算法 2. 编写程序源代码 3. 编辑源程序 4. 编译和连接 5. 调试程序 直到改正了所有的编译错误和运行错误 把自己的意图写入源代码 3. 编辑源程序 4. 编译和连接 5. 调试程序 直到改正了所有的编译错误和运行错误 6. 运行程序
C程序的编译环境 Visual C++ Code::Blocks(简称CB,http://www.codeblocks.org) Windows平台上最流行的C/C++集成开发环境之一 Code::Blocks(简称CB,http://www.codeblocks.org) 是近年出现并获得关注的C/C++开发环境 CB的功能远远优于TC,也优于VC 6.0 CB只是一个IDE(集成开发环境),没有内置的编译器和调试器 但可以支持多种编译器(不包括TC),例如GCC编译器和GDB调试器 Turbo C2.0 (或WIN-TC) 早已淘汰
VC++6.0的初始界面
建立新文件 保存文件 编译 运行 在编译之前,VC先弹出对话框,询问是否建立一个默认的项目工作区。VC必须有项目才能编译,所以这里必须选择“Yes”。系统在保存.c文件的目录里自动生成与C源文件同名的.dsw和.dsp等文件。以后可直接打开这些文件来修改程序,不必再重复上面的过程 美国微软公司出品的Visual C++是Windows平台上最流行的C/C++集成开发环境之一。 从1993年发行1.0版本开始,历经多年锤炼,于2005年推出最新的Visual C++ 2005。但因为Visual C++ 2003及以后的版本与.NET平台等很多软件硬性结合在一起,过于庞大,安装过程缓慢且烦琐,所以并不适合初学者。本书将介绍如何在更易获得的Visuall C++ 6.0(以下简称VC)下开发和调试C语言程序。 HIT-C Programming
CB的初始界面
认识 C语言从运行这个程序开始 第一个程序范例 打印“Hello World!” #include <stdio.h> main() { printf("Hello world!\n"); } 考考你: 如何把"Hello"和"world!"分别打印在两行? Preprocessor instruction C has small instruction set, though the actual implementations include extensive library functions Every C program must have a main function The execution of C program starts from main() function
Knowlegde, Practice, Skills 如何学好编程? 多读 多写 擅于利用身边的工具与环境 Knowlegde, Practice, Skills
Questions and answers