




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C C语言程序设计语言程序设计第1章 C语言基础 熟练掌握:C程序的基本结构、C程序的编译环境。 掌握:运行一个简单的C语言程序。 了解:程序与程序设计语言、C语言的发展、C语言的标准及特点。 1.1 程序与程序设计语言 1.1.1 计算机与程序 计算机是怎样工作的呢?它又是如何懂得人的语言的呢?计算机是“聪明傻瓜”,不告诉它怎样干它什么也不会干,告诉它怎样干它会干得很好。 这就要使计算机明白一个个的命令,它就会按照你的命令去干。这种给计算机的命令,称为指令;指令是计算机要执行的一种基本操作命令,是对计算机进行程序控制的最小单位。指令由操作码和操作数构成,分别表示何种操作和存储地址。 一连串的
2、计算机指令的集合,叫作程序。程序即遵循一定规则完成指定工作的代码。程序算法数据结构程序设计方法语言工具和环境。 所谓程序,就是要计算机完成某一任务所规定的一系列动作或步骤。没有程序和程序设计,计算机将不能做任何事情,即程序(软件)是计算机的必要组成部分。1.1.2 计算机语言 1. 机器语言机器语言 机器语言是最底层的计算机语言,是用二进制代码指令表达的计算机语言,能被计算机硬件直接识别并执行,由操作码和操作数组成,如指令00111110,00000111。机器语言程序编写的难度较大且不容易移植,即针对一种计算机编写的机器语言程序不能在另一种计算机上运行。 机器语言被称为第一代计算机语言。2.
3、 汇编语言汇编语言 汇编语言是用助记符代替操作码,用地址符代替操作数的一种面向机器的低级语言,一条汇编指令对应一条机器指令。例如,用“ADD”代表加法,“MOV”代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。由于汇编语言采用了助记符,它比机器语言易于修改、编写、阅读,但用汇编远编写的程序(称为汇编语言源程序)机器不能直接执行,必须使用汇编程序把它翻译成机器语言即目标程序后,才能被机器理解、执行,这个编译的过程称为汇编。 汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制
4、的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。 汇编语言和机器语言都是面向机器的语言,称为低级语言。 3. 高级语言高级语言 高级语言是直接面向过程的程序设计语言,它与具体的计算机的硬件无关。用高级语言编写的源程序可以直接运行在不同机型上,因而具有通用性。但是,计算机不能直接识别和运行高级语言程序,必须经过“翻译”。所谓“翻译”,就是由一种特殊程序把源程序转换成目标程序,这种特殊程序被称为语言处理程序。高级语言的翻译方式有两种:一种是“编译方式”,另一种是“解释方式”。编译方式是通过编译程序将整个高级语言源程序翻译成目标程序,再
5、经过连接程序生成可执行的程序(.EXE);解释方式是通过解释程序边解释边执行,不产生目标程序。4.面向对象的程序设计语言面向对象的程序设计语言 面向对象的程序设计语言,一般具有可视化、网络化、多媒体等功能。目前比较流行的有Visual Basic、Visual C+、Java、Delphi、PowerBuild等。 1.1.3 高级语言程序的开发过程 程序设计就是分析问题、设计算法、编写程序、调试程序的过程。在最初的程序设计步骤中,把解决问题的过程看成是数据被加工的过程,基于这种方法的程序设计称为面向过程的程序设计。 C语言是面向过程的结构化程序设计语言,它适合用自顶向下的软件开发方法。该方法
6、采用自顶向下、逐步求精的设计方法,主要有 6个步骤:确定问题、分析问题、设计算法、实现算法、程序的测试与调试和程序的维护。 1.2 C语言概述1.2.1 C语言的发展 在20世纪60年代,BCPL语言是计算机软件人员在开发系统软件时,作为记述语言使用的一种程序语言。1970年,美国贝尔实验室的Ken Thompson在软件开发工作中,继承和发展了BCPL语言的特点,进而提出了“B”语言。当时最新型的小型计算机,美国DEC公司的PDP-7型机中的UNIX操作系统就是使用B语言记述和开发的。但B语言过于简单,功能有限。1972年至1973年间,美国贝尔实验室Dennis MRitchie在B语言的
7、基础上设计出了C语言。 早期的C 语言主要是用于UNIX系统。后来,C语言多次多了改进,但主要还是在贝尔实验室内部使用。直到1975年UNIX第6版公布后,C语言的突出优点才引起人们的普遍注意。由于语言的强大功能和各方面的优点逐渐为人们认识,到了20世纪80年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。现在C语言已经风靡全世界,成为世界上应用最广泛的几种计算机语言之一。1.2.2 C语言的标准 1990年,国际化标准组织ISO(Intrernational Standard Organization)接受了87 ANSI C为ISO C的标准(ISO 98
8、99-1990)。目前流行的C编译系统都是以它为基础的,但不同版本的C编译系统所实现的语言功能和语法规则有略有差别。本书的叙述基本上以ANSI C为基础。 1.2.3 C语言的特点 C语言的主要特点如下:(1)简洁、紧凑、灵活。(2)模块化、结构化。(3)移植性强。(4)C语言允许直接访问物理地址,可以直接对硬件进行编程操作,因此C即具有高级语言的功能,又具有低级语言的许多功能,可用来写系统软件。(5)生成目标代码质量高,程序执行效率高。1.2.3 C语言的特点1.3 C程序的基本结构 1.3.1 一个简单的C程序 【例例1-1】 一个简单的C程序。/* Char1_1.C:C程序举例 */#
9、includeint main()printf(“Welcome to C class!n”); /*显示输出 字符 串“Welcome to C class!”*/ return 0;1.3.1 一个简单的C程序 程序的运行结果为: Welcome to C class! 其中,int main()指定了程序的主函数,每一个C程序都必须有一个main函数。函数名是main,函数体由一对花括号括起来。在主函数内有两个语句,语句最后有一个分号。#include是一条预处理命令,这条命令在编译之前预处理阶段执行。1.3.2 C1.3.2 C程序的组成程序的组成 由【例1-1】可以看到,一个C程序通
10、常由函数、语句、输入/输出和预处理命令等几个基本部分组成。 1. 函数 函数必须有自己的名称用来加以识别,但是main函数却是不能更改名称的。因为编译器在编译程序时,会从main函数的位置开始编译,也就是说,main函数是整个程序的入口,如果没有这个函数,就无法完成编译工作。1.3.2 1.3.2 C程序的组成程序的组成一般函数的结构如下: 类型修饰符 函数名(形式参数表) 函数体 其中,类型修饰符表示函数的返回值类型,函数体必须包括在左花括号“”和右花括号“”中,左花括号表示函数的起始位置,右花括号表示函数的结束位置;系统将通过函数名调用该函数。例如,主函数的结构如下:int main()
11、/* int表示该函数返回值为整型, 形式参数表为空 */ 函数体 return 0; 说明:在C语言程序中,参数部分写为“void”或空,表示该函数没有参数,只执行一个过程。函数的写法有多种,在后面的章节将详细介绍。 2. 语句 程序都是以行为单位,一行C程序的代码就是一条语句,一个函数是由多条语句行构成,每条语句最后都有一个分号(;)标识。在一个函数中语句分为声明语句和执行语句。 1)声明语句 #define NUM 35 /*声明一个符号常量NUM*/ int x,y; /*声明两个整型变量x和y */2)执行语句 执行语句是在程序执行时发出的某种动作。可执行语句由操作和操作的内容组成。
12、如: printf(welcome to C class!n); printf(%d,%dn,x,y);3.注释部分 程序的注释在程序的编写过程中是非常重要的工作。一个没有程序注释的程序就像一个没有使用说明书的软件。 C的程序注释方式如下: /注释的内容 或 /*注释的内容*/ 注释以“/”开头,其后是注释文字,可一直延续到该行行尾。“/*注释的内容*/”是另一种方式,注释文字夹在“/*”和“*/”之间,这样的注释不但可以出现在行尾,也可以出现在一行中的其他位置,还可以跨越多行。4.编译预处理 预处理命令不是C语言的一部分,它只是用来扩充C程序设计的环境。常用的预处理命令有两种。 1)#inc
13、lude命令 #include命令也称文件包含命令,其作用是将指定的文本文件引入到程序该点处,该文本文件包含了许多函数的定义。例如,之前提到的printf函数是C语言中实现输出的函数,它的定义就在“stdio.h”这个头文件中,所以在该函数之前,必须先引入#include。 2)#define命令 #define命令用来定义一个符号常量。例如: #define PI 3.14159265.保留字和标识符 1)保留字 所谓保留字,就是C语言中已有的具有特殊含义的字符符号。这些保留字不能用于其他目的。 2)标识符 所谓标识符,就是程序设计人员自己定义的表达一定含义的字符符号,如函数名、变量名、常量
14、名等。标识符是用户自己定义的,但也必须遵循以下规则: (1)标识符的第一个字符必须是字母或下划线,后面可以由字母、下划线或数字组成。 (2)C语言规定不能使用保留字作为标识符,例如,不能将标识符命名为int、float、 main等。但是标识符中可以包含保留字。 (3)符号遵循见名知义原则,即一看到标识符就清楚它所表达的含义。1.4 运行C程序的步骤和方法1.4.1 C程序编译环境介绍 本书采用的编译环境是中文版Visual C+ 6.0。 Visual C+ 6.0是美国微软公司研制开发的C+语言版本,它是一个集C+程序的编辑、编译、调试、运行和在线帮助等功能及可视化软件开发功能为一体的软件
15、开发工具,或称开发环境、开发系统等。本节对其作简单介绍,目的是让读者掌握编辑、编译和运行一个C+控制台应用程序(console application pragram)的简要过程 。1.4.2 运行一个简单C语言程序 1.创建工程创建工程 (1)启动Visual C+ 6.0后,执行“文件”“新建”命令,弹出如图1-2所示的“新建”对话框 。 (2)在“新建”对话框中,单击“工程”选项卡,在左边的列表框中选择“Win32 Console Application”项目,然后在右侧的“位置”文本框中输入保存的位置(也可单击文本框右侧的按钮,选择保存位置),再在“工程名称”文本框中输入工程名,如“p
16、roj11”。 (3)单击“确定”按钮,弹出如图1-3所示的“Win32 Console Application-步骤1 共1步”对话框,采用默认选项,单击“完成”按钮。 (4)这时,弹出如图1-4所示的“新建工程信息”对话框,这里显示新建工程类型、目录等信息。 (5)单击“确定”按钮。这时已新建一个工程,工程名为“proj11”,位置在“E:XIANSHI” 下。 2.新建源文件新建源文件 在Visual C+ 6.0集成开发操作界面下,为了建立项目(即整个程序)中的每个程序文件和头文件,需要执行菜单栏中的“文件”“新建”菜单项,在新建对话框,再切换到“文件”选项卡,如图1-5所示。在“新建
17、”对话框中的列表框中,选择“C+ Source File”文件类型项,在文件名的文本框中,输入文件名“例题1-2.c”,如图1-6所示。这时,“确定”按钮由灰色变为可用的黑色,单击“确定”按钮,则可新建一个C+源程序文件。 单击“确定”按钮,关闭该对话框,回到Visual C+ 6.0集成开发环境界面。3.编辑源文件编辑源文件 在图1-7所示的源程序编辑界面中输入例题1-2中的源程序代码。4.编译、连接、运行程序编译、连接、运行程序 1) 编译程序编译程序 当输入和编辑好一个程序文件后,运行该程序文件之前要先进行编译。执行 “组建”“编译”命令,即可编译在编辑窗口中打开的源程序文件,生成一个扩展名为.obj的目标文件。通常应首先编译程序主文件,然后再编译其他程序文件。 若在编译过程中检查出语法错误,则在状态输出窗口显示出产生错误的程序行行号和错误原因,以便用户重新回到编辑窗口修改错误。2)连接程序)连接程序 连接程序文件就是将一个程序中的主目标文件与其他目标文件和相关的库函数文件连接起来形成一个可执行的文件。 具体连接操作是:执行“组建”“组建”命令即可。若连接过程没有发现任何错误,则表示连接成功,此时在状态输出窗口显示出“0 error(s),0 warning(s)”信息,若连接过程中发现有错误,则将在状态输出窗口显示出发生错误的文件、所在的行号和出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度水电暖设施设备采购及安装服务合同范本
- 2025版售楼部建筑施工与物业管理服务合同
- 2025年特色商业街门面房屋租赁服务协议
- 2025年农旅融合项目特色烧鸭供应链合作协议
- 河北省安平县2025年上半年公开招聘城市协管员试题含答案分析
- 2025年度厨房设备环保检测与认证服务合同
- 2025年度食堂废弃物处理承包合同范例
- 2025第二行政小区垃圾分类宣传与保洁服务合同
- 2025版食用油企业安全生产责任书合同范本
- 贵州省湄潭县2025年上半年公开招聘村务工作者试题含答案分析
- GB/T 5832.1-2016气体分析微量水分的测定第1部分:电解法
- GB/T 35156-2017结构用纤维增强复合材料拉索
- GB/T 30790.6-2014色漆和清漆防护涂料体系对钢结构的防腐蚀保护第6部分:实验室性能测试方法
- 信息互联互通标准化成熟度测评-医科总医院
- FABE销售法则销售培训课件
- 电力电子技术第五版(王兆安)课件全
- 人工智能导论课件
- 有效沟通:金字塔原则课件
- 苏科版三年级上册劳动第二课《学定时》课件(定稿)
- 中国古代的美育思想课件
- 心理学专业英语基础51057048
评论
0/150
提交评论