当前位置: 首页 > 文档资料 > C++大学教程 >

1.15 简单程序

优质
小牛编辑
158浏览
2023-12-01

C++使用非程序员可能感到奇怪的符号。我们首先介绍一个简单程序:打印一行文本。程序及其屏输出如图1.2。

这段程序演示了C++语言的几个重要特性。我们详细介绍程序的每一行。

// Fig.1.2:fig1_02.cpp
// A first program in

C++ 以//开头,表示该选项其余部分是注释语句(comment)。程序员手稿注释语句用来说明和提高程序的可读性。注释语句还可以帮助其它人阅读和理解程序。在运行程序时注释语句并不使计算机采用任何操作。C++编译器忽略注释误句,不产生任何机器目标码。注释语句"first program in C++"只是描述该程序的用途。以//开头的说明语句称为单行貹注释语句(singned-line comment),因为该注释语句在行尾结束(注意:C++程序员也可以用C语言注释语句样式,即注释语句以/*开头,以*/结束)。

// Fig. 1.2:fig01_02.cpp
// A first program in C++
#include<iostream.h>
int main(){
  cout<<"Welcom to C++!\n";
  rerturn 0; // indicate that program ended sucessfully
}

输出结果:

Welcom to C++!

编程技巧1.4

每段程序以注释语句开头,描述该语句的用途。

下列语句:

#include<iostream.h>

是条预处理指令(preprocessor directive),是发给C++预处理器的消息。预处理器先处理以#开头的一行语句之后再编译该程序。为一行预处理指令告诉预处理器要在程序中包括输入、输出泫头文件iostream.h的内容。应该在任何使用C++式输入、输出泫从键盘输入数据或向屏幕输出数据的程序中包括这个头文件。图1.2中的程序向屏幕输出数据,iostream.h的内容将在稍后详细介绍。注意,最新ANSI、ISO C++杂标准实际上指定iostream.h和其它标准头文件不需要后缀.h,如iostream。我们在本书余下部分继续使用旧式头文件,因为许多编译器还不支持最新的ANSI/ISO
C++草案标准。1.20节将再次介绍这个例子,演示如何使用新式头文件。

常见编程错误1.2

如果从键盘输入数据或向屏幕输出数据的程序中没有包括iostream.h头文件,则编译器会发出一个错误信息。

下列语句:

int main()

是每个C++程序都包的语句。main后面的括号表示main是个程序基本组件,称为函数(function)。C++程序包含一个或几个函数,其中有且只有一个main函数即使main不是程序中的第一个函数,C++程序通常都从main函数开始执行。main左边的关键字int表示main返回一个整数值。我们将在第3章深入介绍函数时再介绍返回值的含义。目前只要在每个程序的main函数的左边包括关键字int即可。

左花括号({)应放在每个函数体(body)开头,对应右花括号(})应放在每个函数的结尾。下列语句:

cout<<"Welcom to C++!\n";

让计算机在屏幕上打印引号之间的字符串(string)。

整个行称为语句(statement),包括cout<<运算符、字衔串"Welcom to C++!\n"和分号(;)。每条语句应以分号(又称为语句终止符)结束。C++中的输出和输入是用字符流(stream)完成的,这样,执行上述语句时,将字符流"Welcom to C++!"发送到标准输出流对象(standard output stream object)cout,通常cout将其输出到屏幕。第11章“C++输入/输出流”中将详细介绍cout。

运算符<<称为流插入符(strem insertion operator)。执行这个程序时,运算符右边的值(历操作数)插入输出流中。历操作数通常按引号中的原样直接打印。但注意字符\n不在屏幕中打印。反斜杠(\)称为转义符(escap character),表示要输出特殊字符。字符串中遇到反斜杠时,下一个字符与反斜杠组合,形成转义序列(escape sequence)。转义序列\n表示换行符(newline)。使光标(即当前屏幕位置的指示符)移到下一行开头。表1.3列出了常用转义序列。

常见编程错误1.3

省略语句末尾的分号是个语法错误,语法错误编译器无法识别一个语句。编译器通常会发出错误消息,帮助程序员找到和纠正错误 。语法错误即违反了语言规则。语法错误也称为编译错误,因为它们在编译阶段出现。

下列语句:

return 0; // indicate that program ended sucessfully

放在每个main函数的末尾。C++的关键字return 是退出函数的几种方式之一。main函数末尾使用return语句时,数值0表示顺利结束。第3章将详细介绍和解释包括这个语句的原因。目前只要记住在每个程序中都要包括这个语句。否则在某些程序中编译器会产生警告消息。

右花括号(})表示main函数结束。

转义序列说明
\n换行符,使屏幕光标移到屏幕中下一行开头
\t水平制表符,使屏幕光标移到下一制表位
\r回车符,使屏幕光标移到当前行开头,不移到下一行
\a警告,发出系统警告声音
\\反斜杠,打印反斜杠符
\"双引号,打印双引号

编程技巧1.5

许多程序员让函数打印的最后一个字符为换行符(\n)。这样可以保证函数使屏幕光标移到屏幕中下一行开头,这种习惯能促进软件复用,这是软件开发环境中的关键目标。

编程技巧1.6

将每个函数的整个函数体在定义函数体的花括号中缩排一级,可使程序的函数结构更明显.使程序更易读。

编程技巧1.7

确定一个喜欢的缩排长度,然后一直坚持这个缩排长度。可以用制表符生成缩排,但制表位可能改变。建议用1/4英寸制表位或三个空格的缩排长度。

"Welcom to C++!"可用多种方法打印。例如,图1.4的程序用多条流插入语句,产生的程序输出与图1.2相同,因为每条流插人语句在上一条语句停止的位置开始打印。第一个流插入语句打印“Welcome”和空格,第二条流插入语句打印同一行空格后面的内容。C++允许以多种方式表达语句。

一条语句也可以用换行符打印多行,如图1.5。每次在输出流中遇到\n转义序列时,屏幕光标穆到下一行开头。要在输出中得到空行,只要将两个\n放在一起即可,如图1.5。

// Fig. 1.4:fig01_04.cpp
// printing a line with multple statements
#include<iostream.h>
int main() {
  cout<<"Welcom ";
  cout<<"to C++!\n";
  return 0;
}

输出结果:

Welcom to C++!

图 1.4 用多条流插入语句打印一行

// Fig.1.5:fig01_05.cpp
// printing multiple lines with a single statement
#include<iostream.h>
int main(){
  cout<<"Welcom\nto\n\nC++!\n";
  return 0; // indicate that program ended sucessfully
}

输出结果:

Welcome
to 

C++!

图1.5 用一条流插入语句打印多行