C++基础(2)

运算符:
        作用:用于执行代码的运算
        分类:
                算术运算符:用于处理四则运算;
                赋值运算符:用于将表达式的赋值给变量;
                比较运算符:用于表达式的比较,并返回一个真值或假值;
                逻辑运算符:用于根据表达式的值返回真值或假值;
 
算数运算符:
        基本运算符:+:正号或加号,表示正数或者进行加法运算;+3,1+2=3;
                             -:负号或者减号,表示负数或者进行减法运算;-2,3-1=2;
                             *:乘;2*3=6;
                             /:除;6/2=3;  
                                    1、整数相除,不保留小数部分,还是整数;
                                    2、除数不能为零;
                            %:取模(取余),10%3=1;
                                    得到的结果是两个数相除后的余数
                            ++:后置递增,a=2;b=++a;a=3;b=3;
                                     前置递增,a=2;b=a++;a=3,b=2;
                            --:后置递减,a=2;b=--a;a=1;b=1;
                                  前置递减,a=2;b=a--;a=1,b=2;
赋值运算符:
               运算符:=:赋值,直接赋值;a=2,b=3;a=2,b=3;
                            +=:加等于,进行加运算并赋值;a+=2相当于a=a+2;
                            -=:减等于,进行减运算并赋值;a-=2相当于a=a-2;
                            *=:乘等于,进行乘运算并赋值;a*=2相当于a=a*2;
                            /=:除等于,进行除运算并赋值;a/=2相当于a=a/2;
                            %=:模等于,进行模运算并赋值;a%=2相当于a=a%2;
 
比较运算符:
                运算符:==:相等于,相等结果返回1,否则返回0;
                              !=:不等于,不相等结果返回1,否则返回0;
                              <:小于,符合要求结果返回1,否则返回0;
                              >:大于,符合要求结果返回1,否则返回0;
                              <=:小于等于,符合要求结果返回1,否则返回0;
                              >=:大于等于,符合要求结果返回1,否则返回0;
 
逻辑运算符:
                运算符:!:非,如果a为真,则!a就为假;如果a为假,则!a就为真;
                            &&:与,如果a和b都为真,运算结果才为真,否则为假。
                            ||:或,如果a和b一个为真,运算结果就为真,二者全为假,结果为假。
 
 
程序流程机构:
                选择结构:
                        单行if语句: if(条件语句){语句A;}    
                                            条件满足运行执行语句A,不满足不执行语句A。注意:条件语句后不加分号。
 
                         多行if语句: if(条件语句){语句A;}   else{语句B;}     
                                            条件满足运行执行语句A,不满足不执行语句B。注意:条件语句后不加分号。
 
                         多条件if语句:if(条件1){语句A;}   else  if(条件2){ 语句B;}   ……else{语句N;}      
                                            条件1满足运行执行语句A,条件2满足执行语句B,逐一对比条件,都不满足执行最后的语句N。注意:条件语句后不加分号。
 
                          嵌套if语句:if(条件1){if(条件2){语句B;}}    
                                             多层条件筛选。
 
                        三目运算符:表达式1   ?    表达式2  : 表达式3            
                                            表达式1为真,执行表达式2,否则执行表达式3。
                
                        swich语句:多分支选择
                                        语法:swich(表达式){
                                                            case   结果1:执行语句;break;
                                                            case   结果2:执行语句;break;
                                                            case   结果3:执行语句;break;
                                                            ……
                                                            default:执行语句;break;
                                                        }
                                            表达式满足那个结果就执行那个执行语句,都不满足执行default默认语句。
 
                循环结构:
                            while循环语句:循环条件一直为真,就一直执行循环语句。
                                        语法:while(循环条件){循环语句;}
    
                            do…while循环语句:先执行一次循环语句,在判断条件,
                                        语法:do {循环语句;}   while(循环条件);
 
                             for循环语句: 满足循环条件,执行循环语句。
                                        语法:for(起始表达式;条件表达式;末尾循环体) {循环语句;}
                            嵌套循环语句:在循环体内在嵌套一层循环。
 
 
                        
跳转语句:
            break:用于跳出选择结构或者循环结构;
            使用时机:1、出现在swich条件语句中,作用为终止case并跳出swich。
                             2、出现在循环语句中,作用跳出当前的循环语句。
                             3、出现在嵌套语句中,跳出最近的内层循环语句。
            continue:在循环语句中,跳过本次循环中余下的未执行语句,直接进行下一次循环。
            goto:无条件的跳转语句
                语法:goto   标记;如果标记名存在,就执行到goto语句时,会跳转标记的位置。
 
 
数组:所谓数组,就是一个放了相同类型的数据元素集合
  特点一:数组中的每个数据元素都是相同的数据类型。
  特点二:数组是有连续的内存位置组成的。
 
一维数组定义方式:
            1、数据类型     数组名    [数组长度];
            2、数据类型     数组名  [数组长度] = {值1,值2,……};
            3、数据类型     数组名[] = {值1,值2,……};
 
一维数组名用途:
            1、可以统计整个数组在内存中的长度     sizeof(arr)
            2、可以获取数组在内存中的首地址        cout << arr  <<endl;
 
二维数组定义方式:
            1、数据类型     数组名    [行数][列数];
            2、数据类型     数组名  [行数][列数]= {值1,值2,值3,值4,……};
            2、数据类型     数组名  [行数][列数]= {{值1,值2},{值3,值4},……};
            3、数据类型     数组名[] [列数]= {值1,值2,值3,值4,……};
 
二维数组名用途:
            1、查看二维数组占用的内存空间大小
            2、可以查看二维数组的首地址
 
函数:
        作用:将一段经常使用的代码封装起来,减少代码重复。
        一个较大的程序,一般分为若干程序块,每个模块实现特定的功能。
 
函数的定义:
        1、返回值类型
        2、函数名
        3、参数表列
        4、函数体语句
        5、return表达式
 
语法:
        返回值类型   函数名(参数表列){
        函数体语句;
        return  表达式;
}
 
函数的调用:函数名(参数);
 
 值传递:
        定义函数实现两个数字进行交换函数。
        值传递时, 如果形参发生,并不会影响实参
 
函数的常见样式:
        1、无参无返
        2、有参无返
        3、无参有返
        4、有参有返
 
函数声明:返回值类型   函数名(形参列表);
                  告诉编译器函数名称及如何调用函数,函数的实际主体可以单独定义。
                  函数的声明可以多次,函数的定义只能有一次。
 
 
 
函数的分文件编写:让代码结构更加清晰。
函数分文件编写一般有四个步骤:
            1、创建后缀名为.h的头文件
            2、创建后缀名为.cpp的源文件
            3、在头文件中写函数的声明;需要写头文件的框架。
            4、在源文件中写函数的定义;需要引入定义的头文件。
 
 
指针:记录地址;
        定义指针的语法:数据类型  *  指针变量名;
        让指针指向变量的地址:指针变量  =   &变量;
 
        使用指针:可以通过解引用的方式来找到指针指向的内存。
                        指针前加  *  代表解引用,找到指针指向内存中的数据。
 
指针占内存空间: 在32位操作系统下,指针是占4个字节空间大小,不管是什么数据类型;在64位操作系统,指针是占8个直接空间大小。
 
空指针:指针变量指向内存中编号为零的空间;
            用途:初始化指针变量;
            注意:空指针指向的内存是不可以访问的
 
野指针:指针变量指向非法的内存空间。
 
 
const修饰指针:
        const  数据类型  *  指针变量
        1、const修饰指针--常量指针:指针指向可以改,指针指向的值不可以改。
        数据类型  *  const  指针变量
        2、const修饰常量--指针常量:指针指向不可以改,指针指向的值可以更改。
        const  数据类型  *  const  指针变量
        3、const即修饰指针,又修饰常量:指针指向和指向的值都不可以改。
 
指针和函数:值传递: 如果形参发生,并不会影响实参;
                    用指针进行地址传递:形参改变,实参跟着改变;
 
结构体:
        结构体定义:struct   结构体名 {结构体成员列表};

        通过结构体创建变量的方式有三种:
                                1、struct   结构体名   变量名
                                2、struct   结构体名   变量名 = {成员1值,成员2值}
                                3、定义结构体时顺便创建变量
        
 
结构体数组:将自定义的结构体放入到数组中方便维护
          语法:struct  结构体名  数组名{元素个数} = {{},{},{},……{}}
 
结构体指针:通过指针访问结构体中的成员;利用操作符->可以通过结构体指针访问结构体属性;
 
 
结构体嵌套结构体:结构体中的成员可以是另一个结构体;
 
结构体做函数参数:将结构体作为参数向函数中传递;值传递、地址传递;
 
结构体中const使用场景:用const来防止误操作。形参前面加const,一旦函数体中有写操作就会报错,可以防止我们的误操作。
 
 
posted @ 2020-09-11 15:38  不负华年  阅读(250)  评论(0)    收藏  举报