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 ;
|