《好学的C++程序设计》——1.3 C++程序怎样写出和运行-阿里云开发者社区

开发者社区> 异步社区> 正文

《好学的C++程序设计》——1.3 C++程序怎样写出和运行

简介:
+关注继续查看

本节书摘来自异步社区出版社《好学的C++程序设计》一书中的第1章,第1.3节,作者: 张祖浩 , 沈天晴,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 C++程序怎样写出和运行

好学的C++程序设计

1.3.1 举个C++程序简例看看

【例1-1】试用C++语言设计一个程序,输入两个任意整数,输出二者之差的绝对值。

算法:先输入两个整数,然后两个数相减得差dif。若dif为负,则输出-dif;若dif为正,则输出dif。输出的结果就是绝对值。此过程就是算法。根据算法,设计程序如下:

#include<iostream>       //包含头文件iostream。
using namespace std;     //使用命名空间std。
int main()           // main是主函数。程序从主函数开始执行。
{                //花括弧之间的内容就是主函数main要做的事。
 int a,b,dif;         //声明a,b和dif是3个整数类型(int)变量。
 cout<<"请输入被减数"<<'\n';  //屏幕显示“请输入被减数”。‘\n’是换行的意思。
 cin>>a;            //从键盘对变量a输入整数。
 cout<<"请输入减数"<<'\n';   //屏幕显示“请输入减数”。‘\n’是换行的意思。
 cin>>b;            //从键盘对变量b输入整数。
 dif=a-b;            //求出a-b,通过赋值运算符"="赋给变量dif。
 cout<<"二数之差的绝对值是:";  //输出“二数之差的绝对值是:”至屏幕显示。
 if(dif<0) cout<<-dif<<'\n';  //若表达式dif<0为真,则输出 -dif值。换行。
 else  cout<<dif<<'\n';    //否则,输出dif。换行('\n'是换行的意思)。
 return 0;           //程序正常执行,返回0。
}

运行情况如下:

请输入被减数;      //屏幕上显示出“请输入被减数:”。
24↙           //键盘输入24,↙表示打一个Enter键。
请输入减数;       //屏幕上显示“请输入减数:”。
68↙           //键盘输入68,↙表示打一个Enter键。
二数之差的绝对值是:44  //屏幕上显示所计算的绝对值结果。

通过这个简单的例子,我们说明以下几点:

1.注释

程序的右边,以“//”开头写出的一行字是程序的注释。这种注释的写法只限在一行之内有效。如果一个注释超过了一行,则注释必须改为以“/”开头,以“/”结尾。

注释的作用是对程序作些解释,以便让人们能看懂程序,即提高程序的可读性。例如,我们把上例程序结合注释来看,基本能看懂。但是,注释是不参与程序运行的。

2.包含头文件和使用命名空间std

按标准C++的新要求,程序的头两行用了“#include”和“using namespace std”,意思是包含头文件iostream和使用命名空间std。这两行是为程序中所要用的输入和输出提供必要支持的,其道理暂且不去深究。只是要记住,每逢程序设计,开头总少不了要写上这两行。

3.主函数

int main()表示主函数,main是函数名。int表示最后返回一个整数。程序总是从主函数main开始执行。下面花括弧所括的内容是函数所要做的事,叫函数体。若程序正常执行完毕,最后就向操作系统返回数值0(即return 0),否则返回数值−1(即return −1)。

4.标识符

我们给变量等所取的名字,如程序中变量名a、b和dif,统称为标识符。标识符限定只能由大写字母、小写字母、数字或下划线组成,并且只能以字母或下划线开头。大小写字母有区别。例如,对于_B2d和_b2d,虽然都是合法的标识符,但因有大小写字母的不同,二者不可视为同一个标识符。

5.关键字

在C++语言中,已经具有特定含义的词叫做关键字。例如main、int、if、else,等等都是关键字。我们取名字所用的标识符不可与关键字相同。

6.语句

程序中语句要用分号“;”结尾,分号是语句的组成部分。语句不一定一行只写一句。在一行中写好几句,或一句写成好几行都行。分行写和缩进写只是为求醒目,便于看懂而已。

对于程序中其他标点符号,以后随讲随看随记,逐渐积累是不难的。

7.流程控制

if和else两条语句显然是对程序进行流程控制的,它把程序流程分为两个分支。括弧中的表达式dif<0就是作逻辑判别用的,叫判别式。若判别式“dif<0”为真,就执行cout<<-dif<<'n';;否则,就执行cout<

8.程序的流程图(见图1.4)

程序流程图就是表示程序执行步骤的图。上述例1-1的程序流程可用文字表达如下:

(1)首先对变量a,b和dif作一个声明,表明这三者都是整数类型(int)。

(2)对变量a和b分别输入整数,作为被减数和减数。

(3)将a减b所得之差(a-b)赋予变量dif。程序中用的运算符“=”是赋值的意思。

(4)判别表达式dif<0是真还是假。

(5)若为真(图中1表示真),则输出-dif。

(6)若为假(图中0表示假),则输出dif。

image

例1-1中,程序的流程图可以表示如图1.4所示。其中图1.4(a)叫做框图。从开始框开始,图中箭头表示流程的方向,每一个框都表明了一个步骤。菱形框内的式子“dif<0”是供逻辑判别用的表达式(叫做判别式)。菱形尖角处“1”表示“真”,“0”表示“假”。判别“dif<0”是真还是假,由此分流出两个分支,在两个分支中选用一支。这就是所谓“流程控制”。最后用结束框表示程序结束。

如果把框图中的箭头和线条省略,就可构成图图1.4(b)的形式。图1.4(b)是表示流程的另一种简示图,称为N-S图。它较紧凑、简明、好懂,并且在程序复杂时,可免得线条多,看花了眼。但它的含义是和图1.4(a)一样的,以后见到它要能知道它的含义。

1.3.2 C++程序从写出到运行的几个步骤
(1)用C++语言写出的程序,叫源程序。经编辑输入计算机后形成扩展名为cpp的源文件。cpp是c plus plus的缩写,即C++的意思。

(2)源程序经过编译系统翻译,成为用机器语言表示的目标程序。目标程序又称目标代码或程序代码。由此形成扩展名为obj的目标文件,obj是object的缩写。

(3)把各相关文件链接起来形成扩展名为exe的可执行文件。

在以上每一个步骤中,如果有错就必须及时修正。待每一步中的错误都修正后,最后在运行中进行调试、修正并完善之。具体的上机操作见第12章12.1节。

1.3.3 本书前几章内容的安排

从上面简单程序可看出,程序虽简单,但涉及数据类型、运算符和表达式、输入和输出、流程控制、函数以及编译预处理(例如#include)等方面的知识。而这些正是第2章、第3章、第4章、第5章的内容,是必须首先搞懂的。至于后续章节内容,到时候我们再谈。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《Android程序设计》一1.6 关于代码阅读
本节书摘来自华章出版社《Android程序设计》一 书中的第1章,第1.6节,作者:G. Blake Meike, Masumi Nakamura,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
578 0
《C语言程序设计》一 第 3 章 程序的控制结构Ⅰ——选择结构程序设计
本节书摘来自华章出版社《C语言程序设计》一 书中的第3章,作者:赵宏 陈旭东 马迪芳,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
828 0
【CSS3 入门教程系列】CSS3 Media Queries 实现响应式设计
  在 CSS2 中,你可以为不同的媒介设备(如屏幕、打印机)指定专用的样式表,而现在借助 CSS3 的 Media Queries 特性,可以更为有效的实现这个功能。你可以为媒介类型添加某些条件,检测设备并采用不同的样式表。
768 0
C#设计模式学习笔记-单例模式
本文转载:http://www.cnblogs.com/xun126/archive/2011/03/09/1970807.html最近在学设计模式,学到创建型模式的时候,碰到单例模式(或叫单件模式),现在整理一下笔记。
850 0
【转】C# 计算程序运行时间
 1 //计算程序运行时间(.net1.1 于.net2.0的区别)在.net2.0中提供了Stopwatch类,简单例子  2 using System.Diagnostics;  3  4 private Stopwatch stw = new Stopwatch();  5  6 pri...
600 0
c# 设计模式之单例模式学习
c#的设计模式有很多种,当然也可以说语言的设计模式有很多种(23种),单例模式应该是其中最简单的一种,但是不要因为简单而小看他,否则最后后悔的肯定是你 单例模式包括懒汉模式(还有多线程下的锁定)、恶汉模式 下面写一下饿汉模式的实现原理:  public Class Singleton { ...
928 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
12049
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载