文档介绍:运算优先级
请分析第75页的表
类型转换
类型转换:不改变二进制的结构,但用不同的方式解释这些数据。
隐式类型转换
在算术表达式中,具有较大空间的数据类型成为最终结果转换成的数据类型。
例如:
int val= ;// 转换成3
val +;// ,
例
int I=10;
I*=;
cout << I;
运行结果:23
显式类型转换
在{ int k; k=k+;}中
将k转化成double;
计算表达式值
将表达式的类型转化成int
在{ int k; k=k+(int) ; }中只有一次类型转换
void * 的指针可以指向任何数据,但不能直接引用
void * 的指针不能直接赋值给其它类型的指针
void *用于对象类型未知或随状态而改变的情况
显式类型转换
#include<>
void main()
{ int i=10;
//int *ip;
void *vp;
double d=;
//ip =&d; //cannot convert from 'double *' to 'int *'
vp =&d;
cout << *(double*) vp<< endl;
}
显式类型转换
{ void *vp;
double *dp;
double d=;
vp =&d;
// dp = vp;
// error:cannot convert from 'void *' to 'double *'
dp =(double*) vp;
}
语句
用分号结束一条语句
最简单的语句是“空语句”:;
复合语句
用花括号括起来的一系列语句组成
复合语句作未一个单一的单元出现在单一语句出现的任何地方
复合语句不需要以分号终结
if 语句
语法结构:
if (表达式) 语句
表达式必须放在括号中。
表达式为非0时,表示真,并执行语句
容易出现的错误1:经常忘了复合语句的花括号
if 语句
#include<>
void main()
{ int i=0;
if ( i )
cout << "first" << endl;
cout << "second"<< endl;
}
输出结果:second
if 语句
#include<>
void main()
{ int i=0;
if ( i ) {
cout << "first" << endl;
cout << "second"<< endl;
}
}
这个程序没有输出