欢迎来到天天文库
浏览记录
ID:40841056
大小:310.50 KB
页数:27页
时间:2019-08-08
《C语言及程序设计基本知识(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、全国计算机等级考试NCREC语言程序设计C语言及程序设计基本概念第一章本章要点※了解C语言出现的历史背景及发展历程※C语言的特点※C程序的扩展名与执行方法※掌握、理解算法的特征※理解N—S流程图※理解结构化程序设计的三大基本结构※理解结构化程序设计的方法和模块化结构第一章:程序设计的基本概念第一章:程序设计的基本概念1.1C语言出现的历史背景C语言是国际上流行的、很有发展前途的计算机高级语言。C语言适合于作为“系统描述语言”。它既可以用来编写系统软件,也可以用来编写应用程序。背景:1)操作系统等系统软件以前采用汇编语言编写,而汇编语言可读性和可移植
2、性都比较差;2)而当时的高级语言难以实现汇编语言的某些功能(如:内存地址的读写-直接硬件、二进制位的操作),不适宜编写系统软件。第1章程序设计基本概念C语言的发展历程1972~1973年贝尔实验室D.M.Ritchie设计出C语言1973年K.Thompson&D.M.Ritchie用C改写出UNIX第五版1977年出现了不依赖于具体机器的的C语言编译文本《可移植C语言编译程序》1978年C语言先后移植到大、中、小、微型机上,独立于UNIX和PDP1978年K&R合著了影响深远的《TheCProgrammingLanguage》1983年美国国家标
3、准化协会制定ANSIC1990年国际标准化组织ISO制定ISOC标准目前CC++BuilderVisualC++VisualC#第1章程序设计基本概念1.2C语言的特点(1)语言简洁、紧凑、使用方便、灵活。C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示。相对另一种过程化语言PASCAL,C语言程序更加简练,源程序短;(2)运算符丰富。C语言的运算符包含的范围很广泛,共有34种运算符。C的运算符除了常规的一些运算符外,还包括有:按位取反(异或、或、与)运算符,左(右)移运算符、地址运算符等。使得C语言可以实现在其他高级
4、语言中难以实现的运算;第1章程序设计基本概念(3)数据结构丰富。C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。特别是指针类型数据,使C语言使用更加灵活,功能更加强大;(4)具有结构化的控制语句(如if…else语句、while语句、do…while语句、switch语句、for语句)。用函数作为程序的模块单位,便于实现程序的模块化。C语言是理想的结构化语言;第1章程序设计基本概念(5)语法限制不太严格,程序设计自由度大。不要过分依赖C编译程序去查错;(6)C语言允许直接访问内存物理地址,能进行位(bit)操作
5、,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此,C语言既具有高级语言的功能,又具有低级语言的惠多功能,可用来编写系统软件。因此,我们有时也把C语言称为中级语言;第1章程序设计基本概念(7)生成目标代码质量高,程序执行效率高。一般只比汇编程序生成的目标代码效率低10%~20%;(8)用C语言写的程序可移植性好(与汇编语言比)。基本不做修改就能用于各种型号的计算机和各种操作系统。是现在编写系统软件的主要语言。C语言从一开始就是用于编写大型、复杂系统软件的,当然C语言也可以用来编写一般的应用程序。也就是说:C语言是程序员的语言!第1章程序设计
6、基本概念C语言与其他语言的比较:1)学习难度较大,BASIC更适合初学者;2)不擅长于编写信息管理领域的软件(目前常用的是Delphi+SQLServer);3)比PASCAL更适合作为教学语言(PASCAL虽然语法严谨但难以推广到其他领域);4)功能强大,使用灵活,可以编写出任何类型的程序,特别适合编写系统软件,目前以汇编语言处理的问题,改为使用C,同时也常用于开发大的应用软件;第1章程序设计基本概念1.3C语言的执行过程和拓展名【例1.1】C语言的一个简单实例。#includemain(){inta,b,sum;printf(
7、”EnterTwoNumbers:”);scanf(”%d%d”,&a,&b);sum=a+b;printf(”Thesumis%d”,sum);}程序运行结果如下:EnterTwoNumbers:6428Thesumis92第1章程序设计基本概念源程序:有高级语言编写的程序(拓展名.c)目标程序:由二进制代码表示的程序(拓展名.obj)编译:将源程序转换成目标程序的过程编译程序:将源程序转换成目标程序的程序C语言源程序C语言编译程序C语言目标程序第1章程序设计基本概念RAMEditPreprocessCompileLinkLoadExecut
8、eEditorProg.cCompilerLinkerCPULoaderProg.objProg.exeLibraries
此文档下载收益归作者所有