下载了一个文件,才发现系统并不认识这个扩展名,你也不知道该用什么程序打开,该怎么办?这时你可能需要利用到下面这个列表:
  扩展名 文件类型 打开方式
  .aiff 声音文件 Windows media Player
  .!!! Netants 暂存文件 Netants
  .ani 动画鼠标
  .arj 压缩文件 ARJ
  .avi 电影文件 Windows media Player
  .awd 传真文档
  .bak 备份文件
  .bas Basic 语言 Basic
  .bat DOS批处理文件
  .bin MAC 二进制码文件 Stuffit Expander
  .bmp 图象文件 画图/看图软件
  .cab 压缩文件 Winzip
  .cdr Corel图画文件 Corel Draw
  .chk Scandisk检察后制作的文件 可以删掉
  DOS命令文件 自执行
  .cpx Cryptapix加密图片文件 Cryptapix
  .cur 静态鼠标
  .dbf 数据库文件 dBase, FoxBase, Access
  .dll 应用程序扩展
  .doc 文档文件 Word
  .dwg AutoCAD文件 AutoCAD
  .eps Illustrator 图画文件 Adobe Illustrator
  .exe 执行文件 自执行
  .fon 字体文件
  .gb 国标码文件 南极星文字处理
  .get Getright 暂存文件
  .gif 256图象文件 画图/看图软件
  .gz 可供UNIX或LINUX使用的压缩文件 Winzip
  .hqx Macintosh 文件 Stuffit Expander
  .htm 网页 浏览器
  .html 网页 浏览器
  .ico 图标
  .ini 配置设置 笔记本或WordPad
  .ipx IPX演示文件 浏览器加装IPX 插件
  .jiff 图象文件 画图/看图软件
  .jpeg 压缩过的图象文件 画图/看图软件
  .jpg 压缩过的图象文件 画图/看图软件
  .js javascript
  .lnk 快捷方式连接文件 连接文件的相应程序
  .m3u Winamp播放列表 Winamp
  .mid 声音文件 Windows media Player
  .mov Quicktime影像文件 Quick Time
  .mp3 压缩音乐文件 Winamp
  .mpeg 影像 Windows media Player
.mpg 影像 Windows media Player
  .njx 南极星文档 南极星文字处理
  .pcb 电子电路图设计文件 Protel PCB
  .pdf 便携式文档格式,SupFree0内含图片文字等等 Adobe Acrobat, Adobe Acrobat Reader
  .pm5 PageMaker 5 排版文件 Page Maker
============================================
注明:以下及其后续内容部分摘自《Standard C++ Bible》,所有程序代码都在Visual Stdio 6.0中编译运行,操作系统为WinXP。本文不涉及VC6.0开发工具的使用,只讲解C++语法知识。
C++和C的共同部分就不讲解了(如 常量和变量,循环语句和循环控制,数组和指针等,这里面的一些区别会在本节和下节介绍一下),具体可看精华区->新手上路->C语言入门,本文着重介绍C++的特
点,如类、继承和多重继承、运算符重载、类模板、C++
标准库、模板库、等等。
一、C++概述
(一) 发展历史
1980年,Bjarne Stroustrup博士开始着手创建一种模拟语言,能够具有面向对象的程序设计特。在当时,面向对象编程还是一个比较新的理念,Stroustrup博士并不是从头开始设计新语言,而是在C语言的基础上进行创建。这就是C++语言。
1985年,C++开始在外面慢慢流行。经过多年的发展,C++已经有了多个版本。为次,ANSI和ISO的联合委员会于1989年着手为C++制定标准。1994年2月,该委员会出版了第一份非正式草案,1998年正式推出了C++的国际标准。
(二) C和C++
C++是C的超集,也可以说C是C++的子集,因为C先出现。按常理说,C++编译器能够编译任何C程序,但是C和C++还是有一些小差别。
例如C++增加了C不具有的关键字。这些关键字能作为函数和变量的标识符在C程序中使用,尽管C++包含了所有的C,但显然没有任何C++编译器能编译这样的C程序。
C程序员可以省略函数原型,而C++不可以,一个不带参数的C函数原型必须把void写出来。而C++可以使用空参数列表。
C++中new和delete是对内存分配的运算符,取代了C中的malloc和free。
标准C++中的字符串类取代了C标准C函数库<cstring>头文件中的字符数组处理函数。
C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。
C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数。
二、关键字和变量
C++相对与C增加了一些关键字,如下:
typename    bool    dynamic_cast  mutable    namespace
static_cast  using    catch        explicit  new
virtual      operator false        private    template
volatile    const    protected    this      wchar_t
const_cast  public  throw        friend    true
reinterpret_cast      try
bitor        xor_e    and_eq        compl      or_eq
not_eq      bitand
在C++中还增加了bool型变量和wchar_t型变量:
布尔型变量是有两种逻辑状态的变量,它包含两个值:真和假。如果在表达式中使用了布尔型变量,那么将根据变量值的真假而赋予整型值1或0。要把一个整型变量转换成布尔型变量,如果整型值为0,则其布尔型值为假;反之如果整型值为非0,则其布尔型值为真。布儿型变量在运行时通常用做标志,比如进行逻辑测试以改变程序流程。
#include "iostream.h"
int main()
{
bool flag;
flag=true;
if(flag)  cout<<"true"<<endl;
return 0;
}
C++中还包括wchar_t数据类型,wchar_t也是字符类型,但是是那些宽度超过8位的数据类型。许多外文字符集所含的数目超过25
6个,char字符类型无法完全囊括。wchar_t数据类型一般为16位。
标准C++的iostream类库中包括了可以支持宽字符的类和对象。用wout替代cout即可。
#include "iostream.h"
int main()
{
wchar_t wc;
wc='b';
wout<<wc;
wc='y';
wout<<wc;
wc='e';
wout<<wc<<endl;
return 0;
}
说明一下:某些编译器无法编译该程序(不支持该数据类型)。
三、强制类型转换
有时候,根据表达式的需要,某个数据需要被当成另外的数据类型来处理,这时,就需要强制编译器把变量或常数由声明时的类型转换成需要的类型。为此,就要使用强制类型转换说明,格式如下:
int* iptr=(int*) &table;
表达式的前缀(int*)就是传统C风格的强制类型转换说明(typecast),又可称为强制转换说明(cast)。强制转换说明告诉编译器把表达式转换成指定的类型。有些情况下强制转换是禁用的,例如不能把一个结构类型转换成其他任何类型。数字类型和数字类型、指针和指针之间可以相互转换。当然,数字类型和指针类型也可以相互转换,但通常认为这样做是不安全而且也是没必要的。强制类型转换可以避免编译器的警告。
long int el=123;
short i=(int) el;
float m=34.56;
int i=(int) m;
上面两个都是C风格的强制类型转换,C++还增加了一种转换方式,比较一下上面和下面这个书写方式的不同:
long int el=123;
short i=int (el);
float m=34.56;
int i=int (m);
使用强制类型转换的最大好处就是:禁止编译器对你故意去做的事发出警告。但是,利用强制类型转换说明使得编译器的类型检查机制失效,这不是明智的选择。通常,是不提倡进行强制类型转换的。除非不可避免,如要调用malloc()函数时要用的void型指针转换成指定类型指针。
四、标准输入输出流
在C语言中,输入输出是使用语句scanf()和printf()来实现的,而C++中是使用类来实现的。
#include "iostream.h"
main()    //C++中main()函数默认为int型,而C语言中默认为void型。
{
int a;
cout<<"input a number: ";
cin>>a;            /*输入一个数值*/
cout<<a<<endl;      //输出并回车换行
return 0;
}
cin,cout,endl对象,他们本身并不是C++语言的组成部分。虽然他们已经是ANSI标准C++中被定义,但是他们不是语言的内在组成部分。在C++中不提供内在的输入输出运算符,这与其他语言是不同的。输入和输出是通过C++类来实现的,cin和cout是这些类的实例,他们是在C++语言的外部实现。
什么软件能打开dwg文件C++语言中,有了一种新的注释方法,就是‘//’,在该行//后的所有说明都被编译器认为是注释,这种注释不能换行。C++中仍然保留了传统C语言的注释风格/*……*/。
C++也可采用格式化输出的方法:
#include "iostream.h"
int main()
{
int a;
cout<<"input a number: ";
cin>>a;
cout<<dec<<a<<' '    //输出十进制数
<<oct<<a<<' '    //输出八进制数
<<hex<<a<<endl;  //输出十六进制数
return 0;
}
从上面也可以看出,dec,oct,hex也不可作为变量的标识符在程序中出现。
五、函数参数问题
(一) 无名的函数形参
声明函数时可以包含一个或多个用不到的形式参数。这种情况多出现在用一个通用的函数指针调用多个函数的场合,其中有些函数不需要函数指针声明中的所有参数。看下面的例子:
int fun(int x,int y)
{
return x*2;
}
尽管这样的用法是正确的,但大多数C和C++的编译器都会给出一个警告,说参数y在程序中没有被用到。为了避免这样的警告,C++允许声明一个无名形参,以告诉编译器存在该参数,且调用者需要为其传递一个实际参数,但是函数不会用到这个参数。下面给出使用了无名参数的C++函数代码:
int fun(int x,int)        //注意不同点
{
return x*2;
}
(二) 函数的默认参数
C++函数的原型中可以声明一个或多个带有默认值的参数。如果调用函数时,省略了相应的实际参数,那么编译器就会把默认值作为实际参数。可以这样来声明具有默认参数的C++函数原型:
#include "iostream.h"
void show(int=1,float=2.3,long=6);
int main()
{
show();
show(2);
show(4,5.6);
show(8,12.34,50L);
return 0;
}
void show(int first,float second,long third)
{
cout<<"first="<<first
<<"second="<<second
<<"third="<<third<<endl;
}
上面例子中,第一次调用show()函数时,让编译器自动提供函数原型中指定的所有默认参数,第二次调用提供了第一个参数,而让编译器提供剩下的两个,第三次调用则提供了前面两个参数,编译器只需提供最后一个,最后一个调用则给出了所有三个参数,没有用到默认参数。
  .ppt Power Point 文件 Microsoft Power Point
  .ps GhostScript
  .psd Photoshop文件 Adobe Photoshop
  .pub Publisher排版文件 Microsoft Publisher
  .qt Quicktime影像文件 Quick Time
  .ra Real Audio声音文件 Real Audio
  .ram Real Audio影像文件 Real Audio
  .rar 压缩文件 Winra
r
  .rsf Richwin 字体文件
  .sch 电子原理图设计文件 Protel Schematic
  .scr 屏保文件
  .sea Macintosh 启动文件
  .sit 压缩 Stuffit Expander
  .swf Flash动画文件 浏览器加装Macromedia flash 插件
  .sys 系统文件
  .tar UNIX压缩文件 Winzip
  .tif 高质量图象文件 画图/看图软件
  .tiff 高质量图象文件 画图/看图软件
  .tmp 暂存文件 可以删掉
  .ttf 字体文件
  .txt 纯文本文件 笔记本或全部文字处理系统
  .vbs Visual Basic 喑涛募?Microsoft Viasual Basic
  .viv VIVO影像文件 浏览器加装VIVO 插件
  .vqf 压缩声音文件 Yamaha SoundVQ Player
  .wav 未压缩的声音文件 Windows media Player
  .wk1 Lotus 123 试算软件文件 Lotus 123, Excel
  .wq1 Q-Pro 试算软件文件 Q-Pro, Excel
  .wri Write文字文档 Word
  .xls Excel 试算软件文件 Microsoft Excel
  .Z UNIX压缩文件 Winzip
  .zip 压缩文件 Winzip
  其实很多扩展名都可以在网上搜索到相关的打开程序名称,如果在本列表里不到,可以去google搜索一下即可。