您的位置:首页 > 编程语言 > C语言/C++

嵌入式开发之C++基础学习笔记1--综合比较HelloWorld示例

2012-12-16 23:42 706 查看

选择C++的理由:

1)C++语言是由C语言扩充而来。它是一门混合型的语言,既支持传统的结构化程序设计,又支持面向对象的程序设计,这使得C++非常流行。它在编程中支持面向对象。因此,它比C更适合人们的思考方式,并且比C要安全、可靠、有效。但是它并不像Java那样全面实现类的使用,这使得它很灵活,能够适应多种场合的需要。

2)C++是编译语言,性能良好,效率更高。它不像Java、PHP、ASP等语言,需要在运行时转换为机器码,或者读一条语句执行一条。它直接被编译为机器可识别的机器码。

3)C++编写的程序独立性好。只要C++编译时产生的机器码不依赖外部的动态链接库,C++就可以在不需要安装额外程序的情况下,移动到运行同样操作系统的其他机器和微处理器上。而移动Java程序时需要先安装Java运行期库。这是C++语言成功流行的一个重要原因。

4)C++语言应用极为广泛。尤其在底层编程和系统级编程上更是C++的传统优势应用。在数据库和多媒体方面,C++又以其卓越的稳定性而赢得了荣誉。

与C编写代码不同,C++关于HelloWorld这么一个简单程序有很多变化

第一个例子:

jellonwu@jintao :~/Desktop$ vim test1.cpp

#include <iostream>

using namespace std;

int main()

{

cout<<"Hello world!"<<endl;

}

jellonwu@jintao :~/Desktop$ g++ test1.cpp -o test1

jellonwu@jintao :~/Desktop$ ./test1

Hello world!

第二个例子:

jellonwu@jintao :~/Desktop$ vim test2.cpp

/*第一部分*/

//这是一个演示程序,它从命令行读入一个整数,然后加 1 再输出

/*第二部分*/

#include <iostream>

using namespace std;

/*第三部分*/

int main()

{

int x;

cout<<"输入整数:";

cin>>x;

x=x+1;

cout<<"x=x+1="<<x<<endl;

return 0;

}

jellonwu@jintao :~/Desktop$ g++ test2.cpp -o test2

jellonwu@jintao :~/Desktop$ ./test2

输入整数:12

x=x+1=13

C++程序一般包含三部分:

1)第一部分:注释部分

2)第二部分:预处理部分

既在编译前要处理的工作。这里是以#include 说明的头文件包

含代码#include <iostream>,它指示编译器在预处理时,将文件 iostream 中的代码嵌入到

该代码指示的地方。其中#include 是编译指令。头文件 iostream 中声明了程序需要的输入

输出操作的信息。

3)第三部分:主要部分

例子三:

#include <iostream>

using namespace std;

int main()

{

cout<<"Hello world!HAHA"<<endl;

int x;

int y;

int z;

cout << "输入第 1 个数:";

cin >> x;

cout << "输入第 2 个数:";

cin >> y;

cout << "输入第 3 个数:";

cin >> z;

cout << z << endl;

cout << y << endl;

cout << x << endl;

return 0;

}

总结

C++与C的HelloWorld程序的几点不同:
1)stdio.h 是 C 语言的输入输出支持头文件,iostream.h是C++的输入输出头文件。

2)printf 语句是 C 语言中的输出语句,C++中的输出语句则使用 cout 流

关于控制端输入,C语言中是scanf(),C++中是cin>>

3)关于main函数,C语言中main()函数可为void或者int类型

在C++中g++编译器要求main必须为int类型,因为 ISO C++ 不允许声明无类型的‘main’

有些编译器并不要求 main 函数一定返回值,例如 Visual C++

4)关于头文件导入

C导入:#include <stdio.h>

C++导入:#include <iostream>

using namespace std;

注意C++导入的这两条必须同时存在,否则系统会提示 cin 和 cout 找不到。

5)关于文件名,C源文件名.c,C++源文件名.cpp

5)关于编译器,C语言常用gcc,而C++语言常用g++,这些命令都在linux自带,与gcc用法基本一样 【g++ 源文件 -o 执行文件】

关于gcc和g++

gcc and g++分别是GNU的c & c++编译器

gcc/g++在执行编译工作的时候,总共需要4步

  ⒈预处理,生成.i的文件[预处理器cpp]

  ⒉将预处理后的文件转换成汇编语言,生成文件.s[编译器egcs]

  ⒊由汇编变为目标代码(机器代码)生成.o的文件[汇编器as]

  ⒋连接目标代码,生成可执行程序[链接器ld]

C++中的常见保留字

_asm abstract bool break case

catch while char class const

continue default delete do double

else enum explicit extern false

float for friend goto if

inline int long namespace new

operator private protected public struct

class register return short signed

sizeof static switch template this

throw true try typedef union

unsigned using virtual void volatile

保留字是系统预留的符号,这些符号已经被赋予特定的意义。所以程序员只能直接使

用它们而不能修改其定义。例如,保留字 int 和 float 分别被用来表示整型数据类型和浮点型

特别注意:

You cannot have two main functions in the same project. Put them in separate projects or rename one of the functions and call it from the other main function.

You can never have more than one main() function in your project since it is the entrypoint, no matter what the parameter list is like.

在一个C++项目里面有且只能有一个main()方法,这是强制规定,否则编译报错:multiple definition of `main'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: