1.数组初始化
memset(a, 0, sizeof(a));
2.不需要其他变量的两个数据互换
int a=1,b=2;
cout<<a<<" "<<b<<endl;
a=a^b;
b=a^b;
a=a^b;
cout<<a<<" "<<b<<endl;
3.
整型常量有3种表示方式: ①十进制整数。例如,123、一456、0。 ②八进制整数。以0开头的整数是八进制数。例如,0123表示8进制数123<8),等于十进制数83。 ③十六进制整数。以ox或0x开头的整数是十六进制数。例如,0x1.23或0Xl 23表示十六进制数123…),等于十进制数291。 如果在整型常量后面加上字母u或u,则表示无符号整数(unsigned int)。例如,123U或123u是unsigned int型的。如果在整型常量后面加上一个字母L或l,则表示长整数(10ngint)。例如,123[.或123l是long int型的。
4.
默认进制:
默认状态下,数据按十进制输入输出。如果要求按八进制或十六进制输入输出,在cin或cout中必须指明相应的数据形式,oct为八进制,hex为十六进制,dec为十进制。
int i, j, k, l;
cout<<”Input i(oct), j(hex), k(hex), l(dec):”<<endl;
cin>>oct>>i; //输入为八进制数
cin>>hex>>j; //输入为十六进制数
cin>>k; //输入仍为十六进制数
cin>>dec>>l; //输入为十进制数
cout<<”hex:”<<”i=”<<hex<<i<<endl;
cout<<”dec:”<<”j=”<<dec<<j<<′\t′<<”k=”<<k<<endl;
cout<<”oct:”<<”l=”<<oct<<l;
cout<<dec<<endl; //恢复十进制输出状态
【执行结果】:
(1)输出提示:Input i(oct), j(hex), k(hex), l(dec):
(2)此时从键盘输入: 032 0x3f 0xa0 17 <CR>
(3)输出结果为:
hex:i=1a
dec:j=63 k=160
oct:l=21
5.
而 %d %o %x %X 分别是 十进制,八进制,十六进制(小写),十六进制(大些)的输出格式!
6.
long long 的字符长度是int型的两倍,现在int型一般为32位,所以long long是64位的,能支持的最大数为2^63 -1。 在VC6.0里并不支持long long,它使用的是__int64,具有相似的效果 long long 输出格式为%lld __int64 输出格式为 %I64d
7.数字字符串转换
//字符串转数字
char str2[10]={"12345"};
cout<<str2<<endl;
int num2=atoi(str2);
cout<<num2<<endl;
//数字转字符串
char a[10];
sprintf(a, "%d", 32);
cout<<a<<endl;
return 0;
二维数组
int **p;
p = new int*[10]; //注意,int*[10]表示一个有10个元素的指针数组
for (int i = 0; i != 10; ++i)
{
p[i] = new int[5];
}
for (int i=0;i<10;i++)
for(int j=0;j<5;j++)
{
p[i][j]=1;
}
for (int i=0;i<10;i++)
{
for(int j=0;j<5;j++)
{
cout<<p[i][j]<<" ";
}
cout<<endl;
}
for (int i=0;i<10;i++)
{
delete[] p[i];
}
delete [] p;