基本数据类型:
整型【 int】、字符型【单字符型 char 、宽字符型 w_char】、实型【单精度型 float 、双精度型 double】、逻辑型【 bool】
非基本数据类型:
数组【 type []】、指针【 type *】、空类型【 void】、结构【 struct】、联合【 union】、枚据【 enum】、类【 class】
修饰符:
长型符【 long】、短型符【 short】、有符号【 signed】、无符号【 unsined】
用sizeof(数据类型)可以确定某数据类型的字节长度。例如:cout <<"Size of int is:" <<sizeof(int) <<endl;
变量定义的规则:
(1)不能是C++关键字。
(2)第一个字符必须是字母或下划线。
(3)不要太长,以不超过31个字符为易(太长不便于书写)。
(4)不能以数字开头。
(5)中间不能有空格。
(6)变量名只能使用26个字母大小写及下划线,不能包含 "+ - % ...... "之类的特殊符号。
(7)变量名不能与C++ 中的库函数名、类名、和对象名相同。
常量:
1、整型常数:
(1)10进制数。
(2)8进制数。以0开头的整数是8进制数。
(3)16进制数。以0X或0x开头的数是16进制数。
C++ 中,10进制数有正负之分,8进制和16进制数只能表示无符号整数。
2、实型常数:
实型常数即实型常量,实数在C++中就师浮点数。实数有两种表示:
(1)定点数形式:它是由数字和小数点组成
(2)指数形式:123E5表示123*10 5
常量定义时必须初始化:
const float pi=3.14159265; //关键字 const 定义pi为常量性质,常量定义后程序对其只能读不能修改。
I/O流控制:
(1)控制浮点数值显示可用 setprecision(n) 控制输出流显示浮点数的数字个数,默认输出有效值为6位。
setiosflags(ios::fixed) 用定点方式表示实数
seiosflags(ios::scientific) 用指数方式表示实数
setiosflags(ios::fixed)与seiosflags(ios::scientific)都可以和setprecision(n)合用,其效果分别为:控制小数点右边的数字个数,控制指数表示法的小数位数。
在用浮点表示的输出中,setprecision(n)表示有效位数。
在用定点表示的输出中,setprecision(n)表示小数位数。
在用指数形式输出时,setprecision(n)表示小数位数。
小数位数截短显示时,进行4舍5入处理。
// 测试环境:Visual Studio.net 2003 C++
#include "stdafx.h"
#include <iomanip>
#using <mscorlib.dll>
using namespace System;
using namespace std;
void _tmain()
{
double amount=22.0/7;
cout <<amount <<endl;
cout <<setprecision(1) <<amount <<endl
<<setprecision(2) <<amount <<endl
<<setprecision(3) <<amount <<endl
<<setprecision(4) <<amount <<endl;
cout <<setiosflags(ios::fixed);
cout <<setprecision(8) <<amount <<endl;
cout <<setiosflags(ios::scientific) <<amount <<endl; // setiosflags(ios::fixed)定义在setiosflags(ios::scientific)前则指数形式不能被正确的输出。
cout <<setprecision(6);
}
(2)左右对齐输出可用 setiosflags(ios::left)和 setiosflags(ios::right)实现。
#include "stdafx.h"
#include <iomanip>
#using <mscorlib.dll>
using namespace System;
using namespace std;
void _tmain()
{
cout <<setiosflags(ios::right) // 交换setiosflags(ios::right)与setiosflags(ios::left)的位置可以实现先左后右对齐,否则都位右对齐
<<setw(5) <<1
<<setw(5) <<2
<<setw(5) <<3 <<endl;
cout <<setiosflags(ios::left)
<<setw(5) <<1
<<setw(5) <<2
<<setw(5) <<3 <<endl;
}
(3)设置填充字符可用 setw和 setfill实现。 setw用来确定显示的宽度, setfill用来确定一个非空格的特别字符(设置填充的字符)。
(4)强制显示小数点和符号可用 setiosflags(ios::showpoint) 和 setiosflags(ios::showpos) 实现。
整型【 int】、字符型【单字符型 char 、宽字符型 w_char】、实型【单精度型 float 、双精度型 double】、逻辑型【 bool】
非基本数据类型:
数组【 type []】、指针【 type *】、空类型【 void】、结构【 struct】、联合【 union】、枚据【 enum】、类【 class】
修饰符:
长型符【 long】、短型符【 short】、有符号【 signed】、无符号【 unsined】
用sizeof(数据类型)可以确定某数据类型的字节长度。例如:cout <<"Size of int is:" <<sizeof(int) <<endl;
变量定义的规则:
(1)不能是C++关键字。
(2)第一个字符必须是字母或下划线。
(3)不要太长,以不超过31个字符为易(太长不便于书写)。
(4)不能以数字开头。
(5)中间不能有空格。
(6)变量名只能使用26个字母大小写及下划线,不能包含 "+ - % ...... "之类的特殊符号。
(7)变量名不能与C++ 中的库函数名、类名、和对象名相同。
常量:
1、整型常数:
(1)10进制数。
(2)8进制数。以0开头的整数是8进制数。
(3)16进制数。以0X或0x开头的数是16进制数。
C++ 中,10进制数有正负之分,8进制和16进制数只能表示无符号整数。
2、实型常数:
实型常数即实型常量,实数在C++中就师浮点数。实数有两种表示:
(1)定点数形式:它是由数字和小数点组成
(2)指数形式:123E5表示123*10 5
常量定义时必须初始化:
const float pi=3.14159265; //关键字 const 定义pi为常量性质,常量定义后程序对其只能读不能修改。
I/O流控制:
(1)控制浮点数值显示可用 setprecision(n) 控制输出流显示浮点数的数字个数,默认输出有效值为6位。
setiosflags(ios::fixed) 用定点方式表示实数
seiosflags(ios::scientific) 用指数方式表示实数
setiosflags(ios::fixed)与seiosflags(ios::scientific)都可以和setprecision(n)合用,其效果分别为:控制小数点右边的数字个数,控制指数表示法的小数位数。
在用浮点表示的输出中,setprecision(n)表示有效位数。
在用定点表示的输出中,setprecision(n)表示小数位数。
在用指数形式输出时,setprecision(n)表示小数位数。
小数位数截短显示时,进行4舍5入处理。
// 测试环境:Visual Studio.net 2003 C++
#include "stdafx.h"
#include <iomanip>
#using <mscorlib.dll>
using namespace System;
using namespace std;
void _tmain()
{
double amount=22.0/7;
cout <<amount <<endl;
cout <<setprecision(1) <<amount <<endl
<<setprecision(2) <<amount <<endl
<<setprecision(3) <<amount <<endl
<<setprecision(4) <<amount <<endl;
cout <<setiosflags(ios::fixed);
cout <<setprecision(8) <<amount <<endl;
cout <<setiosflags(ios::scientific) <<amount <<endl; // setiosflags(ios::fixed)定义在setiosflags(ios::scientific)前则指数形式不能被正确的输出。
cout <<setprecision(6);
}
(2)左右对齐输出可用 setiosflags(ios::left)和 setiosflags(ios::right)实现。
#include "stdafx.h"
#include <iomanip>
#using <mscorlib.dll>
using namespace System;
using namespace std;
void _tmain()
{
cout <<setiosflags(ios::right) // 交换setiosflags(ios::right)与setiosflags(ios::left)的位置可以实现先左后右对齐,否则都位右对齐
<<setw(5) <<1
<<setw(5) <<2
<<setw(5) <<3 <<endl;
cout <<setiosflags(ios::left)
<<setw(5) <<1
<<setw(5) <<2
<<setw(5) <<3 <<endl;
}
(3)设置填充字符可用 setw和 setfill实现。 setw用来确定显示的宽度, setfill用来确定一个非空格的特别字符(设置填充的字符)。
(4)强制显示小数点和符号可用 setiosflags(ios::showpoint) 和 setiosflags(ios::showpos) 实现。