




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-5-181C/C+程序设计2011秋秋苏琨苏琨 2022-5-182目 录n第第1章章C语言概述语言概述n第第2章程序的灵魂章程序的灵魂算法算法n第第3章数据类型、运算符与表达式章数据类型、运算符与表达式n第第4章最简单的章最简单的C程序设计程序设计顺序程序设计顺序程序设计n第第5章选择结构程序设计章选择结构程序设计n第第6章循环控制章循环控制n第第7章章数组数组n第第8章章函数函数2022-5-183n第第9章章 预处理命令预处理命令n第第10章章指针指针n第第11章结构体与共用体章结构体与共用体n第第12章位运算章位运算n第第13章文件章文件n第第14章章 C+对对C的扩充的扩充
2、n第第15章章 C+的面向对象基础的面向对象基础2022-5-184第1章 C语言概述1.2 C语言的特点语言的特点1.3 简单的简单的C语言程序介绍语言程序介绍1.4 运行运行C程序的步骤和方法程序的步骤和方法1.5 常见问题常见问题nC标准标准n学习方法学习方法-学习学习C语言有捷径吗语言有捷径吗nVC6.0是什么是什么-工欲善其事,必先利其器工欲善其事,必先利其器n参考资料参考资料2022-5-185C语言的语言的前身前身nALGOL 60 (1960年)年)nCPL语言语言 (1963年剑桥)年剑桥)nBPCL语言语言 (1967年贝尔实验室年贝尔实验室Richard Martin)n
3、B语言语言 (1970年贝尔的年贝尔的Ken Thompson)nC语言语言 (1972年贝尔的年贝尔的Dennis M. Ritchie,并重写了,并重写了UNIX系统的内核)系统的内核)n1978年,年,Brian Kernighan 和和Dennis Ritchie(合称(合称K&R)合作出版了合作出版了The C Programming Language。这可是最。这可是最重要,最权威,也是最有价值的重要,最权威,也是最有价值的C语言参考书。语言参考书。 2022-5-1862022-5-187TIOBE2011年八月编程语言排行榜C语言的现在2022-5-188第1章 C语言概述1.
4、1 C语言出现的历史背景语言出现的历史背景1.3 简单的简单的C语言程序介绍语言程序介绍1.4 运行运行C程序的步骤和方法程序的步骤和方法1.5 常见问题常见问题nC标准标准n学习方法学习方法-学习学习C语言有捷径吗语言有捷径吗nVC6.0是什么是什么-工欲善其事,必先利其器工欲善其事,必先利其器n参考资料参考资料2022-5-189C语言的优点n简洁简洁高效高效n较高的较高的可移植性可移植性n可移植性指在一个系统上编写的可移植性指在一个系统上编写的C程序经过很少改动或程序经过很少改动或不经修改就可以在其他系统上运行。不经修改就可以在其他系统上运行。 n允许访问硬件允许访问硬件n是一种是一种系
5、统编程语言系统编程语言,可以很容易地与汇编语言结合,可以很容易地与汇编语言结合,适合编写系统级的程序适合编写系统级的程序,比如,比如操作系统和编译器操作系统和编译器 nUnix、Linux、Windows其内核清一色是其内核清一色是C语言开发,语言开发,(某些地方是和汇编语言混合开发的某些地方是和汇编语言混合开发的)。而且。而且Unix/Linux上的绝大多数应用也都是上的绝大多数应用也都是C语言开发的语言开发的n各种语言的编译器,包括各种语言的编译器,包括Java虚拟机,都是用虚拟机,都是用C语言开语言开发的。发的。 2022-5-1810我们可以用C语言做什么-C的应用领域2022-5-1
6、811C的缺点nDennis Ritchie对对C语言的评语语言的评语:”C诡异离奇诡异离奇,缺陷,缺陷重重,却获得极大的成功重重,却获得极大的成功”。 n侯捷:侯捷:“但是哪一样技术是可以快速学成的呢?但是哪一样技术是可以快速学成的呢?能够快速学成的技术,人才也就必然易取易得,能够快速学成的技术,人才也就必然易取易得,根据市场供需法则,也就不可能有很好的报酬。根据市场供需法则,也就不可能有很好的报酬。所以诸君当有心理准备,所以诸君当有心理准备,门槛高的,学习代价高,门槛高的,学习代价高,报酬高;门槛低的,学习代价低,但报酬也低。报酬高;门槛低的,学习代价低,但报酬也低。 ”2022-5-18
7、12第1章 C语言概述1.1 C语言出现的历史背景语言出现的历史背景1.2 C语言的特点语言的特点1.4 运行运行C程序的步骤和方法程序的步骤和方法1.5 常见问题常见问题nC标准标准n学习方法学习方法-学习学习C语言有捷径吗语言有捷径吗nVC6.0是什么是什么-工欲善其事,必先利其器工欲善其事,必先利其器n参考资料参考资料2022-5-1813/*文件包含*/*主函数 */*函数体开始*/*输出语句*/*返回语句*/*函数体结束*/ 1.3 简单的C语言程序介绍main-主函数名,主函数名, int-返回值类型返回值类型n每个每个C程序必须有一个主函数程序必须有一个主函数mainn 是函数开
8、始和结束的标志是函数开始和结束的标志,不可省不可省n每个每个C语句以分号结束语句以分号结束n使用标准库的输入、输出函数时应在程序使用标准库的输入、输出函数时应在程序开头一行写:开头一行写:#include 说明: 本程序的作用是输出一行信息:This is a C program.#include int main(void)printf (This is a C program.n);return 0; 2022-5-1814例1.2 求两数之和#include int main(void) /*求两数之和*/ int a, b, sum; / 声明,定义变量为整型 a = 123; / 赋
9、值语句 b = 456; sum = a + b; printf(sum is %dn, sum); / %d是格式字符串“%d”是输入输出的格式字符串,表示“以十进制整数类型”输出说明: 输出一行信息:sum is 5792022-5-1815例1.3 求3个数中较大者。#include int max(int x,int y); / 对被调用函数max的声明 */int main(void) /* 主函数*/ int a, b, c; /*定义变量a、b、c */ scanf(d,d, &a, &b); /*输入变量a和b的值*/ c = max(a, b); /*调用max函数,将得到的
10、值赋给c */ printf(max=dn, c); /*输出c的值*/n程序运行情况如下:n8,5 (输入8和5赋给a和b)nmax=8 (输出c的值)int max(int x, int y) int z; if (x=y) z=x; else z=y; return (z); max(int x,int y); max(a,b); 本程序包括本程序包括main和被调和被调用函数用函数max两个函数。两个函数。max函函数的作用是将数的作用是将x和和y中较大者的中较大者的值赋给变量值赋给变量z。return语句将语句将z的值返回给主调函数的值返回给主调函数main。2022-5-1816
11、程序介绍小结1/3(1) C(1) C程序是由函数构成的。程序是由函数构成的。 这使得程序容易实现模这使得程序容易实现模块化。块化。 (2) (2) 一个函数由两部分组成一个函数由两部分组成: : 函数的首部:函数的首部:例例1.31.3中的中的maxmax函数首部函数首部 int max(int x,int y ) int max(int x,int y ) 函数体:函数体:花括号内的部分。若一个函数有多个花括花括号内的部分。若一个函数有多个花括号号, ,则最外层的一对花括号为函数体的范围。则最外层的一对花括号为函数体的范围。 2022-5-1817 程序介绍小结2/3函数的声明部分和执行部
12、分都可缺省,例如:函数的声明部分和执行部分都可缺省,例如:void dump ( ) 这是一个空函数这是一个空函数, ,什么也不做什么也不做, ,但是合法的函数。但是合法的函数。 2022-5-1818 程序介绍小结3/3(3) C(3) C程序总是从程序总是从mainmain函数开始执行的函数开始执行的, ,与与mainmain函数函数的位置无关。的位置无关。(4) (4) 一般一行一条语句一般一行一条语句, , 用分号结束。特别的,用分号结束。特别的,长语句可以分写在多行上。长语句可以分写在多行上。(5) C(5) C语言本身没有输入输出语句。输入和输出的操语言本身没有输入输出语句。输入和
13、输出的操作是由库函数作是由库函数scanfscanf和和printfprintf等函数来完成的。等函数来完成的。C C对输入输出实行对输入输出实行“函数化函数化”。2022-5-1819#include 指示和头文件n#include n相当于您在文件中该行所在的位置上键入了文件相当于您在文件中该行所在的位置上键入了文件stdio.h的完整内容的完整内容2022-5-1820main()函数nmain() nvoid main()nint main(void)2022-5-1821转义字符nn转义字符通常用于代表难于表达的或者无法键入转义字符通常用于代表难于表达的或者无法键入的字符。的字符。n
14、n: newline character, 换行符,在下一行的最左边换行符,在下一行的最左边开始新的一行,相当于按下开始新的一行,相当于按下enternt: Tab键键nb: BackSpace2022-5-1822第1章 C语言概述1.1 C语言出现的历史背景语言出现的历史背景1.2 C语言的特点语言的特点1.3 简单的简单的C语言程序介绍语言程序介绍1.5 常见问题常见问题nC标准标准n学习方法学习方法-学习学习C语言有捷径吗语言有捷径吗nVC6.0是什么是什么-工欲善其事,必先利其器工欲善其事,必先利其器n参考资料参考资料2022-5-1823编程的7个步骤一步都不能少2022-5-18
15、242022-5-1825编译n什么是编译器?什么是编译器?n将将高级语言程序高级语言程序(源代码)转换为(源代码)转换为机器语言程序机器语言程序(可(可执行代码)的程序。执行代码)的程序。nC分分两步两步完成这一工作:编译和链接。完成这一工作:编译和链接。n第一步:编译器将源代码转换为机器语言代码,将结第一步:编译器将源代码转换为机器语言代码,将结果放在果放在目标代码文件目标代码文件(或简称为目标文件)中。(或简称为目标文件)中。n注意:目标文件不是一个完整的程序,还不能运行。注意:目标文件不是一个完整的程序,还不能运行。n第二步:链接器将第二步:链接器将目标代码、启动代码和库函数的目目标代
16、码、启动代码和库函数的目标代码结合标代码结合在一起,在一起,生成可执行文件生成可执行文件。n什么是启动代码(什么是启动代码(Start-up Code)?n启动代码是启动代码是C程序和操作系统之间的接口,位于标准库程序和操作系统之间的接口,位于标准库中,完成一些运行中,完成一些运行C程序所需的程序所需的准备工作准备工作之后之后执行执行main函数函数。 2022-5-1826编译器和链接器2022-5-1827第1章 C语言概述1.1 C语言出现的历史背景语言出现的历史背景1.2 C语言的特点语言的特点1.3 简单的简单的C语言程序介绍语言程序介绍1.4 运行运行C程序的步骤和方法程序的步骤和
17、方法1.5 常见问题常见问题n学习方法学习方法-学习学习C语言有捷径吗语言有捷径吗nVC6.0是什么是什么-工欲善其事,必先利其器工欲善其事,必先利其器n参考资料参考资料2022-5-1828C标准nK&R CnK&C的的The C Programming Language事事实上的标准,也称为标准实上的标准,也称为标准C。nC89nANSI(美国国家标准化组织)(美国国家标准化组织)1989年批准了该年批准了该标准标准nISO(国际标准化组织)(国际标准化组织)1990年批准了同一个年批准了同一个标准标准nC992022-5-1829第1章 C语言概述1.1 C语言出现的历史背景语言出现的历
18、史背景1.2 C语言的特点语言的特点1.3 简单的简单的C语言程序介绍语言程序介绍1.4 运行运行C程序的步骤和方法程序的步骤和方法1.5 常见问题常见问题nC标准标准nVC6.0是什么是什么-工欲善其事,必先利其器工欲善其事,必先利其器n参考资料参考资料2022-5-1830学习C语言有捷径吗n三多三多:多写、多看、多读多写、多看、多读n(1) 多写:多写程序。多写:多写程序。K&R认为:学习一门新认为:学习一门新语言的唯一途径就是使用它编写程序。语言的唯一途径就是使用它编写程序。n(2) 多看:多看好书,多看经典之书,经典书籍多看:多看好书,多看经典之书,经典书籍里是里是C大师们几年甚至几
19、十件的经验之谈。大师们几年甚至几十件的经验之谈。n(3) 多读:多研读好代码。候捷曾说多读:多研读好代码。候捷曾说“源码之前,源码之前,了无秘密。了无秘密。” n侯捷大师:数本好书,一部电脑,一些必要的工侯捷大师:数本好书,一部电脑,一些必要的工具,全部搞定,只欠一股头悬梁锥刺股的苦具,全部搞定,只欠一股头悬梁锥刺股的苦读精神。读精神。2022-5-1831第1章 C语言概述1.1 C语言出现的历史背景语言出现的历史背景1.2 C语言的特点语言的特点1.3 简单的简单的C语言程序介绍语言程序介绍1.4 运行运行C程序的步骤和方法程序的步骤和方法1.5 常见问题常见问题nC标准标准n学习方法学习
20、方法-学习学习C语言有捷径吗语言有捷径吗n参考资料参考资料2022-5-1832VC6.0是什么-工欲善其事,必先利其器 nVC6.0是是windows系统下的集成开发环境系统下的集成开发环境IDE(Integrated Development Environment),这,这里的集成是指里的集成是指编辑器、编译器、调试器和图形用编辑器、编译器、调试器和图形用户界面工具户界面工具的集成,我们可以使用的集成,我们可以使用IDE完成程序完成程序设计实现的设计实现的全过程全过程。 2022-5-1833第1章 C语言概述1.1 C语言出现的历史背景语言出现的历史背景1.2 C语言的特点语言的特点1.
21、3 简单的简单的C语言程序介绍语言程序介绍1.4 运行运行C程序的步骤和方法程序的步骤和方法1.5 常见问题常见问题nC标准标准n学习方法学习方法-学习学习C语言有捷径吗语言有捷径吗nVC6.0是什么是什么-工欲善其事,必先利其器工欲善其事,必先利其器2022-5-1834参考资料参考资料-站在巨人的肩膀上站在巨人的肩膀上n第一本书:入门经典第一本书:入门经典C Primer Plus 2022-5-1835第二本书:C语言的圣经C程序设计语言n初学者需要详尽、亲初学者需要详尽、亲切、范例多的导入书,切、范例多的导入书,大师的书却往往学术大师的书却往往学术味重,言简意赅。当味重,言简意赅。当然,等你到达一定程然,等你到达一定程度,还是应该把大师度,还是应该把大师的书看一看。言简意的书看一看。言简意赅之中,可能有许多赅之中,可能有许多微言大义。微言大义。 2022-5-1836n让程序具有可读性是良好的编程习惯,也是程序让程序具有可读性是良
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 双光子成像考核试卷
- 2025年医疗器械管理师考试试卷及答案
- 新建塑料制品项目报告表
- 储存容器泄漏检测技术考核试卷
- 健康养生误区规避考核试卷
- 农产品直播销售数据分析与优化考核试卷
- 中草药种植的农业物联网应用发展考核试卷
- 印刷设备智能化改造对生产效率的提升分析考核试卷
- 2024年新疆裕民县急诊医学(副高)考试题含答案
- 2024年新疆特克斯县卫生高级职称(卫生管理)考试题含答案
- 2025年公开招聘事业编制教师公共基础知识考试题库及答案
- 2025版房屋买卖居间合同协议书(含房产证过户)
- 2025防灾减灾知识竞赛题库及参考答案力
- 心肺复苏家长课堂课件
- 军人理性消费教育
- 2025年摄影师职业技能考核试题及答案
- DG-TJ08-2120-2025 集体土地所有权调查技术标准
- 金沙县大田乡陈家寨饰面石材矿山项目环评报告
- 骨质疏松性骨折诊疗指南2022
- txt版的英汉词典
- LY/T 2565-2015竹塑复合材料
评论
0/150
提交评论