zoukankan      html  css  js  c++  java
  • C ++ 基本语法

    笔记:https://blog.csdn.net/ClaireSy/article/details/108422945

    1. 第一个程序
    2. 注释
    3. 变量
    4. 常量
    5. 关键字
    6. 标识符命名规则
    7. 数据类型
    8. sizeof 关键字
    9. 浮点型
    10. 字符型
    11. 转义字符
    12. 字符串型
    13. 布尔类型
    14. 数据的输入 cin
    15. 运算符
    16. 程序流程结构
    17. 跳转语句
    18. 数组
    19. 冒泡排序
    20. 二维数组
    21. 函数
    22. 指针
    23. 结构体

    1.第一个程序

    #include<iostream>
    using namespace std;
    int main() {
    
        cout << "HelloWorld" << endl;
        system("pause");
    }

    2.注释

    单行注释 //

    多行注释 /* 内容 */

    3. 变量

    数据类型 变量名称 = 初始值 ;

        // 单行注释
        /*
          1.
          多行注释
          2....
         */
        int a = 10;

    4.常量

    用于记录程序中不可更改的数据,常量一旦定义不可修改

    #define  宏常量

    const 修饰的变量

    #include<iostream>
    using namespace std;
    
    #define DAY 7
    
    int main() {
        
        cout << "一周有" << DAY << "" <<endl;
    
        const int month = 12;
    
        cout << "一年有" << month << "" << endl;
    
        system("pause");
    }

    5.关键字/标识符

     6.标识符命名规则(见明知意)

    • 标识符不能是关键字
    • 标识符只能是字母、数字、下划线
    • 第一个字符必须是字母或者下划线
    • 标识符区分大小写

    7.数据类型

     变量定义: 变量类型 变量名 = 变量初始值;

    变量类型存在的意义是为变量分配合适的内存空间

    short  2个字节 (-32768~32767)

    int  4个字节 (-2147483648~2147483637)

    long  32位4字节,64位 8 字节

    long long 8字节

    short num_1 = 10;
    int num_2 = 10;
    long num_3 = 10;
    long long num_4 = 10;

    8.sizeof 关键字

    int x  = sizeof(类型);

    cout << sizeof(short) << endl;
    cout << sizeof(int) << endl;
    cout << sizeof(long) << endl;
    cout << sizeof(long long) << endl;

    9.浮点型

    单精度:float

    双精度:double

    float  4字节,7有效位数

    double  8字节,15位精度

    默认情况下,小数显示6位有效数字

    科学计数法

    float f1 = 3e2;
    
    cout << f1 << endl;

    float f2 = 3e-2;

     10.字符型

    定义 char ch = 'a';

    字符类型占用的内存空间: 1 字节

    • 只能使用 ‘ ’ ,不能使用双引号
    • 单引号内不能超过4个字符,但是始终只识别最后一个字符、
    • 字符对于的数字 ASCII

    ASCII 表: http://ascii.911cha.com/

    11.转义字符

    换行

    水平制表 

    反斜杠  \

    cout << "he	World"<<endl;
    cout << "hel	World" << endl;
    cout << "hedd	World" << endl;
    cout << "heddd	World" << endl;

     

    12.字符串型

    有两种风格

    1.C语言风格的串 

    char  变量名[] = "字符串";

    2.C++ 风格字符串

    string  变量名 = “字符串”;

        //[] 必须放在变量后
        char str[] = "hello world";
        cout << str << endl;
    
        string str2 = "Hello ,World 2.0";
        cout << str2 << endl;

    string 类型需要包含新的头文件

    #include<string.h>

    13.布尔类型

    • true   本质是1
    • false  本质是0 

    占用 1 个字节的内存,本质上 0 代表假 , 1 代表真。 布尔类型非0即为真

    14. 数据的输入

    关键字 cin 

    格式: cin >> 变量 ;

    int a;
    cout << "请输入a:";
    cin >> a;
    cout << "a:"<<a<<endl;

    15. 运算符

    算术运算符: + - * /  % ++ --

    赋值运算符:+=  -=  *=  /=  %=

    比较运算符:==  , !=, >,<,<=,>=, 

    逻辑运算符:!  &&  ||

    • 整数相除,只保留整数部分
    • 取余 % 只能作用在整数
    • 对整数赋值小数,真正生效的只有整数部分
    • && 前置为假,则后条件不判断, || 前置为真,后条件不判断,即短路

     16.程序流程结构

    • 顺序结构 顺序执行,不发生跳转
    • 选择结构 if 语句
    • 循环结构 while, for, do-while

    分支包括:单个 if ,if -else  , if -else if - else  ,嵌套if 等

    三目运算符:  表达式1 ? 表达式2 : 表达式3;

        int i = 0;
        int tag = 1;
        do {
            cout << i << endl;
            i++;
            if (i == 50) {
                tag = 0;
            }
        } while (tag);

    17.跳转语句

    • break

    可以在 switch 中跳出,可以在循环中 ,可以出现在多层循环中

    •  continue 跳过当前行以下的代码
    • goto 可以无条件的跳转语句

    语法: goto  标记

        goto flag;
        cout << "aaa"<<endl;
    
        cout << "bbb"<<endl;
    
        flag:
        cout << "ccc"<<endl;

    18.数组

    存放相同的数据元素

    数据类型  数组名[数组长度];

    数据类型 数组名[数组长度] = {值1,值2。。。};

    数据类型 数组名[] = {值,,,};

     一维数组数组名的用途:

    1. 可以统计整个数组在内存中的长度
    2. 可以获取数组在内存中首地址
        //数组大小
        cout << sizeof(arr) << endl;
    
        //数组第一个元素的大小
        cout << sizeof(arr[0]) << endl;
    
        //数组长度
        cout << sizeof(arr) / sizeof(arr[0]) << endl;
    
        //数组首地址
        cout << arr << endl;
        //数组首地址
        cout << (int)arr << endl;
    
        //第一个元素地址 = 数组首地址
        cout << (int)&arr[0] << endl;
    
        //第二个元素地址 = 第一个元素地址 + 类型大小
        cout << (int)&arr[1] << endl;

    19.冒泡排序

    原理:遍历数组,每一次遍历都将昂一个极大或者极小的值放在数组的一端

    void bubbleSort(int data[],int size) {
        for (int i = 0; i < size-1; i++) {
            for (int j = 0; j < size-i-1; j++) {
                if (data[j] < data[j + 1]) {
                    int temp = data[j];
                    data[j] = data[j+1];
                    data[j+1] = temp;
                }
            }
        }
    }

     20.二维数组

    数据类型  数组名 [行数][列数] ;

        int arr[2][3];
    
        int arr2[2][3] = {1,2,3,4,5,6};
    
        int arr3[2][3] = { {1,2,3},{4,5,6} };
    
        int arr4[][3] = {1,2,3,4,5,6}

    21. 函数

    函数参数传递:实参、形参

    值传递:

    形参的变化不会影响到原来的值

    引用传递:

    传递的是应用的地址

    函数声明:提前告诉编译器函数的存在,声明可以多次,但是定义只能用有一次

    函数的分文件编写:

    1. 创建 .h 文件
    2. 创建 .cpp 文件
    3. 在  .h 文件创建声明
    4. 在 cpp 文件包含头文件  (使用 ” “)
    #pragma once
    #include<iostream>
    using namespace std;
    void swap();
    
    void swap() {
        cout << "swap..." << endl;
    }

    Main

    #include "swap.h"
    int main() {
        swap();
        return 0;
    }

    22.指针

        int a = 10;
    
        int *p = &a;
    
        cout << "a:" << a << endl;
    
        cout << "p:" << p << endl;
        
        cout << "*p:" << *p << endl;

    指针变量 32位为 4 字节 ,64 位 8字节

    空指针&野指针

    空指针:指针变量指向地址编号为0 的指针(0~255 内存 编号是系统占用,不能访问)

        用于对指针变量进行初始化,空指针不可以进行访问

        int *p  =NULL;

    野指针:指针变量指向非法的内存空间

        int* p = (int*)0x00110;
    
        cout << *p << endl;

    const 修饰指向

    1. const 修饰指向   指针的指向可以修改,指针指向的值不可修改
    2. const 修饰常量 
    3. const 修饰指针以及常量
    //常量指针
        int a = 10;
        int b = 20;
    
        const int* p = &a;
    
        //*p = 20; 不可修改
        p = &b;
     //指针常量
        int a = 10;
        int b = 20;
    
        int * const p = &a;
        //p = &b; 指针不可修改
        *p = 30;
        //const 修饰指针与常量
        int a = 10;
        int b = 20;
    
        const int * const p = &a;
        //p = &b; 指针不可修改
        //*p = 30; 值不可修改

    23.结构体

    构建用户自定义的数据类型

    语法: 

    struct  结构体名称{

    成员列表

     };

    结构体数组: struct 结构体名称 数组名[] = {...}

    void print(const int * a){
        //a = 10;
    }
  • 相关阅读:
    微信小程序踩坑记
    js学习总结----同源与非同源(jsonp)
    js学习总结----crm客户管理系统之前端页面开发及数据渲染
    js学习总结----crm客户管理系统之node编写API接口
    js学习总结----crm客户管理系统之node创建服务发布项目
    js学习总结----crm客户管理系统之项目开发流程和api接口文档
    js学习总结----编写简单的ajax方法库
    js学习总结----ajax中的http请求方式及同步编程和异步编程
    js学习总结----ajax兼容处理及惰性思想
    js学习总结----http报文及ajax基础知识
  • 原文地址:https://www.cnblogs.com/bytecodebuffer/p/13968803.html
Copyright © 2011-2022 走看看