C语言程序设计第一章

上传人:博****1 文档编号:569362598 上传时间:2024-07-29 格式:PPT 页数:50 大小:362.50KB
返回 下载 相关 举报
C语言程序设计第一章_第1页
第1页 / 共50页
C语言程序设计第一章_第2页
第2页 / 共50页
C语言程序设计第一章_第3页
第3页 / 共50页
C语言程序设计第一章_第4页
第4页 / 共50页
C语言程序设计第一章_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《C语言程序设计第一章》由会员分享,可在线阅读,更多相关《C语言程序设计第一章(50页珍藏版)》请在金锄头文库上搜索。

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 9899

8、-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程序举例 */#in

9、cludeint 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)#inclu

13、de命令 #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”项目,然后在右侧的“位置”文本框中输入保存的位置(也可单击文本框右侧的按钮,选择保存位置),再在“工程名称”文本框中输入工程名,如“proj11”

16、。(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的目标文

18、件。通常应首先编译程序主文件,然后再编译其他程序文件。若在编译过程中检查出语法错误,则在状态输出窗口显示出产生错误的程序行行号和错误原因,以便用户重新回到编辑窗口修改错误。2)连接程序)连接程序连接程序文件就是将一个程序中的主目标文件与其他目标文件和相关的库函数文件连接起来形成一个可执行的文件。具体连接操作是:执行“组建”“组建”命令即可。若连接过程没有发现任何错误,则表示连接成功,此时在状态输出窗口显示出“0 error(s),0 warning(s)”信息,若连接过程中发现有错误,则将在状态输出窗口显示出发生错误的文件、所在的行号和出错原因。用户应根据这些信息修改有关程序文件中的错误,然后再重新进行编译和连接。3) 运行程序运行程序 运行程序就是运行对程序编译和连接而生成的可执行文件。具体操作是:执行 “组建”(或Build)“运行”(或Execute)命令,会弹出如图1-8所示的对话框,单击“是”按钮,就会出现如图1-9所示的程序运行结果界面。本章小结本章小结 本章简要介绍程序的概念以及计算机程序设计语言的发展、C语言的发展与特点,并通过简单而典型的C语言程序实例,引入C程序的组成,最后介绍了使用Visual C+ 6.0环境运行一个C程序的基本方法与步骤。第第1章章 结束结束 谢 谢!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号