C++C经典教程(二)

合集下载

c语言程序设计教程第二版

c语言程序设计教程第二版

c语言程序设计教程第二版
《C语言程序设计教程》第二版是一本经典的编程学习教材,由谭浩强编写。

该书系统地介绍了C语言的基本语法和常用编程技巧,适合初学者入门和提高。

第二版在第一版的基础上进一步完善了内容,使得读者可以更好地理解和运用C语言。

首先,书中通过简单易懂的示例代码来解释C语言的各种语法和数据类型,帮助读者掌握基本知识。

其次,书中介绍了C语言的常用库函数和文件操作,能够帮助读者更加高效地编写实用的程序。

此外,书中还有大量的实例程序和练习题,读者可以通过实际操作来巩固所学知识。

与第一版相比,第二版在结构和内容上都有所调整。

作者对书中的章节顺序进行了优化,使得学习过程更加合理和流畅。

此外,对于某些难点知识,作者还增加了相关的解析和说明,帮助读者理解和掌握。

该书的编写风格简洁明了,例子生动具体,适合初学者阅读。

即使没有编程基础的读者,也可以通过本书的学习逐步掌握C 语言的基本概念和编程技巧。

此外,由于C语言在计算机领域具有广泛的应用,学好C语言对于深入学习计算机科学和软件工程非常重要。

总之,《C语言程序设计教程》第二版是一本很好的学习C语言的教材。

无论是初学者还是有一定基础的读者,都可以通过
这本书来提高编程能力。

读者只需要按照书中的教程一步步实践,相信能够很快掌握C语言的编程技巧。

photoshop cs2经典教程

photoshop cs2经典教程

实例制作 火焰字的制作
操作步骤: 1、新建一个700*450像素,背景为白色的图像文件; 2、填充背景为黑色; 3、选择文字工具中的“横排文字蒙板工具”,输入“FIRE”,调出字符面板, 调整文字的大小与字体等 4、用油漆桶工具为文字填充为白色,取消选择; 5、选择工具箱中的涂抹工具,在画笔里面选择一中带纹理的画笔(32); 6、执行“编辑”->“首选项”->“显示与光标”->选中“尺寸画笔笔尖”; 7、利用涂抹工具一笔一笔涂抹出火焰的效果; 8、为火焰添加颜色,点击图层面板下的“创建新的事填充或调整图层”按钮, 选择“色彩平衡”,调整色阶为:85 0 -28,选择高光->确定; 9、再制作一个文字层,选择文字工具中的横排文字工具,输入“FIRE”,调 整位置,与背景文字重合,图层混合模式调整为叠加; 10、对背景层添加滤镜,选择“滤镜”->“模糊”->“高斯模糊”,半径为3.2 11、复制背景层,在副本上点击图层面板下的“创建新的事填充或调整图 层”->色彩平衡->色阶:89 22 -62; 12、选择“FIRE”文字图层,调整不透明度为65%.
实例制作
光辉字的制作
操作步骤: 1、新建一个340*100像素RGB模式的文件,前景色为 白色; 2、点击文字工具,输入黑色文字“暑期培训”; 3、右键点击字体图层进行删格化,然后合并图层; 4、执行滤镜-&
1、设置文本的旋转和变形的方法; 2、介绍更改文本排列方式的操作方法; 3、将文本转换为选取范围的具体方法; 4、将文本转换为路径和形状的全体方法; 5、设置文本拼写检查的方法; 6、使用文本查找与替换的操作方法;
第一讲 工具箱
1、选框工具 7、画笔和铅笔工具
2、套索工具

中望CAD教程经典

中望CAD教程经典

总述: ........................................................................................................................................... - 1 - 第一部分基本绘图、标注........................................................................................................ - 2 -一.绘制图框........................................................................................................................ - 2 -1.设置图纸.................................................................................................................. - 2 -2.标题栏、附加栏、参数栏填充.............................................................................. - 2 -二.绘制法兰图主轮廓形状................................................................................................ - 3 -1.绘制中心线.............................................................................................................. - 3 -2.绘制法兰图轮廓上半部分...................................................................................... - 3 -3.镜像.......................................................................................................................... - 4 -4.绘制中心线.............................................................................................................. - 4 -5.绘制平行/垂直线.................................................................................................... - 5 -6.倒圆/倒角................................................................................................................ - 5 -8.剖面线...................................................................................................................... - 7 -9.局部放大图.............................................................................................................. - 8 -三.绘制法兰图俯视图轮廓形状........................................................................................ - 8 -1.画同心圆.................................................................................................................. - 8 -2.中心线...................................................................................................................... - 9 -3.平(角)分线.............................................................................................................. - 9 -4.单孔........................................................................................................................ - 10 -四.添加法兰图尺寸标注、符号标注.............................................................................. - 10 -1.尺寸标注................................................................................................................ - 10 -2.符号标注.............................................................................................................. - 13 -五.文字处理...................................................................................................................... - 16 -1.文字标注................................................................................................................ - 16 -2.技术条件................................................................................................................ - 16 - 第二部分法兰图装配图........................................................................................................ - 17 -一.新建装配图.................................................................................................................. - 17 -二.镜像图形...................................................................................................................... - 18 -三.调用参数化国标图库.................................................................................................. - 18 -四.序列号/明细表............................................................................................................ - 19 - 第三部分参数化设计.............................................................................................................. - 21 -一.参数化处理、参数化驱动.......................................................................................... - 21 -二.定义变量表达式、显示尺寸表达式/尺寸值............................................................ - 21 -三.设置/删除其辅助对象、保存参数化文件、参数化入库........................................ - 22 -四.参数化出库.................................................................................................................. - 23 -总述:全篇使用一个案例贯穿始终,详细介绍了应用中望机械绘制一幅机械零件图的全过程。

CAD三维入门经典教程

CAD三维入门经典教程

CAD三维入门经典教程CAD三维建模22.虽说已对三维绘图命令较为熟练,但仍难以快速制作所要的模型,是什么原因?11.CAD三维建模第一应做什么?答:首先应当熟悉世界坐标系和三维空间的关系。

其次是掌握CAD的用户坐标系以及多个视图的使用技巧。

另外必须熟悉面域的操作和多段线的编辑。

至于基本立体的绘图练全靠反复训练,掌握各自的特点。

切记:CAD的每一个命令中都蕴涵着各自的技巧,好好探索和熟练它们。

2.何为三维世界坐标系?答:世界坐标系是CAD在作图时,用于确定平面或空间点位置的一个笛卡尔坐标体系,每一个坐标的正向和另两个坐标的旋向必须符合右手定则。

CAD在平面作图时的三维世界坐标系标志是坐标符号图中有一“W”字样。

普通将X-Y平面了解为程度面,Z轴方向表示高度间隔,就是说“Z”值同等于用来肯定X-Y程度面高度的标高敕令“ELEV”。

无论是“Z”值还是“ELEV”值,其“+”值表示在X-Y面上方,而“-”值表示在X-Y面的下方。

用户在作图时要牢记这一点。

留意:不管你的三维建模设计多庞大,作图过程中一定要有个基本坐标体系不克不及变。

不然,作图方向的混乱,将使你堕入困境!3.如何灵活使用三维坐标?答:在三维实体建模的作图过程中,要经常地变更坐标体系,从而有利于作图。

CAD的世界坐标系是稳定的,主要是用户坐标系的变更,其敕令为“UCS”,它可以完成平移、新建坐标方向、旋转等功能。

执行过“UCS”后,敕令行提示以下:用户可以选择需要的项目。

如果选择新建项,即键如“N”后回车,则命令行再次显示为:用户即可确定Z轴方向,利用三点重新定坐标系或分别绕X、Y、Z轴旋转任意角度。

也可以打开工具条点击图标,如图一所示,常用的项目用户一定要熟练。

图一坐标变换工具条注意:坐标“UCS”的变换是作图方向或实体定位的需要,不可任意倾斜。

4.如何使用柱面坐标和球面坐标?答:这两个坐标主要适用于三维建模作图,而且在三维模型空间较为直观。

ucOS-II入门经典教程---第1章(共3章)PPT课件

ucOS-II入门经典教程---第1章(共3章)PPT课件

予任 境处务的存控理储制器位块的置提堆。供了栈运指行针环SP } OS另指控I…_TN外针制…CTB8再(块;U S用,P一它)个除,数了这据保个OS结存数TC构任据BP保务结ri存堆构o;任栈叫务指做//堆针任任栈之务务的优任作一先任务系个级务控统数别堆制另据栈块行结是构构由造,操的每
外还要负责保存任务其他信息。
化。 4.具有很强的实用性。 5.学习数据结构应用的好例子。
2021
讲座的主要内容
一.计算机操作系统的基本概念 二.操作系统中常用的数据结构 三.并发操作系统的概念 四.任务的要素 五. μC/OS-II的任务管理(任务调度) 六. μC/OS-II的中断和时钟 七. μC/OS-II的任务的同步与通信 八. μC/OS-II的存储管理 九.硬件抽象层和测试台
务联对的应一的些程数序据配实套结的体堆构栈就而叫构做成“的任务”
(一实个质实上体是。一个线程),任务μ堆C栈/OS-
II就是一个能对这些小任务的运
行进行管理和调度的多任务操作
系统。
2021
任务切获 的得 任换待 务运 控过行 制任 块程务
处理器的SP=任 务块中保存的SP
如何获得待运行 任务的任务控制
3。其中的所有元素名 a+2 a[2]
3。缺点:占用
称都相同,但每个元 a+3 a[3] 素都有一个编号;
连续空间大
… …
4。元素名去掉编号
(下标),得到的是 a+9 a[9]
数组名,数组名是个
指针。 应用:记录同类事物的表
2021
操作系统中经常使用 的数据结构(位图)
位图是数组的一种 特殊应用
a[10] (可以记录80个事物的状态)

C51单片机C语言入门经典教程

C51单片机C语言入门经典教程

C51单片机C语言入门经典教程
单片机C语言是机器语言的一种,它是一个非常强大的、复杂的、编
程语言。

单片机C语言的学习需要掌握几个核心概念,如内存、程序、数
据寄存器、指令集等。

一、学习单片机C语言,首先要了解计算机基本结构。

在计算机的整
个系统中,最重要的部分是处理器,处理器主要完成数据的运算和指令的
控制。

而内存则是处理器执行命令的场所,在处理器运行过程中,指令按
照特定的次序从内存中取出来,从而完成指令的操作。

这一系列运算称为"指令循环",即"程序循环",计算机就是按照指令循环的方式来运行的。

二、掌握单片机C语言,需要深入了解不同指令的含义和操作方式。

单片机C语言指令集主要分为十六进制(HEX)和二进制(Bin)两种形式。

十六进制的指令集主要由三个部分组成:操作码、操作符和操作数。

操作
码表示指令的作用,操作符表示指令的运算方向,而操作数则表示操作的
具体内容,比如操作的寄存器、地址、数据等。

而二进制指令集又可以分为"指令代码(Instr Code)"和"操作数标记(Op Codes)",前者表示指
令的实现方法,而后者表示操作数的类型及大小。

三、要掌握单片机C语言,还要熟悉常见的数据寄存器。

CDR基础教程经典必看

CDR基础教程经典必看

CDR基础教程二、CorelDRAW10的安装1、首先将corelDRAW10的第一张安装盘放入CD—ROM驱动器,操作系统会自动安装,显示安装界面,点击“下一步”。

2、打开我的电脑—双击驱动器—双击setup32.exe3、弹出“客户信息”对话框,可随便输入—下一步—下一步—下一步—下一步—下一步—取消—确定—确定。

三、PhotoShop与Corel的主要区别PhotoShop:对位图图像进行处理,放大后会出现方块状,图片会失真。

Corel:对矢量图形进行绘制,放大后不会出现方块状。

四、失量图与位图的区别:失量图是由一些线条组成,放大后不会产生据齿状,即图形不会失真。

而位图是由一些方块状组成,放大后则会产生据齿状,图形会失真。

五、CorelRAWR的基本功能(1)、文字处理(2)、位图处理六、图形的存储格式(1)、CDR格式:这是corelDRAW的专用格式。

(只能打开corelDRAW的文件。

)(2)、GIF格式:文件压缩比较大,占用磁盘空间小。

(3)、JPG格式:压缩比例可大可小,图片的质量较高。

(4)、BMP格式:几乎不压缩,占用空间大,但清晰度高。

(只能打开photoshop (5)、PSD格式:photoshop的专用格式。

的文件。

)七、图像的颜色模式RGB模式也称为光的三原色模式(也可称为加色模式)。

R:红色G:绿色B:蓝色CMYK模式的颜色也被称作印刷色。

(也可为减色模式。

)C:青色M:洋红色Y:黄色K:黑色灰度模式:由黑白两种颜色配合而成的高清晰度图像模式(针对点阵图而言的。

)八、CorelDRAW的主界面1、CorelDRAW的进入方法:双击桌面上的CorelDRAW图标;在第一次启动时会出现“欢迎界面”其选项的含义:新建图形:单击此按钮可以新建一篇空白的文件。

打开上次编辑的文件:单击此按钮将打开上一次关闭时最后正在编辑的文件。

打开图形:打开原来存盘的文件。

模板:单击此按钮可以从模板库中选择一种专业模板来进行工作。

C++学习经典教材十部

C++学习经典教材十部

1.《C++ Primer中文版》(第4版)【原书名】 C++ Primer (4th Edition)【原出版社】 Addison Wesley/Pearson【作者】(美)Stanley B.Lippman,Josée LaJoie,Barbara E.Moo【译者】李师贤【丛书名】图灵计算机科学丛书【出版社】人民邮电出版社本书是久负盛名的C++经典教程,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++.本版对前一版进行了彻底的修订,内容经过了重新组织,更加入了C++先驱Barbara E. Moo在C++教学方面的真知灼见。

既显著改善了可读性,又充分体现了C++语言的最新进展和当前的业界最佳实践。

书中不但新增大量教学辅助内容,用于强调重要的知识点,提醒常见的错误,推荐优秀的编程实践,给出使用提示,还包含大量来自实战的示例和习题。

对C++基本概念和技术全面而且权威的阐述,对现代C++编程风格的强调,使本书成为C++初学者的最佳指南;对于中高级程序员,本书也是不可或缺的参考书。

本书的前言阐述了第4版和前一版的不同之处。

难度:★★☆质量:★★★★★广度:★★★★★深度:★★★★性价:★★★☆2.《C++ Primer Plus》(第四版)中文版【原书名】 C++ Primer Plus,Fourth Edition【原出版社】 Sams【作者】(美)Stephen Prata【译者】孙建春韦强【丛书名】 Primer Plus 系列【出版社】人民邮电出版社本书针对的是C++初学者,书中从C语言基础知识开始介绍,然后在此基础上详细阐述C++新增的特性,因此不要求读者有C语言方面的背景知识。

本书可作为大中院校教授C++课程的教材,也可供初学者自学C++时使用。

单片机经典教程

单片机经典教程

单⽚机经典教程单⽚机经典教程1 什么是单⽚机?单⽚机的结构及组成单⽚机,专业名称—Micro Controller Unit(微控制器件),它是由⼤名⿍⿍的INTEL公司发明的,最早的系列是MCS-48,后来有了MCS-51,现在还有MCS-96系列,我们经常说的51系列单⽚机就是MCS-51,它是⼀种8位的单⽚机,⽽MCS-96系列则是⼀种16位的单⽚机,⾄于它们之间有何区别,我们以后会讲到。

后来INTEL公司把它的核⼼技术转让给了世界上很多的⼩公司(不过,再⼩也有⼏个亿的销售/年哦),所以世界上就有许多公司⽣产51系列兼容单⽚机,⽐如飞利浦的87 LPC系列,伟邦的W78L系列,达拉斯的DS87系列,现代GSM97系列等等,⽬前在我国⽐较流⾏的就是美国ATMEL公司的89C51它是⼀种带Flash ROM的单⽚机(⾄于什么是Flash ROM,我在这⼉先不作介绍,等以后⼤家学到相关的知识时⾃然就会明⽩),我们的讲座就是以该型号的单⽚机来作实验的。

讲到这⾥,也许有的⼈会问:我平时在各种书上看到全是讲解8031,8051等型号的单⽚机,它们⼜有什么不同呢?其实它们同属于⼀个系列,只是89C51的单⽚机更新型⼀点(事实上,89C51⽬前正在⽤89S51代替,我们的实验系统采⽤就是89S52的,兼容89C52)。

这⾥随便说⼀下,⽬前国内的单⽚机教材都是以8051为蓝本的,尽管其内核也是51系列的,但毕竟8051的单⽚机已经属于淘汰产品,在市场上也很少见到了,所以由此感叹,国内的⾼等教育是如此的跟不上时代的发展需要!这话可能会引起很多⼈的不满,所以⼤家千万别传出去哦!⼆.主要单⽚机的分类再给⼤家介绍⼀下我们经常在各种刊物上看到的AVR系列和PIC系列单⽚机是怎么回事?以便让⼤家对单⽚机的发展有⼀个较全⾯的认识。

在没有学习单⽚机之前,这是⼀个令很多初学者⾮常困惑的问题,这么多的单⽚机我该先学哪⼀种呢?AVR系列单⽚机也是ATMEL公司⽣产的⼀种8位单⽚机,它采⽤的是⼀种叫RISC(精简指令集单⽚机)的结构,所以它的技术和51系列有所不同,开发设备也和51系列是不通⽤的,它的⼀条指令的运⾏速度可以达到纳秒级(即每秒1000000000次),是8位单⽚机中的⾼端产品。

CAD经典教程(含图片)

CAD经典教程(含图片)
在选择所需要的线型→确定→在选择所需要的线型→确定)
(7)线宽:设置线的宽度(必须按下“线宽”按钮才能显示最终 效果)。
(8)删除:注意:图层0和定义点、当前层、包含对象的图 层不能进行删除操作。
第54页,共84页。
二、文字
1、分类:单行文字;多行文字。 2、单行文字的使用: 1)命令:(dtext) 2)参数: (1)对正(J):用于设置文字的对齐方式。 (2)样式(S):选择已定义好的文字样式。
第52页,共84页。
一、图层
2)设置: (1)“灯”:控制图层的显示和隐藏。(隐 藏后可以进行删除操作) (2)冻结/解冻:控制图层的显示和隐藏,冻 结后不可以进行任何操作。 (3)锁定:不可以进行任何操作。 (4)打印:控制当前层是否打印输出。
第53页,共84页。
一、图层
(5)颜色:只能控制当前层(对象特性中的颜色:Bylayer(随 层),当选择其它颜色时,原有图层的颜色不在有用) (6)线型:用于选择所需要的线的类型(操作:点击线型→加载→
第55页,共84页。
二、文字
附:1、文字样式的定义: 格式→文字样式(Style)→点击新建、输入样 式名称,点击确定→选择“字体名” →应用、 关闭。
第56页,共84页。
二、文字
附: 2、缩放(Zoom)
参数:
1)全部(A)在当前视图中显示所有图形。 2)范围(E)在当前视图中最大化显示所有图形。 3)中心点(C)以选择的点为中心,来最大化显示一个范围
一、其他绘图工具
2、椭圆(ELlipse) 参数: 1)中心点:用于已知椭圆的中心点位置,以及
两个半轴长度。 2)轴、端点:用于已知椭圆的一个轴长,以及
另一个半轴长度。 3)圆弧:先做出椭圆,然后在椭圆上选择所需

中望CAD教程经典

中望CAD教程经典

总述:- 1 -令狐采学第一部分基本绘图、标注- 2 -一.绘制图框- 2 -1.设置图纸- 2 -2.标题栏、附加栏、参数栏填充- 2 -二.绘制法兰图主轮廓形状- 3 -1.绘制中心线- 3 -2.绘制法兰图轮廓上半部分- 3 -3.镜像- 4 -4.绘制中心线- 4 -5.绘制平行/垂直线- 5 -6.倒圆/倒角- 5 -8.剖面线- 7 -9.局部放大图- 8 -三.绘制法兰图俯视图轮廓形状- 8 -1.画同心圆- 8 -2.中心线- 9 -3.平(角)分线- 9 -4.单孔- 10 -四.添加法兰图尺寸标注、符号标注- 10 -1.尺寸标注- 10 -2.符号标注- 13 -五.文字处理- 16 -1.文字标注- 16 -2.技术条件- 16 -第二部分法兰图装配图- 17 -一.新建装配图- 17 -二.镜像图形- 18 -三.调用参数化国标图库- 18 -四.序列号/明细表- 19 -第三部分参数化设计- 21 -一.参数化处理、参数化驱动- 21 -二.定义变量表达式、显示尺寸表达式/尺寸值- 21 -三.设置/删除其辅助对象、保存参数化文件、参数化入库- 22 -四.参数化出库- 23 -总述:全篇使用一个案例贯穿始终,详细介绍了应用中望机械绘制一幅机械零件图的全过程。

绘制过程中应用到了中望机械二次开发模块当中的大部分功能,可以举一反三,将绘图思路应用到其它图形的绘制中。

打开中望机械,默认情况下会在界面的右侧出现“中望机械”的菜单栏。

在菜单的空白处单击右键,可以从下拉菜单“屏幕菜单”打勾或不打勾,来打开和关闭“中望机械”菜单。

绘制的图形全貌如下:组装图形全貌如下:第一部分基本绘图、标注目的:熟悉中望机械的菜单结构,了解图框、中心线、框架、倒圆/倒角、平行线、标注公差、剖面线、角平分线等绘图方法。

准备工作:一张新建的图纸、一些和法兰图相关的数据。

设置图层(1轮廓线实层、2中心线层、3虚线层、4抛面线层、5文字层、6标注层、7符号标注层)一.绘制图框1.设置图纸菜单:中望机械→图纸→图纸设置(中望机械菜单上的功能会加上“中望机械”的字样,平台的功能就直接在菜单栏上选择,下同)命令:PAPERSET在菜单上点取命令后,程序进入到图1所示对话框,在图幅中选择A3,点取确定按钮,对话框消失,程序自动建立图框。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if (width < height)
{
dosomething();
}
if (width < height) dosomething();
for (initialization; condition; update)
{
dosomething();
}
//空行
other();
for (initialization; condition; update)
… // program code
}
While (condition)
{
… // program code
}
while (condition){
… // program code
}
如果出现嵌套的{},则使用缩进对齐,如:
{

{

}

}
示例2-4(a)风格良好的对齐示例2-4(b)风格不良的对齐
2.5长行拆分
int *x, y; //此处y不会被误解为指针
2.7注释
C语言的注释符为“/*…*/”。C++语言中,程序块的注释常采用“/*…*/”,行注释一般采用“//…”。注释通常用于:
(1)版本、版权声明;
(2)函数接口说明;
(3)重要的代码行或段落提示。
虽然注释有助于理解代码,但注意不可过多地使用注释。参见示例2-6。
示例2-4(a)为风格良好的对齐,示例2-4(b)为风格不良的对齐。
void Function(int x)
{
… // program code
}
void Function(int x){
… // program code
}
if (condition)
{
… // program code
}
else
{
/*
*函数介绍:
*输入参数:
*输出参数:
*返回值:
*/
void Function(float x, float y, float z)
{

}
if (…)
{

while (…)
{

} // end of while

} // end of if
示例2-6程序的注释
2.8类的版式
类可以将数据和函数封装在一起,其中函数表示了类的行为(或称服务)。类提供关键字public、protected和private,分别用于声明哪些数据和函数是公有的、受保护的或者是私有的。这样可以达到信息隐藏的目的,即让类仅仅公开必须要让外界知道的内容,而隐藏其它一切内容。我们不可以滥用类的封装功能,不要把它当成火锅,什么东西都往里扔。
CMatrix rightMatrix);
for (very_longer_initialization;
very_longer_condition;
very_longer_update)
{
dosomething();
}
示例2-5长行的拆分
2.6修饰符的位置
修饰符*和&应该靠近数据类型还是该靠近变量名,是个有争议的活题。
//空行
void Function1(…)
{

}
//空行
void Function2(…)
{

}
//空行
void Function3(…)
{

}
//空行
while (condition)
{
statement1;
//空行
if (condition)
{
statement2;
}
else
{
statement3;
a.Function(); //不要写成a . Function();
b->Function(); //不要写成b -> Function();
示例2-3代码行内的空格
2.4对齐
ll【规则2-4-1】程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用它们的语句左对齐。
ll【规则2-4-2】{ }之内的代码块在‘{’右边数格处左对齐。
ll【规则2-3-2】函数名之后不要留空格,紧跟左括号‘(’,以与关键字区别。
ll【规则2-3-3】‘(’向后紧跟,‘)’、‘,’、‘;’向前紧跟,紧跟处不留空格。
ll【规则2-3-4】‘,’之后要留空格,如Function(x, y, z)。如果‘;’不是一行的结束符号,其后要留空格,如for (initialization; condition; update)。
for(i=0;i<10;i++) //不良的风格
for (i = 0; I < 10; i ++) //过多的空格
x = a < b ? a : b; //良好的风格
x=a<b?a:b; //不好的风格
int *x = &y; //良好的风格
int * x = & y; //不良的风格
array[5] = 0; //不要写成array [ 5 ] = 0;
int width = 10; //定义并初绐化width
int height = 10; //定义并初绐化height
int depth = 10; //定义并初绐化depth
2.3代码行内的空格
ll【规则2-3-1】关键字之后要留空格。象const、virtual、inline、case等关键字之后至少要留一个空格,否则无法辨析关键字。象if、for、while等关键字之后应留一个空格再跟左括号‘(’,以突出关键字。
&& (very_longer_variable3 <= very_longer_variable14)
&& (very_longer_variable5 <= very_longer_variable16))
{
dosomething();
}
virtual CMatrix CMultiplyMatrix (CMatrix leftMatrix,
… // program code
}
if (condition){
… // program code
}
else {
… // program code
}
for (initialization; condition; update)
{
… // program code
}
for (initialization; condition; update){
ll【规则2-3-7】象“[]”、“.”、“->”这类操作符前后不加空格。
²²【建议2-3-1】对于表达式比较长的for语句和if语句,为了紧凑起见可以适当地去掉一些空格,如for (i=0; i<10; i++)和if ((a<=b) && (c<=d))
void Func1(int x, int y, int z); //良好的风格
class A
{
private:
int i, j;
float x, y;

public:
void Func1(void);
void Func2(void);

}
class A
{
public:
void Func1(void);
void Func2(void);

private:
int i, j;
float x, y;
C++/C经典教程(二)
第二章程序的版式
版式虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是程序风格的重要构成因素。
可以把程序的版式比喻为“书法”。好的“书法”可让人对程序一目了然,看得兴致勃勃。差的程序“书法”如螃蟹爬行,让人看得索然无味,更令维护者烦恼有加。请程序员们学习程序的“书法”,弥补大学计算机教育的漏洞,实在很有必要。
2.1空行
空行起着分隔程序段落的作用。空行得体(不过多也不过少)将使程序的布局更加清晰。空行不会浪费内存,虽然打印含有空行的程序是会多消耗一些纸张,但是值得。所以不要舍不得用空行。
ll【规则2-1-1】在每个类声明之后、每个函数定义结束之后都要加空行。参见示例2-1(a)
ll【规则2-1-2】在一个函数体内,逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔。参见示例2-1(b)
dosomething();
other();
示例2-2(a)风格良好的代码行示例2-2(b)风格不良的代码行
²²【建议2-2-1】尽可能在定义变量的同时初始化该变量(就近原则)
如果变量的引用处和其定义处相隔比较远,变量的初始化很容易被忘记。如果引用了未被初始化的变量,可能会导致程序错误。本建议可以减少隐患。例如
若将修饰符*靠近数据类型,例如:int* x;从语义上讲此写法比较直观,即x是int类型的指针。
上述写法的弊端是容易引起误解,例如:int* x, y;此处y容易被误解为指针变量。虽然将x和y分行定义可以避免误解,但并不是人人都愿意这样做。
ll【规则2-6-1】应当将修饰符*和&紧靠变量名
例如:
char *name;
ll【规则2-3-5】赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“=”、“+=”“>=”、“<=”、“+”、“*”、“%”、“&&”、“||”、“<<”,“^”等二元操作符的前后应当加空格。
相关文档
最新文档