版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章C语言概述§1.1C语言的发展与特点
随着电子计算机的迅速发展和广泛应用,C程序设计语言已成为目前世界上最广泛使用的高级程序设计语言之一。它在系统软件(操作系统、语言处理、系统实用程序)、数据处理、科学计算等多个领域的软件开发中起着越来越重要的作用。
§1.1.1C语言的发展C语言产生的背景:需要一种计算机语言,使它既具有高
级语言的特点,又有汇编语言的优点;
使它既能用来编写系统软件,又可用
来开发应用软件。
(1)1970年美国AT&T公司贝尔实验室的肯.汤普森(KenThompson)为实现UNIX操作系统而提出一种仅供自己使用的工作语言。由于该工作语言的前身是英国剑桥大学的马丁·理查德(MartinRichards)在1967年开发的BCPL(BasicCombinedProgrammingLanguage)语言,因而被作者命名为B语言,B取自BCPL的第一个字母。使用B语言在美国DEC公司的PDP-7计算机上编写了第一个UNIX操作系统。此后,在美国贝尔实验室进行的更新型小型机PDP-11的UNIX操作系统的开发中,戴尼斯.M.利奇(DennisM.Ritchie)和布朗.W.卡尼汉(BrianW.Kernighan)又在B语言的基础上系统地引入了各种数据类型,
从而使B语言的数据结构类型化,于1972年至1973年间推出了一种新型的程序设计语言,该语言被命名为C语言,C取自BCPL的第二个字母。可见,C语言名字的由来反映了C语言诞生所经历的两个过程。
1983年,美国国家标准化协会(ANSI)根据C语言问世以来的各种版本对C语言的发展和扩充,制定了新的标准,称为ANSIC。1987年,ANSI又公布了新标准-87ANSIC。
当前,国内最流行的IBMPC系列微机上使用的C版本有TurboC、MicroSoftC、QuickC等。不同版本略有差异,因此,学生可查阅有关手册来了解所用计算机系统的C编译的特点和规定。
§1.1.2C语言的特点程序表述简洁、紧凑、生成目标代码效率高
兼有高级和低级语言的特点(中级语言),适于编写系统软件和应用软件是一种结构化程序设计语言C语言程序是由函数集合构成数据结构丰富、运算符及其表达式种类多
基本数据类型(整型,实型,字符型) 构造数据类型(数组,指针,结构体等)44种运算符:算术表达式,赋值表达式,关系表达式,逻辑表达式等C语言具有预编译功能,使用它可提高软件的开发效率C语言可移植性好
数据类型§1.2C语言的基本程序结构main(){
printf("TheCProgrammingLanguage.\n");}程序运行结果是在屏幕上显示下列一行信息:TheCProgrammingLanguage.程序说明:程序必须有一个main()命名的主函数,小括号表明这是一个函数并且可以在这里定义形式参数。成对出现的一对花括号定界函数体的开始和结束。printf是C函数库中的标准输出函数,在调用(使用)函数时,小括号中放的是实参。C语句后使用分号作结束标志。#include是编译预处理中的文件包含命令,表示后面的文件放在这里。#include<stdio.h>【例1.1】简单输出程序
#include<stdio.h>main(){
intx,y,z; /*定义整型变量x,y,z*/ floatsum; /*定义实型变量sum*/ printf("inputx,y,z:");/*提示输入三个数据*/
scanf("%d%d%d",&x,&y,&z);/*输入三个数*/
sum=x+y+z; /*使用表达式语句计算和*/
printf("\nsum=%f\n",sum);/*屏幕上显示计算结果*/}程序运行结果是在屏幕上显示:inputx,y,z:输入三个数据后回车,显示结果为:sum=xx.xxx程序说明:一对/**/表明内部为注释,不生成目标代码。定义变量名字和类型,程序运行时将在内存中开辟4块存储区,这几块存储区使用变量名表示位置,变量类型表示占内存空间大小【例1.2】计算三个数之和scanf是C函数库中的标准输入函数。"%d%d%d"是格式串,表明输入的是十进制整数。输入的数据存放到&x,&y,&z表示的x,y,z所对应的存储单元。sum=x+y+z是赋值语句。=是赋值运算符,表示将算术表达式
x+y+z的值赋给sum.main(){ inta,b,c,maxi; /*变量maxi用来存放得到的最大值*/
printf("pleasetoinputa,b,c:"); scanf("%d%d%d",&a,&b,&c);/*输入时使用空格隔开三个数*/
maxi=max(a,b,c);/*函数调用可以当作表达式的运算对象*/
printf("\nmaxnumis%d",maxi);}【例1.3】求三个数中的最大值intmax(intx,inty,intz)/*函数的类型表明的是返回值类型*/{
intm; /*变量m存放得到的最大值,函数返回它*/
if(x>y) m=x; else m=y; if(m<z) m=z; /*使用控制语句形成分支结构,判断求出最大值*/
return(m);/*语句return(m)将变量m的值返回函数调用的地方*/}程序说明: 1、C程序由函数构成 2、一个函数由两部分组成(函数说明、函数体) 3、一个C程序总是从主函数main开始执行,无论主函数在程序中的位置如何,主函数只能有一个。函数说明分别写出。程序以函数的嵌套调用关系组织结构。
4、一行内可同时写一个或几个语句,语句必须用分号(;)结束。5、C语言中没有输入输出语句,数据的输入输出由调用库函数(scanf,printf)完成。
6、注释放在
/*……*/中,注释不允许嵌套。 7、注意在编程过程中要形成良好的编程风格。文件名为file1.c的第一个文件内容如下:/*找出三个数中的最大值*/main() /*主函数*/{inta,b,c,maxi; /*变量说明*/
printf("pleasetoinputa,b,c:");scanf("%d%d%d",&a,&b,&c); /*输入变量a、b、c的值*/
maxi=max(a,b,c);/*调用max函数,将得到的最大值赋给maxi*/printf("\nmaximumis%d",maxi); /*输出最大值maxi*/}【例1.4】例1.3源程序被分别编辑在两个文件中。
文件名为file2.c的第二个文件内容如下:intmax(intx,inty,intz)/*在三个数中找最大值的函数*/{intm;if(x>y)m=x;elsem=y;if(m<z)
m=z;return(m);
/*将最大值m通过max函数返回调用处*/}这实际上是把上例C程序中的两个函数分别放在了file1.c和file2.c两个源文件中,每个源文件是一个编译单位,编译时应分别进行。
TurboC环境下进行多文件编译、连接的操作过程见P7。现将C程序基本结构说明如下:C程序的组成(2)函数的组成一般函数的结构如下:
[数据类型标识符]<函数名>(形式参数表)
{[局部变量说明部分][语句部分]}(3)C库函数(4)外部说明C程序书写格式说明如下:C程序习惯使用小写英文字母书写,大写英文字母一般用作符号常量名和其它特殊用途。(2)C程序每个语句可从任意列开始,不存在程序行的概念。一行中可以有多个语句,一个语句也可以占用多行。但是,为了使程序结构层次清楚,应当以锯齿形格式书写程序,使处于同一结构层次的语句从同一列开始,从而形成层层缩进对齐的书写格式。(3)标识符的命名应当“见其名知其意”。(4)为了增强C程序的可读性,可以使用适量的空格和空行,但变量名、函数名以及C语言的关键字(如for,switch等)中间不能加入空格。除此之外的空格和空行可以任意设置,C语言编译系统不理会这些空格和空行。(5)为了帮助读者了解函数、程序块或某几个语句的功能,可以适当的使用注释。P8§1.3C语言的基本语法单位§1.3.1字符集数字:0、1、2、3、4、5、6、7、8、9字母:A、B、C、…、Y、Z a、b、c、…、y、z特殊字符:
+-*/%\_=<>()&|^~[]{},.:;?′"!#(使用过程中熟悉)不可打印字符:空格、换行、制表符§1.3.2标识符用户或系统定义常量、变量、类型和函数时所起的名字。标识符构成规则
1、标识符由字母、数字或下划线组成,它的第一个字符必须是字母或下划线。TurboC规定标识符的有效长度为前32个字符。2、C语言编译程序区分大小写字母,例如SUM、sum和Sum不同。
§1.3.3关键字
系统已经使用的、有特定含义的名字,不允许用户使用。
auto、break、case、char、const、for、continue、default、do、double、else、enum、extern、float、goto、if、int、long、register、return、short、signed、sizeof、static、struct、switch、typedef、union、unsigned、void、volatile、while。
共32个,英文小写字母表示。§1.3.4分隔符语法上起分隔单词作用的符号,又称为空白符。有空格字符、换行符和注释。§1.4C语言的编译与执行
编辑编译
出错?连接出错?执行结果正确?
.C源程序
.OBJ目标程序
.EXE可执行程序开始结束YYNYNN库函数和其它目标程序§1.4.1编辑所谓编辑,包括以下内容:程序设计者首先用系统提供的编辑器将编写的C源程序输入计算机内存。(2)修改源程序文件。(3)将修改好的源程序以文本文件格式存放在磁盘文件中,源程序文件名由程序设计者自定,文件的扩展名为“.c”。例如:f.c。§1.4.2编译
编译的目的是把源程序文件转换成能直接在计算机上运行的二进制目标代码。目标程序文件的扩展名为“.obj”。
§1.4.3连接
编译后所生成的目标程序文件不能直接执行,因为每一个模块往往是单独编译的,必须用系统提供的连接程序把它和其它目标程序以及系统所提供的库函数进行连接,生成可执行文件存于文件系统中。可执行文件的扩展名为“.exe”。
§1.4.4执行
可执行文件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度版权授权及衍生品开发合作协议3篇
- 专属2024商业招商服务协议版A版
- 个人住宅出租标准协议样本2024年版版B版
- 勤俭节约的少先队活动课
- 二零二五年度高新技术企业研发团队绩效集体合同3篇
- 2024棉花种子种源保护区建设与保护合同2篇
- 二零二五年度防火门产品研发与创新奖励合同3篇
- 二零二五年度龚蝶与配偶婚姻解除及子女抚养权协议3篇
- 二零二五年度服装生产厂劳动合同签订与员工培训协议3篇
- 2025年度集成房产品研发与技术升级合同3篇
- 2024-2025学年山东省德州市高中五校高二上学期期中考试地理试题(解析版)
- 2025年国务院发展研究中心信息中心招聘应届毕业生1人高频重点提升(共500题)附带答案详解
- 麻风病病情分析
- 2024年公安机关理论考试题库500道及参考答案
- 特殊情况施工的技术措施
- 《急诊科建设与设备配置标准》
- 《中国糖尿病防治指南(2024版)》更新要点解读
- 大学物理(二)知到智慧树章节测试课后答案2024年秋湖南大学
- 银行运营集中规划
- 《数据分析你懂的》课件
- TSGD7002-2023-压力管道元件型式试验规则
评论
0/150
提交评论