




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章第一章l 主要内容主要内容1.1 语言出现的历史背景语言出现的历史背景1.2 程序的特点程序的特点1.3 简单的简单的C C语言程序介绍语言程序介绍1.4 运行程序的步骤和方法运行程序的步骤和方法l 本章要点本章要点 1.1 语言出现的历史背景语言出现的历史背景1.1.1 1.1.1 程序设计语言程序设计语言一、概念:一、概念:程序设计语言是程序设计人员和计算机程序设计语言是程序设计人员和计算机进行会话的语言,它遵循一定的规则和形式,构进行会话的语言,它遵循一定的规则和形式,构成程序的实现工具。成程序的实现工具。二、发展:经历了四代二、发展:经历了四代、第一代语言:、第一代语言:面向机器
2、的机器语言(低级语言)面向机器的机器语言(低级语言) 概念:概念:机器语言是以计算机硬件能直接执行和理机器语言是以计算机硬件能直接执行和理解的指令系统为基础而形成的语言,它为特定的解的指令系统为基础而形成的语言,它为特定的计算机而设计。相应机器语言编写的程序称为机计算机而设计。相应机器语言编写的程序称为机器语言程序。器语言程序。特点:特点:a、优点:质量高、运行速度快、占用资、优点:质量高、运行速度快、占用资 源少;源少;b、缺点:不易阅读理解、编写难、通用、缺点:不易阅读理解、编写难、通用 性差。性差。、第二代语言:、第二代语言:汇编语言汇编语言特点:特点:汇编语言是一种符号化了的机器语言,
3、即汇编语言是一种符号化了的机器语言,即用助记符代替机器语言的二进制代码。汇编语言用助记符代替机器语言的二进制代码。汇编语言的设计在一定程度上克服了机器语言的不足,同的设计在一定程度上克服了机器语言的不足,同时保留了机器语言的长处。时保留了机器语言的长处。、第三代语言:、第三代语言:面向过程的高级语言面向过程的高级语言高级语言是大量接近自然语言的程序设计语言,高级语言是大量接近自然语言的程序设计语言,程序具有很强的通用性。这些语言面向用计算机程序具有很强的通用性。这些语言面向用计算机求解问题的过程,不依赖具体机器,与特定机器求解问题的过程,不依赖具体机器,与特定机器相分离,采用接近自然语言的词汇
4、。如:相分离,采用接近自然语言的词汇。如:BASICBASIC、PASCALPASCAL、C C、FORTRANFORTRAN、COBOLCOBOL语言等。语言等。、第四代语言:、第四代语言:面向对象的高级语言面向对象的高级语言面向求解问题本身的高级语言,如面向求解问题本身的高级语言,如C C等。等。 1.1.2 1.1.2 语言出现的历史背景语言出现的历史背景早期的操作系统软件主要是用汇编语言编写的。早期的操作系统软件主要是用汇编语言编写的。由于汇编语言依赖于计算机硬件,程序的可读性由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差,所以为了提高系统软件的和可移植性都比较差,所以为
5、了提高系统软件的可读性和可移植性,最好改用高级语言。但是,可读性和可移植性,最好改用高级语言。但是,一般高级语言难以实现汇编语言的某些功能(汇一般高级语言难以实现汇编语言的某些功能(汇编语言可以直接对硬件进行操作,例如对内存地编语言可以直接对硬件进行操作,例如对内存地址的操作、位操作等)。人们希望找到一种兼具址的操作、位操作等)。人们希望找到一种兼具一般高级语言和低级语言优点的语言,于是,一般高级语言和低级语言优点的语言,于是,语言就在这种环境下应运而生了。语言就在这种环境下应运而生了。 1.2 语言的特点语言的特点(1 1)语言简洁、紧凑,使用方便、灵活。)语言简洁、紧凑,使用方便、灵活。3
6、232个关键字、个关键字、9 9种控制语句,程序形式自由。种控制语句,程序形式自由。(2 2)运算符丰富。)运算符丰富。3434种运算符。种运算符。(3 3)数据类型丰富,具有现代语言的各种数)数据类型丰富,具有现代语言的各种数 据结构。据结构。(4 4)具有结构化的控制语句,是完全模块化)具有结构化的控制语句,是完全模块化和结构化的语言。和结构化的语言。 (5 5)语法限制不太严格,程序设计自由度大。)语法限制不太严格,程序设计自由度大。 (6 6)允许直接访问物理地址,能进行位)允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可操作,能实现汇编语言的大部分功能,可直接对硬件
7、进行操作,兼有高级和低级语直接对硬件进行操作,兼有高级和低级语言的特点言的特点 。(7 7)生成目标代码质量高,程序执行效)生成目标代码质量高,程序执行效率高。只比汇编程序生成的目标代码效率率高。只比汇编程序生成的目标代码效率低低1010-20%-20%。(8 8)程序可移植性好)程序可移植性好( (与汇编语言比与汇编语言比) ),基本上不做修改就能用于各种型号的计算基本上不做修改就能用于各种型号的计算机和各种操作系统。机和各种操作系统。 C+C+是由于开发大型应用软件的需是由于开发大型应用软件的需要而产生的,并不是所有的人都要去编要而产生的,并不是所有的人都要去编写大型软件写大型软件。面向对
8、象的基础是面向过程。面向对象的基础是面向过程。C+C+是面向对象的语言,是面向对象的语言,C C是面向过程的,学是面向过程的,学起来比起来比C C语言困难得多,所以不太适合程语言困难得多,所以不太适合程序设计的初学者。序设计的初学者。既然有了面向对象的既然有了面向对象的C+C+语言,为语言,为什么还要学习什么还要学习C C语言?语言? 1.3 简单的简单的C语言程序介绍语言程序介绍#include void main( ) printf (This is a C program.n); /*文件包含*/*主函数 */*函数体开始*/*输出语句*/*函数体结束*/ mainmain- -主函数名
9、,主函数名, void void- -函数类型函数类型 每个每个C C程序必须有一个程序必须有一个主函数主函数mainmain 是函数开始和结束的标志是函数开始和结束的标志, ,不可省不可省 每个每个C C语句以分号结束语句以分号结束 使用标准库使用标准库函数时函数时应在程序开头一行写:应在程序开头一行写: #include stdio.h#include 说明:说明: 本程序的作用是输出一行信息本程序的作用是输出一行信息: :This is a C program.This is a C program.例例1.1 求两数之和。求两数之和。#include stdio.h#include v
10、oid main( ) void main( ) / /* *求两数之和求两数之和* */ / int int a,b,sum; a,b,sum; / /* *声明,定义变量为整型声明,定义变量为整型* */ / / /* *以下以下3 3行为行为C C语句语句 * */ / a=123; b=456; a=123; b=456; sum=a+b; sum=a+b; printf(sum printf(sum is %d is %dn,sum);n,sum); / /* * */ /表示注释。注释只是给人表示注释。注释只是给人看的看的, ,对编译和运行不起作用。所以可以用对编译和运行不起作用。
11、所以可以用汉字或英文字符表示,可以出现在一行中汉字或英文字符表示,可以出现在一行中的最右侧,也可以单独成为一行。的最右侧,也可以单独成为一行。说明:说明: 输出一行信息输出一行信息:sum is 579:sum is 579例例1.2 求求3个数中较大者。个数中较大者。#include stdio.h#include void main( ) void main( ) / /* * 主函数主函数* */ / int max(int x,int int max(int x,int y); y); / / 对被调用函数对被调用函数maxmax的声明的声明 * */ / int int a, b,
12、c; a, b, c; / /* *定义变量定义变量a a、b b、c c * */ / scanfscanf(d,d,d,&a,&b); d,&a,&b); / /* *输入变量输入变量a a和和b b的值的值* */ / c=max(a,b); c=max(a,b); / /* *调用调用maxmax函数函数, ,将得到的值赋给将得到的值赋给c c * */ / printf(maxprintf(max= =dn,cdn,c); ); / /* *输出输出c c的值的值* */ / 程序运行情况如下程序运行情况如下: 8,5 8,5 ( (输入输入8 8和和
13、5 5赋给赋给a a和和b)b) max=8 (max=8 (输出输出c c的值的值) )int max(int x,int y) int max(int x,int y) int z; int z; if (xy) z=x; if (xy) z=x; else z=y; else z=y; return (z); return (z); max(int x,int y)max(int x,int y) max(max(a,a,b);b); 本程序包括本程序包括mainmain和被调用和被调用函数函数maxmax两个函数。两个函数。maxmax函数的函数的作用是将作用是将x x和和y y中较大
14、者的值赋中较大者的值赋给变量给变量z z。returnreturn语句将语句将z z的值的值返回给主调函数返回给主调函数mainmain。 1.3 简单的简单的C语言程序介绍语言程序介绍(1) C(1) C程序是由函数构成的。这使得程序容易实现模程序是由函数构成的。这使得程序容易实现模块化。块化。 (2) (2) 一个函数由两部分组成一个函数由两部分组成: : 函数的首部:函数的首部:例例1.31.3中的中的maxmax函数首部函数首部 intint max(int max(int x,int x,int y ) y ) 函数体:函数体:花括号内的部分。若一个函数有多个花花括号内的部分。若一个
15、函数有多个花括号,则最外层的一对花括号为函数体的范围。括号,则最外层的一对花括号为函数体的范围。 函数体包括两部分:函数体包括两部分: 声明部分:声明部分:intint a,b,c; a,b,c; 可缺省可缺省 执行部分:由若干个语句组成。执行部分:由若干个语句组成。可缺省可缺省函数的声明部分和执行部分都可缺省,例函数的声明部分和执行部分都可缺省,例如:如:void dump ( )void dump ( ) 这是一个空函数这是一个空函数, ,什么也不做什么也不做, ,但是合法的但是合法的函数。函数。 (3) C(3) C程序总是从程序总是从mainmain函数开始执行的函数开始执行的, ,与
16、与mainmain函数函数的位置无关。的位置无关。(4) C(4) C程序书写格式自由程序书写格式自由, ,一行内可以写几个语句一行内可以写几个语句, , 一个语句可以分写在多行上,一个语句可以分写在多行上,C C程序没有行号。程序没有行号。(5) (5) 每个语句和数据声明的最后必须有一个分号。每个语句和数据声明的最后必须有一个分号。(6) C(6) C语言本身没有输入输出语句。输入和输出的操语言本身没有输入输出语句。输入和输出的操作是由库函数作是由库函数scanfscanf和和printfprintf等函数来完成的。等函数来完成的。C C对输入输出实行对输入输出实行“函数化函数化”。 1.
17、4 运行程序的步骤和方法运行程序的步骤和方法1.4.1 1.4.1 运行程序的步骤运行程序的步骤上机输入与编辑源程序上机输入与编辑源程序对源程序进行编译对源程序进行编译与库函数连接与库函数连接运行目标程序运行目标程序l目前使用的大多数目前使用的大多数C C编译系统都是集成环境编译系统都是集成环境(IDE)(IDE)的。的。可以用不同的编译系统对可以用不同的编译系统对C C程序进行操作。程序进行操作。l常用的有常用的有Turbo C 2.0Turbo C 2.0、Turbo C+ 3.0Turbo C+ 3.0、Visual C+Visual C+等。等。 lTurbo C+ 3.0Turbo
18、C+ 3.0:是一个集成环境,它具有方便、直观是一个集成环境,它具有方便、直观和易用的界面,虽然它也是和易用的界面,虽然它也是DOSDOS环境下的集成环境,但环境下的集成环境,但是可以把启动是可以把启动Turbo C+ 3.0 Turbo C+ 3.0 集成环境的集成环境的DOSDOS执行文件执行文件tc.exetc.exe生成快捷方式,也可以用鼠标操作。生成快捷方式,也可以用鼠标操作。lVisual C+Visual C+:也可以用也可以用Visual C+Visual C+对对C C程序进行编译。程序进行编译。将将Turbo C+ 3.0Turbo C+ 3.0编译程序装入磁盘某一目录下编译程序装入磁盘某一目录下例如:例如:放在放在C C盘根目录下一级盘根目录下一级TC3.0TC3.0子目录下。子目录下。(1)进入进入Turbo C+ 3.0集成环境集成环境在在DOS环境下环境下 C:TC3.0tc 找到可执行文件找到可执行文件tc.exetc.exe,执行该文件。,执行该文件。 在编辑在编辑(EDIT) 状态下光标表示当前进行编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七年级历史下册 第二单元 辽宋夏金元时期 民族关系发展和社会变化 第9课 宋代经济的发展教学设计 新人教版
- 早教报名协议书8篇
- 七年级语文上册 9从百草园到三味书屋第3课时教学设计 新人教版
- 电子商务发展动态
- 车辆安全隐患课件
- Unit6 Section A Grammar Focus3a-3d 教学设计 2024-2025学年人教版英语七年级上册
- 七年级体育与健康 基本体操2教学设计
- 直肠肛管疾病护理
- Unit 8 How are you (教学设计)-2023-2024学年译林版(三起)英语四年级下册
- 耳科手术一般护理
- 2025重庆西南证券股份有限公司招聘45人笔试参考题库附带答案详解
- 2025年4月自考15043中国近现代史纲要押题及答案
- 湖南省示范性高中2024-2025学年高二下学期2月联考 物理试卷(含解析)
- 服装公司品质(质量)管理手册
- 江苏省淮安市洪泽区2024-2025学年七年级下学期3月调研地理试题(含答案)
- 办公楼弱电系统设计方案
- 黄金卷02(广州专用)-【赢在中考·黄金预测卷】2025年中考数学模拟卷(考试版)
- 2025-2030年班用帐篷项目投资价值分析报告
- 2025年国家粮食和物资储备局垂直管理系统事业单位招聘701人历年自考难、易点模拟试卷(共500题附带答案详解)
- 2025年合肥二模数学试题及答案
- 射线无损探伤合同范本
评论
0/150
提交评论