我的 C++ 学习历程 之四 很重要的东西

来源:互联网 发布:c语言迭代法辗转相减法 编辑:程序博客网 时间:2024/05/08 22:04

一些会让看着头大但又必须明白的东西


匈牙利表示法前缀的类型及其说明


前缀   类型         说明


ch     char         字符
b       BOOL      布尔值
n(I)    int          整数
w      WORD     16位无符号数
l        LONG      32位有符号数
dw    DWORD   32位无符号数
lpsz   LPTSTR    指向字符串的32位指针
h       Handle     窗口对象句柄

 

================================

C++中的转义字符


字符形式 功能
/n 换行
/t 横向跳格(即跳到下一个输出区)
/v 竖向跳格
/b 退格
/r 回车
/f 走纸换页
/a 响铃
// 反斜杠字符
/' 单引号字符
/" 双引号字符
/? 问号
/ddd 1-3位八进制数所代表的字符
/xhh 1-2位十六进制数所代表的字符

 

=================================

 

-----------------------------------------------------

1基本的算术运算符   

 

 + - * /   %(取余)

-----------------------------------------------------

2 自增、自减运算符


   ++是自增运算符,  --自减运算符

       用户只能将这类操作符应用于变量而不能应用于常量.

   valuel=valuel+1;
   可使用
   ++valuel;
   或
   valuel++;

-----------------------------------------------------

3 关系运算符


运算符   名字


= =      等于
! =       不等于
<         小于
< =      小于等于
>         大于
> =      大于等于

-----------------------------------------------------

4 逻辑运算符
  
   逻辑非:!

       逻辑与:&&

       逻辑或:||

-----------------------------------------------------

5 位运算符

 


A)、逻辑位运算符


   (1)单目逻辑位运算符:

              (按位求反)
   作用是将各个二进制位由1变0,由0变1.


   (2)双目逻辑运算符:优先级:   【 &高于^高于|

           &    (按位与)      两个都为1时结果为1.

              (按位异或)   两个不同则结果为1,否则为0.

            |    (按位或)      两个其中有一个为1则结果为1.

B)、移位运算符

均有一个正整数n作为右操作数,将左操作数的每一个二进制位左移或右移n位,空缺的位设置为0或1.对于无符号整数或有符号整数,如果符号位为0(即为正数),空缺位设置为0;如果符号位为1(即为负数),空缺位是设置为0还是设置为1,要取决于所用的计算机系统.
   移位运算符有两个,<<(左移)、>>(右移).两个 都是双目运算符.
   例. 指出下面表达式的功能.
   (p&0377)|(k&0xff)<<8
   将整数p的低字节作为作为结果的低字节,k的低字节作为结果的高字节拼成一个新的整数.


----------------------------------------------------

6 求字节数运算符
   C++提供了一个有用的运算符sizeof,它是一个单目运算符,用于计算表达式或数据类型的字节数,其运算结果与不同的编译器和机器相关.当编写用于进行文件输入/输出操作或给动态列表分配内存的程序时,用户将发现,如能知道程序给这些特定变量所分配内存的大小将会很方便. 例如3-1:
   当我们进行算术运算时,如果运算结果超出变量所能表达的数据范围时,就会发生溢出.而利用sizeof运算符计算变量所占的字节数,也就是说,可以算出变量的数据范围,从而可以避免可能出现的错误. sizeof(char) 的值是 1
-----------------------------------------------------

7 逗号运算符
C++语言提供一种特殊的运算符--逗号运算符.用它将两个表达式连接超来.如:3+5,6+8
称为逗号表达式,又称为"顺序求值运算符".逗号表达式的一般形式为:表达式1,表达式2
逗号表达式的求解过程是:先求解表达式1,再求解表达式2.整个逗号表达式的值是表达式2的值.例如,上面的逗号表达 式"3+5,6+8"的值是14.又如,逗号表达式a=3*5,a*4对此表达式的求解.首先计算表达式1a=3*5,值为15,在计算表式2 ,15*4,值为60.
一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式,如(a=3*5,a*4),a+5.先计算出a的值等于15,再进 行 a*4的运算得60(但a值未变,仍为15), 再进行a+5得20,即整个表达式的值为20.
逗号表达式的一般形式可以扩展为:表达式1,表达式2,表达式3.......表达式n 它的值为表达式n的值.
------------------------------------------------------------------

8 可以利用强制类型转换运算符将一个表达式转换成所需类型.

其一般形式为:(类型名)(表达式)

 

(double)a (将a转换成double类型)
(int)(x+y) (将x+y的值转换成整型)
(float)(5%3) (将5%3的值转换成float型)


 注意,表达式应该用括号括起来.如果写成(int)x+y 则只将x转换成整型,然后与y 相加.
需要说明的是在强制类型转换时,得到一个所需类型的中间变量,原来变量的类型未发生变化.例如:(int)x (不要写成 int(x)).如果x原定为float型,进行强制类型运算后得到一个int型的中间变量,它的值等于x的整数部分,而x 的类型不 变(仍为float型)
---------------------------------------------------------------------------------------------------------------------

 

原创粉丝点击