C语言第一章C语言概述.ppt
第一章第一章C C语言概述语言概述第一章第一章 C语言概述语言概述n n本章主要内容:本章主要内容:本章主要内容:本章主要内容:1.1 1.1 C C语言的发展简史语言的发展简史语言的发展简史语言的发展简史1.2 1.2 C C语言的特点语言的特点语言的特点语言的特点1.3 1.3 简单的简单的简单的简单的C C程序介绍程序介绍程序介绍程序介绍1.4 1.4 C C程序的上机方法程序的上机方法程序的上机方法程序的上机方法n n本章重点:本章重点:本章重点:本章重点:C C程序的最基本的语句程序的最基本的语句程序的最基本的语句程序的最基本的语句掌握掌握掌握掌握C C程序的上机方法程序的上机方法程序的上机方法程序的上机方法 C语言程序设计1.1 C语言简史n nC C语言是在美国贝尔实验室诞生的。语言是在美国贝尔实验室诞生的。语言是在美国贝尔实验室诞生的。语言是在美国贝尔实验室诞生的。n n贝尔实验室的贝尔实验室的贝尔实验室的贝尔实验室的M.D.RitchieM.D.Ritchie和和和和K.ThompsonK.Thompson在开发在开发在开发在开发UNIXUNIX操作系统时,希望有一种既有高级语言特性,操作系统时,希望有一种既有高级语言特性,操作系统时,希望有一种既有高级语言特性,操作系统时,希望有一种既有高级语言特性,又有低级语言特点的语言来描述系统软件,但当又有低级语言特点的语言来描述系统软件,但当又有低级语言特点的语言来描述系统软件,但当又有低级语言特点的语言来描述系统软件,但当时存在的时存在的时存在的时存在的CPLCPL、BCPLBCPL、B B语言不是规模大、难以语言不是规模大、难以语言不是规模大、难以语言不是规模大、难以实现,就是过于简单,功能很弱。实现,就是过于简单,功能很弱。实现,就是过于简单,功能很弱。实现,就是过于简单,功能很弱。1972197319721973年年年年M.D.RitchieM.D.Ritchie设计出了设计出了设计出了设计出了C C语言。在一段时间里,语言。在一段时间里,语言。在一段时间里,语言。在一段时间里,C C语言还只是在贝尔实验室内部使用,直到语言还只是在贝尔实验室内部使用,直到语言还只是在贝尔实验室内部使用,直到语言还只是在贝尔实验室内部使用,直到19751975年年年年UNIXUNIX第六版的第六版的第六版的第六版的C C语言才引起人们的注意。语言才引起人们的注意。语言才引起人们的注意。语言才引起人们的注意。C语言概述C语言程序设计n n19771977年出现了可移植年出现了可移植年出现了可移植年出现了可移植C C语言,语言,语言,语言,19781978年第七版的年第七版的年第七版的年第七版的C C语言成了当时的标准,称标准语言成了当时的标准,称标准语言成了当时的标准,称标准语言成了当时的标准,称标准C C。19831983年,美国年,美国年,美国年,美国国家标准化协会(国家标准化协会(国家标准化协会(国家标准化协会(ANSIANSI)对)对)对)对C C语言制定新的标准,语言制定新的标准,语言制定新的标准,语言制定新的标准,称为称为称为称为ANSI CANSI C,这就是现行的,这就是现行的,这就是现行的,这就是现行的C C语言标准。语言标准。语言标准。语言标准。n n此后,此后,此后,此后,C C语言的发展非常迅速,现在已风靡全世语言的发展非常迅速,现在已风靡全世语言的发展非常迅速,现在已风靡全世语言的发展非常迅速,现在已风靡全世界,成为最受人们欢迎的几种计算机程序设计语界,成为最受人们欢迎的几种计算机程序设计语界,成为最受人们欢迎的几种计算机程序设计语界,成为最受人们欢迎的几种计算机程序设计语言之一。言之一。言之一。言之一。n n目前,实用的目前,实用的目前,实用的目前,实用的C C语言编译系统种类繁多,如语言编译系统种类繁多,如语言编译系统种类繁多,如语言编译系统种类繁多,如Turbo Turbo C C,Microsoft CMicrosoft C,Quick CQuick C等等等等,虽然它们略有差异,虽然它们略有差异,虽然它们略有差异,虽然它们略有差异,但基本部分都是相同的。但基本部分都是相同的。但基本部分都是相同的。但基本部分都是相同的。C语言概述C语言程序设计1.2 C语言的特点1.1.语言表达能力强语言表达能力强语言表达能力强语言表达能力强2.2.语言简洁、紧凑,使用方便、灵活,易学易用语言简洁、紧凑,使用方便、灵活,易学易用语言简洁、紧凑,使用方便、灵活,易学易用语言简洁、紧凑,使用方便、灵活,易学易用3.3.数据类型丰富,具有现代语言的各种数据类型数据类型丰富,具有现代语言的各种数据类型数据类型丰富,具有现代语言的各种数据类型数据类型丰富,具有现代语言的各种数据类型4.4.语言生成的代码质量高语言生成的代码质量高语言生成的代码质量高语言生成的代码质量高5.5.C C语言的可移植性好语言的可移植性好语言的可移植性好语言的可移植性好C语言概述C语言程序设计1.3 简单的C程序介绍n n例例例例1.1 1.1 HelloHello程序程序程序程序main()main()printf(“Hello!nprintf(“Hello!n”);”);n n运行结果运行结果运行结果运行结果:Hello!Hello!n n思考思考思考思考练习练习练习练习C语言概述主函数 一对大括号是函数的开始与结束,所括起来的部分称为函数体。本函数体内只有一个语句,即输出语句printf()。printf()是C的输出库函数,双引号括起来的字符串按原样输出。其中以“”开始的字符称“转义字符”,“n”是换行符,即在输出“Hello”后回车换行。如果再运行一次该程序,两次的输出会分别在两行上显示出来。每个语句后面都有一个分号C语言程序设计n n 例例例例1.2 1.2 两个数相加两个数相加两个数相加两个数相加main()main()intint a,ba,b;/*/*变量说明变量说明变量说明变量说明*/intint sum;sum;scanf(“%d,%d”,&a,&bscanf(“%d,%d”,&a,&b););sum=sum=a+ba+b;printf(“Sumprintf(“Sum=%=%dn”,sumdn”,sum););n n运行结果:运行结果:运行结果:运行结果:12,3412,34 Sum=46Sum=46n n思考思考思考思考C语言概述函数体通常由两部分组成:变量说明部分和语句部分。变量说明部分,其后是语句部分。定义了三个int(整型)变量a、b和sum。经定义后,程序为这些变量开辟该类型所需要的内存单元,用来存入一个值。C程序中对大写小是严格区分的,变量一般用小写。如果在程序中使用变量,就必须要事先定义。scanf()是输入函数,其作用是将键盘输入的数据存入变量a和b中。&a和&b中“&”的含义是“取地址”,即将两个数值分别输入到变量a和b的地址所标志的内存单元中。用“/*”和“*/”括起来的部分是注释内容。注释只是给人看的,对编译和运行不起作用。注释可以加在程序的任何位置,它的使用是为了提高程序的可读性。以“%”开始的一个字符是输入输出的“格式描述字符”,用来指定输入输出时的数据类型和格式。“%d”表示“十进制整型数类型”。将a的值与b的值相加,和送给sum以十进制输出sum的值C语言程序设计练习练习1:1:n n从键盘上输入一个整数,计算它的平方和立方。从键盘上输入一个整数,计算它的平方和立方。从键盘上输入一个整数,计算它的平方和立方。从键盘上输入一个整数,计算它的平方和立方。要求程序的运行情况如下:要求程序的运行情况如下:要求程序的运行情况如下:要求程序的运行情况如下:a=5a=5 5 5的平方是的平方是的平方是的平方是2525,5 5的立方是的立方是的立方是的立方是125125。C语言概述C语言程序设计练习练习2:2:n n从键盘上输入圆的半径,计算圆的周长和面积。从键盘上输入圆的半径,计算圆的周长和面积。从键盘上输入圆的半径,计算圆的周长和面积。从键盘上输入圆的半径,计算圆的周长和面积。C语言概述r rC语言程序设计练习练习3:3:n n计算长方体的体积和表面积。长方体的长、宽、计算长方体的体积和表面积。长方体的长、宽、计算长方体的体积和表面积。长方体的长、宽、计算长方体的体积和表面积。长方体的长、宽、高由键盘输入,输出格式自行设计。高由键盘输入,输出格式自行设计。高由键盘输入,输出格式自行设计。高由键盘输入,输出格式自行设计。C语言概述wwd dh hC语言程序设计练习练习4:4:n n给定两点坐标,计算这两点间的距离。给定两点坐标,计算这两点间的距离。给定两点坐标,计算这两点间的距离。给定两点坐标,计算这两点间的距离。提示:计提示:计提示:计提示:计算算算算r r的平方根使用的平方根使用的平方根使用的平方根使用sqrt(rsqrt(r)。C语言概述y yx x(x(x1 1,y,y1 1)(x(x2 2,y,y2 2)C语言程序设计练习练习5:5:n n给定一矩形左上角坐标给定一矩形左上角坐标给定一矩形左上角坐标给定一矩形左上角坐标(x,yx,y)、宽度、宽度、宽度、宽度(w)(w)和高度和高度和高度和高度(h)(h),计算其中心点坐标,计算其中心点坐标,计算其中心点坐标,计算其中心点坐标(x0,y0)(x0,y0)。C语言概述wwy y轴轴轴轴x x轴轴轴轴(x,yx,y)x xy yh h(x0,y0)(x0,y0)C语言程序设计练习练习6:6:n n某矩形的宽度为某矩形的宽度为某矩形的宽度为某矩形的宽度为ww,高度为,高度为,高度为,高度为h h,其中心点在,其中心点在,其中心点在,其中心点在(x0,y0)(x0,y0)处,计算它的左上角坐标处,计算它的左上角坐标处,计算它的左上角坐标处,计算它的左上角坐标(x,yx,y)。C语言概述y y轴轴轴轴x x轴轴轴轴(x,yx,y)x xy yh h(x0,y0)(x0,y0)C语言程序设计练习练习7:7:示例:示例:盯住你盯住你n n已知两点已知两点已知两点已知两点p p1 1(x(x1 1,y,y1 1)和和和和p p2 2(x(x2 2,y,y2 2)。另有一点。另有一点。另有一点。另有一点p(x,yp(x,y),将,将,将,将p p移动到移动到移动到移动到p p1 1、p p2 2的连线上,并使的连线上,并使的连线上,并使的连线上,并使p p到到到到p p1 1点的距点的距点的距点的距离不变。计算离不变。计算离不变。计算离不变。计算p p的新位置的新位置的新位置的新位置pp。C语言概述ppp pxxyyy y轴轴轴轴x x轴轴轴轴p p1p p2y yx xy1y1x1x1y2y2x2x2C语言程序设计1.4 C程序的上机步骤n n编辑源程序编辑源程序编辑源程序编辑源程序(*.c)(*.c)编译编译编译编译(目标文件目标文件目标文件目标文件*.objobj)连接连接连接连接(可执行文件可执行文件可执行文件可执行文件*.exe).exe)运行运行运行运行 n n使用使用使用使用Turbo C 2.0Turbo C 2.0的上机步骤的上机步骤的上机步骤的上机步骤n n使用使用使用使用Microsoft Visual C+6.0Microsoft Visual C+6.0的上机步骤的上机步骤的上机步骤的上机步骤C语言概述编源程序编译连接运行结果有错有错有错有错有错有错无错无错无错无错无错无错有错有错结束无错无错C语言程序设计