C++程序的构成和书写形式
C++程序的结构和书写格式归纳如下:
(1) 一个C++程序可以由一个程序单位或多个程序单位构成。每一个程序单位作为一个文件。在程序编译时,编译系统分别对各个文件进行编译,因此,一个文件是一个编译单元。
(2) 在一个程序单位中,可以包括以下几个部分:
① 预处理命令。上节4个程序中都包括#include命令。
② 全局声明部分(在函数外的声明部分)。在这部分中包括对用户自己定义的数据类型的声明和程序中所用到的变量的定义。
③ 函数。函数是实现操作的部分,因此函数是程序中必须有的和最基本的组成部分。每一个程序必须包括一个或多个函数,其中必须有一个(而且只能有一个)主函 数(main函数)。
但是并不要求每一个程序文件都必须具有以上3个部分,可以缺少某些部分(包括函数)。
(3) 一个函数由两部分组成:
① 函数首部,即函数的第一行。包括函数名、函数类型、函数属性、函数参数(形参)名、参数类型。
一个函数名后面必须跟一对圆括号, 函数参数可以缺省,如int main( )。
② 函数体,即函数首部下面的大括号内的部分。如果在一个函数中有多个大括号,则最外层的一对{ }为函数体的范围。
函数体一般包括:
•局部声明部分 (在函数内的声明部分)。包括对本函数中所用到的类型、函数的声明和变量的定义。
对数据的声明既可以放在函数之外(其作用范围是全局的),也可以放在函数内(其作用范围是局部的,只在本函数内有效)。
•执行部分。由若干个执行语句组成,用来进行有关的操作,以实现函数的功能。
(4) 语句包括两类。一类是声明语句,另一类是执行语句。 C++对每一种语句赋予一种特定的功能。语句是实现操作的基本成分,显然,没有语句的函数 是没有意义的。C++语句必须以分号结束。
(5) 一个C++程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何。
(6) 类(class)是C++新增加的重要的数据类型,是C++对C的最重要的发展。有了类,就可以实现面向对象程序设计方法中的封装、信息隐蔽、继承、 派生、多态等功能。在一个类中可以包括数据成员和成员函数,他们可以被指定为私有的(private)和公用的(public)属性。私有的数据成员和成 员函数只能被本类的成员函数所调用。
(7)C++程序书写格式自由,一行内可以写几个语句, 一个语句可以分写在多行上。C++程序没有行号,也不像FORTRAN或COBOL那样严格规定书写格 式(语句必须从某一列开始书写)。
(8) 一个好的、有使用价值的源程序都应当加上必要的注释,以增加程序的可读性。C++还保留了C语言的注释形式,可以用“/*……*/”对C++程序中的 任何部分作注释。在“/*”和“*/”之间的全部内容作为注释。
用“//”作注释时,有效范围只有一行,即本行有效,不能跨行。而用“/*……*/”作注释时有效范围为多行。只要在开始处有一个“/*”,在最后一 行结束处有一个“*/”即可。因此,一般习惯是: 内容较少的简单注释常用“//”,内容较长的常用“/*……*/ ”
C++程序的构成和书写形式的更多相关文章
- 微信小程序前端样式WXSS书写
微信小程序前端样式WXSS书写 一. WXSS的简单介绍 WXSS(WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式. 与 CSS 相比,WXSS 扩展的特性有: ...
- 将多窗体应用程序改造为仿Chrome形式的简易方法
需求 在我们现有的ERP应用中,他是基于WinForm设计的,在早期的设计中,我们每打开一个作业,就会新建一个窗口,就像这样: 当我们打开很多的作业时,用户要通过Windows的任务栏慢慢找到,当然, ...
- python中的coding的格式书写形式
# -*- coding:utf-8 -*-可以改写成以下各种形式:1,# -*- coding=utf-8 -*-2,# _*_ coding=utf-8 _*_3,# coding:utf-84 ...
- 小记:iOS 中一般对于 view 不依赖 model 的的两种代码书写形式
一. 前言 对于在 MVC 的定义中,view 层是不引用 model 层,view 和 model 是不相往来的 一般开发中,我们都写过 在自定义 view 中增加一个 model 的属性,外接直接 ...
- 后端程序员必备:书写高质量SQL的30条建议
前言 本文将结合实例demo,阐述30条有关于优化SQL的建议,多数是实际开发中总结出来的,希望对大家有帮助. 1.查询SQL尽量不要使用select *,而是select具体字段. 反例子: sel ...
- vue组件的3种书写形式
第一种使用script标签 <!DOCTYPE html> <html> <body> <div id="app"> <my- ...
- Noj - 在线强化训练4
状态 题号 竞赛题号 标题 × 1092 A 童年的回忆——计算24 × 1145 B 求图像的周长 × 1144 C 农场灌溉问题 × 1202 D 数独游戏 × 1243 E 循环赛日程表 × 1 ...
- .Net 自定义应用程序配置
.Net 自定义应用程序配置 引言 几乎所有的应用程序都离不开配置,有时候我们会将配置信息存在数据库中(例如大家可能常会见到名为Config这样的表):更多时候,我们会将配置写在Web.config或 ...
- C++程序结构---1
C++ 基础教程Beta 版 原作:Juan Soulié 翻译:Jing Xu (aqua) 英文原版 本教程根据Juan Soulie的英文版C++教程翻译并改编. 本版为最新校对版,尚未定稿.如 ...
随机推荐
- [转] Android进阶——安卓接入微信,获取OpenID
PS: sendAuthRequest拿到code,通过code拿到access_token和openId,access_token可以拿到用户的信息 http://blog.csdn.net/hao ...
- Android5.0之CoordinatorLayout的使用
CoordinatorLayout,中文译作协调者布局,光听这名字你可能很难判断出协调者布局有什么特点,那么我们来看看下面一张图片: 由于CSDN对图片大小的要求,我只能录制一个快速播放的动画,请大家 ...
- iOS 并行编程:GCD Dispatch Sources
1 简介 dispatch source是一种用于处理事件的数据类型,这些被处理的事件为操作系统中的底层级别.Grand Central Dispatch(GCD)支持如下的dispatch sour ...
- 迭代器模式(Iterator Pattern)
迭代器模式定义:Iterator Pattern提供一种方法顺序访问一个聚合元素中的各个元素,而又不暴漏内部方法 酒吧提供beer和wine: public class Bar { private L ...
- PHP计算2点经纬度之间的距离
hp] view plaincopy function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longit ...
- java strtus2 注解配置入门(一)
因为工作的原因,所以接触到一些项目,有的项目虽然看着能有跟着做,可是具体里面的框架是别人配置的,具体框架还是不是非常的了解,所以这里在看一下我学到的 一点关于struts2中注解开发的一点点. 直接代 ...
- 教你记住ASP.NET WebForm页面的生命周期
对于ASP.NET Webform的开发者,理解ASP.NET Webform的页面生命周期是非常重要的.主要是为了搞明白在哪里放置特定的方法和在何时设置各种页面属性.但是记忆和理解页面生命周期里提供 ...
- sublime text3输入中文的问题.
1.新建sublime_imfix.c文件 里面输入: /* * sublime-imfix.c * Use LD_PRELOAD to interpose some function to fix ...
- MVC中,查询以异步呈现,分页不用异步的解决方案
MVC中,查询以异步呈现,分页不用异步的解决方案 这种需求,用一个ASPX页面和一个ASCX分部视图就可以解决了,ASPX提供对ASCX的引用,ASCX显示列表信息,ASPX主页面提供查询功能 < ...
- oracle 11g不能连接报ORA-12537+ora-609解决
操作系统: windows2008 数据库:oracle11g 问题发生:一套正常跑了一年的应用系统,忽然无法连接上数据库,但是另外一个应用可以正常链接,数据入库正常. 数据库服务器端查看: 使用 l ...