黑马程序员技术交流社区

标题: c 语言 与 c++ 几点区别(一) 好好看看吧 ,总会有用的,呵.... [打印本页]

作者: 静水流深2014    时间: 2014-8-23 09:06
标题: c 语言 与 c++ 几点区别(一) 好好看看吧 ,总会有用的,呵....

c++ 特性用法:
(二)开始学习c++
1.头文件的变化
#include< iostream >   <=>  #include<stdio.h>
#include< cmath >   <=>  #include<math.h>  、
#include<cstring>  
2.变量初始化的变化(c+ + 仅需要满足在使用变量前定义即可,不一定是在开头定义)
int a = b = c = 9 ;// 即可以对变量赋初值的时候 采用连等操作。
int a( 45 ) ; //对变量a赋初值。
3.使用名称空间
using namespace std ;// 使用名称声明
std :: cout << " string " << std::endl ; // 逐个对名称进行声明
4.endl的用法(endl表示换行)
std::endl( std ::cout<<" string " ) ; // endl()输出的用法,完成括号内的操作后换行
cout 函数解析 :先把变量名 =》数值=》转换为字符串=》输出
5.获取一个字符
cin.get()  <=>  getchar() //既可以读取一个字符 又可以 读取一个字符串 。getline()只能处理字符串,原因在于两者对于换行符的处理方式不同。

(三)处理数据
1.输出格式控制
例如:(默认已十进制形式输出,如需要转化输出形式,需要事先声明)
int a = 123 ;
cout << " a = " << a << endl ;//默认情况下cout以十进制行输出
cout << hex ;//改变下一个数据的输出形式,以八进制形式输出
cout << " a10 = "<< a << endl;
cout << oct ;//改变下一个数据的输出形式,以十六进制形式输出
cout << " a10 = "<< a << endl;
2.如何确定整型的存储形式
首先,看后缀。L为long型,U为unsigned int 常量,UL 为unsigned long 常量 (不区分大小写)
其实,考察长度。无后缀的十进制,以 int ,long ,unsigned long 中的最小存储类型。无后缀的八进制和十六进制,int ,unsigned int ,long ,unsigned long 最小类型。
(例如 : 十六进制0x9c40(4000)表示为unsigned int 。 因为十六进制一般用来表示内存地址,因而unsigned int 比 long 合适)
3.c 语言的转义字符同样适用于 c++ 语言
例如:
cout << "\a operation \"hyperhtape\" is now active ! \n ";
cout  << "enter the code ------\b\b\b\b\b\b";
long code ;
cin>>code ;cout << "you enter "<<code <<"......\n";

cout.setf(ios_base ::fixed ,ios_base::floatfield);//此函数功能是 迫使输出使用定点小数点形式输出表示法 更好了解精度,避免切换到指数形式
4.关于宽字节的输入输出方式
wchar_t  ch = 'u';
wcout << " ch = " << ch << endl ;  // 输出为 ‘u’ 。即宽字符必须用 wcout/wci 输入输出,每次读取两个字节
cout << " ch = " << ch << endl ;    //输出为 117 ,把两个字节截断,保留低位字节,整型输出(简而言之cout 读取一个字节,wcout读取两个字节)
5.c++中 const 与 #defiine 的比较
const int MONTHS = 12 ; // 对于const 声明的常变量 一般需要大写 与其他变量加以区别
const 比 #define 的优点 :
首先,它能够明确的指定类型 。保证变量类型的正确性。
其次,可以使用c++的作用域限定在特定的函数或者文件中。
最后,可以将const 用于更加复杂的结构中,例如:数组的长度 或者 指针中。
6.整型分类:
算术类型分为整型和浮点型。
整型包括:bool,char,wchar_t ,符号整型(signed char ,short ,int ,long ),无符号整型。
浮点型包括:float ,double ,long double 。
7.潜在的数值转化问题
较大浮点转化为较小浮点(double 转化为 float):精度降低,可能超出目标类型范围,结果不确定
浮点转化为整型:小数部分丢失,可能超出目标范围,结果不确定。
较大整型转化较小整型:可能超出目标范围,通常只复制右边的低位字节。
8.表达式中的转换
自动转换:通常将int类型选择为计算机最自然的类型,这意味着计算机使用这样类型时,运算速度可能最快。叫做整体提升。详见c++ 第60页。
强制转换:(三种表示形式)
( typename) value ;
typename ( value );
static_cast< typename > ( value );
例如:
double mint = 10.0 / 3.0 ;
cout << " mint2 = " <<static_cast<int>(mint)  / int(mint)  / (int)mint << endl ;




作者: THE_FUTURE    时间: 2014-8-23 11:15
差别不是很大。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2