第1篇 面向过程的C++编程
图1-12 主窗口
?说明:stdio.h是C语言的输入输出支持头文件,iostream.h是C++的输入输出头文件。创
建32位控制台应用程序时,Visual Studio 6.0默认使用的I/O头文件是stdio.h,因此需要改成iostream.h。这是将负责输入输出的头文件引入,为了在后面使用cin和cout输入输出流。修改后的stdafx.h文件如下所示。
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but // are changed infrequently
#if !defined(AFX_STDAFX_H__AE3AD910_2C76_44B4_A864_1212C9114CAD__INCLUDED_)
#define AFX_STDAFX_H__AE3AD910_2C76_44B4_A864_1212C9114CAD__INCLUDED_ #if _MSC_VER > 1000 #pragma once
#endif // _MSC_VER > 1000 #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#include
// TODO: reference additional headers your program requires here //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif
// !defined(AFX_STDAFX_H__AE3AD910_2C76_44B4_A864_1212C9114CAD__INCLUDED_)
(7)经过上述修改后,还需要修改test.cpp文件,该文件是程序的主要实现文件。双击test.cpp文件打开它,如下所示。
·12·
第1章 C++预备知识
// test1.cpp : Defines the entry point for the console application. #include \
int main(int argc, char* argv[]) { printf(\ return 0; }
上述代码是创建新工程时自动生成的,该代码使用一条printf语句输出了字符串Hello world!。printf语句是C语言中的输出语句,C++中的输出语句则使用cout流。因此,需要将代码区中的printf语句修改为如下代码:
(8)修改后的test.cpp文件如下所示。
cout<<\
经过上述步骤就建立了一个输出字符串Hello world!的简单控制台应用程序。要想运行它还需要进行编译和链接。编译操作负责对源程序进行语法检查,然后生成目标代码。链接操作负责将目标代码和程序用到的库程序链接成可执行文件。在Visual Studio 6.0中,Builder菜单提供了编译、链接和执行程序的操作。编译和链接的步骤如下所示。
(1)选择Builder|Compile命令,编译源程序。如果输出窗口内的输出内容如下所示,则表示没有语法错误,且正确生成了目标代码。
--------------------Configuration: test - Win32 Debug-------------------- Compiling...
Skipping... (no relevant changes detected) test.cpp
test.obj - 0 error(s), 0 warning(s)
// test1.cpp : Defines the entry point for the console application. #include \
int main(int argc, char* argv[]) { cout<<\ return 0; }
该输出内容表示检测到0个错误,0个警告,生成目标代码test.obj。
(2)对该工程进行链接,以生成可执行文件。选择Builder|Build命令,执行链接操作。如果输出如下所示,则表示链接正常,生成可执行文件正常。
该输出说明链接时检测到0个错误,0个警告,生成可执行文件test.exe。
生成可执行文件后就可以执行该程序。执行一个32位控制台程序即可以从Windows的“资源管理器”中双击打开,也可以从命令行手工执行打开。在Visual Studio 6.0中,还可以选择Builder|Execute命令,执行该工程,如图1-13所示。
--------------------Configuration: test - Win32 Debug--------------------
test.exe - 0 error(s), 0 warning(s)
图1-13 test.exe的执行结果
·13·
第1篇 面向过程的C++编程
图中第一行是可执行程序test.exe的输出,第二行则不是。第二行是由Visual Studio 6.0开发环境执行完test.exe程序后输出的,表示“按任意键继续”,即按任何一个键就可返回到开发环境中去。到此为止,本节就完整演示了在Visual Studio 6.0中开发一个典型的C++程序的过程。
1.3 程 序 结 构
程序结构是程序的组织结构,指该程序语言特定的语句结构、语法规则和表达方式,其内容包括代码的组织结构和文件的组织结构两部分。只有严格遵守这种规则,才能编写出高效、易读的程序。否则写出的代码将晦涩难懂,甚至不能被正确编译运行。
1.3.1 第一个程序
在这一节将通过一个简单程序向读者讲解C++程序的基本结构,同时也说明C++程序中输入输出操作的方法,以方便后续章节中的讲解。
【示例1-1】 实现从命令行读入一个整数,然后加1再输出结果。
/*第一部分*/
//这是一个演示程序,它从命令行读入一个整数,然后加1再输出 /*第二部分*/
#include
C++程序通常会包括示例中所示的3部分。 1.第1个部分——注释部分
第1部分是整个文件的注释,指出该文件的作用和版权等信息。 2.第2部分——预处理部分
第2部分是预处理部分,既在编译前要处理的工作。这里是以#include说明的头文件包含代码#include
·14·
第1章 C++预备知识
?注意:在Visual Studio中,有时还会看到#include
Studio中鼓励使用的方式。但是采用这种方式时,还需要用“using namespace std;”引入std命名空间;否则系统会提示cin和cout找不到。 3.第3部分——主要部分
第3部分是代码的主要部分,它实现了一个函数,结构如下:
int main() { ? return 0; }
其中,花括号包含了实现该函数所需的代码。C++规定每个可执行程序都有且只能有一个名为mian的函数,它表示了程序的入口点。当C++程序执行时,首先执行该函数,然后从该函数内调用其他需要的操作。下面依次分析每行代码的功能。
? 第1条代码int x表示定义一个对象,并命名为x。末尾的分号表示这条代码到此
结束。
? 第2条语句使用cout流输出一行文字。其中,cout是一个代表标准输出设备(在这
里指显示器)的对象,它是C++中预定义的系统对象。当程序要向输出设备输出内
容时,就需要在程序中使用该对象。输出的操作符用“<<”表示,它表示将操作符右边的内容输出到操作符左边的对象上。代码中操作符左边的内容用双引号包含起来,这表示它是一个字符串。因此,代码“cout<<”输入整数:“;”将在标准输出设备上输出字符串文字“输入整数:”。
? 第3条语句cin>>x中,cin是一个代表标准输入设备(一般指键盘)的对象,也是
C++中预定义的对象。当程序需要从输入设备接收输入时,就需要在程序中使用该对象。输入的操作符是“>>”,它表示将从操作符左边接收的输入放到右边的对象中。当程序执行到该代码处时,将停止并等待来自标准输入设备的输入。输入完毕后,按下Enter键,cin接收输入并将输入放到相应的对象中,然后跳到下一条代码开始执行。
? 第4条语句x=x+1中,“+”号表示加法运算,既将加号两边的对象相加。“=”号
表示赋值,它将符号右边的运算结果放到符号左边的对象中。因此,该代码表示将对象x保存的值加1再放回x中。
? 第5条语句仍然是一条在标准输出设备上输出文字的代码。它包含3个输出操作符,
第1个操作输入了文字x=x+1。第2个操作符输出对象x保存的值。第3个操作符的右边是endl,它表示一个“回车换行”操作。因此,该代码在输出前两个文字后就将光标跳到新的一行上去。
? 第6条语句return 0是一条跳出程序的代码。它表示从程序跳出并返回到操作系统,
同时带有一个数字0作为返回值。
?注意:有些编译器并不要求main函数一定返回值,例如Visual C++。但是,有些编译器
却要求必须有返回值,如开源软件MinGW。
·15·
第1篇 面向过程的C++编程
1.3.2 文件的组织
当程序较小时,用一个文件就可以保存所有代码。但是有实际用途的程序一般都不会太小。所以,通常会将程序分成几个文件分别保存,再通过包含语句放到一起。这种做法既有利于模块化开发,也有利于代码的重用。
C++的程序的文件类型有.h和.cpp两种,前者是头文件,后者是代码的实现文件。头文件中包含了类、函数、常量、全局变量等的声明,使用时用#include语句在程序的预处理部分包含进来即可。代码的实现文件是对头文件中声明的类、函数等的具体实现。不需要显示包含.cpp文件,当包含了与它对应的.h文件后,编译器会自动去找同名的.cpp文件。
1.4 编 码 规 范
编码规范是指编写代码时应该遵守的文字约束。一个好的编码规范不仅能够明显改善代码的可读性、可管理性,还可以提高程序的可靠性、可修改性、可维护性,以及一致性,从而保证代码的质量。当开发工作需要团队合作时,优秀、统一的编码规范更是合作能否成功的关键。
1.4.1 风格指南
本节给出如下几项建议的代码风格。
? 程序块采用缩进风格。每个缩进为4个空格位,要用TAB键缩进,而不要混合使用
空格和Tab键。 ? 每个函数不要太长。如果真的需要写很长,就将它拆成多个简单的函数。
? 避免使用过深的if语句嵌套。这样会增加代码的复杂度,降低可理解性。可以考虑
改成函数来调用。
? 双目操作符的前后加空格。 ? 单目操作符前后不加空格。
? 尽量不要写太长的语句。如果实在需要很长,可以考虑分行,更好的办法是拆成多
条语句。
? 使用类时,每个模块中只放一个类。
? 功能相对独立的程序块之间或for、if、do、while、switch等语句前后应加一空行。 ? if、while、for、case、default、do等语句自占一行。 ? 一行不要写多条语句。
? 当表达式中有多个运算符时,尽量用括号来明确标出优先级。
这里总结了11项指南,实际编程时还有更多的规定。当然这仅是建议,程序员可以根据自己的需要酌情调整。
?注意:程序的风格对程序的功能没有影响,编译器会忽略掉程序中的注释。
·16·
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库C++入门基础 - 30分钟入门教程(3)在线全文阅读。
相关推荐: