C++,Accelerate C++从0开始(2)

xiaoxiao2021-02-28  40

1、“||”或运算符,左结合,程序会依次检测每一个这样的条件,如果有任何一个内部条件为真,就无须检测随后的条件了(短路求值)。

2、“&&”与运算符 ,左结合。短路求值,一旦检测到假,便停止检测。

3、"[)"半开区间,[开始值,越界值),越界值(off-the-endvalue). e.g:区间[1,4)包含了1,2,3 。

4、定义包含了声明,但是声明不包含定义,如

int a = 0; //定义并声明了变量 a extern int a; //只是声明了有一个变量 a 存在,具体 a 在哪定义的,需要编译器编译的时候去找。

5、强制类型转换是通过类型转换运算来实现的。其一般形式为:(类型说明符)(表达式)其功能是把表达式的运算结果强制转换成类型说明符所表示的类型

int a = 1; double b = 2.1; cout << "a + b = " << a + (int)b << endl; //输出为a + b = 3

6、在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度:

int a=1; double b=2.5; a=b; cout << a; //输出为 2,丢失小数部分 int a = 1; double b = 2.1; cout << "a + b = " << a + b << endl; //输出为a + b = 3.1

7、

在程序中,局部变量和全局变量的名称可以相同,但是在函数内,局部变量的值会覆盖全局变量的值。下面是一个实例:

实例

#include < iostream > using namespace std ; // 全局变量声明 int g = 20 ; int main ( ) { // 局部变量声明 int g = 10 ; cout << g ; return 0 ; } //输出10

8、运算符

运算符描述实例&如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。(A & B) 将得到 12,即为 0000 1100|如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。(A | B) 将得到 61,即为 0011 1101^如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中。(A ^ B) 将得到 49,即为 0011 0001~二进制补码运算符是一元运算符,具有"翻转"位效果,即0变成1,1变成0。(~A ) 将得到 -61,即为 1100 0011,一个有符号二进制数的补码形式。<<二进制左移运算符。左操作数的值向左移动右操作数指定的位数。A << 2 将得到 240,即为 1111 0000>>二进制右移运算符。左操作数的值向右移动右操作数指定的位数。A >> 2 将得到 15,即为 0000 1111
转载请注明原文地址: https://www.6miu.com/read-2612736.html

最新回复(0)