zoukankan      html  css  js  c++  java
  • C++数值计算

    1.序

    (1)程序设计分两种:

    1.结构化设计(面向过程)——分解算法为模块,将算法的步骤分解为模块。

    2.面向对象程序设计——主要是“类”与“对象”。

    (2)进制的转换

    1.二进制转十进制

    整数部分与小数部分分开计算,整数部分“除2取余”倒排序;小数部分“乘2取整”正排序,出现循环的进行截断,取循环部分。

    2.二进制转八进制和十六进制

    三位二进制转成一位十进制数为一位八进制,四位二进制转一位十六进制。

    2.变量与常量

    关键字:int、float、unsigned、double等

    标识符:abc、Abc、_bc、abc123等

      标识符命名原则:

      (1)由数字、字母和下划线组成

      (2)不能以数字开头,区分大小写

      (3)标识符要有意义

    2.1变量定义

    数据类型 变量名1,变量名2,...,变量名n;

    变量的写入:输入

    cin>>ctemp;    //输入
    ctemp = 36; //赋值
    int x = 10,y; //初始化

    变量的读出:

    ftemp = ctemp * 1.8 + 32;   //自动读取
    cout<<ftemp;                //输出  

     2.2常量

    字面常量:实数、负数、整数,一般默认为十进制数,后缀形式有长整形L、无符号u、浮点型f等

    符号常量:

    #define PI 3.14

    字符串常量:双引号括起来,如 “CHINA”

    2.3常变量

    const 数据类型 变量名=初始值;
    const int x=10;

    不能修改,不能赋值,只能读取。

    3.算术运算

    3.1算术运算符:

    加(+)、减(-)、乘(*)、除(/)

    数据类型转换:

    (1)强制转换

    short(32)            //转成短整型
    float(32)            //结果:1.8 单精度,4字节
    double(1.8)          //双精度,8字节
    short(932769)        //结果:-32767(溢出)
    int(1.8)             //结果:1 丢失小数位

    (2)自动转换

    char    short    int    long    float    double

    低                      高

    5 / 2 = 2
    5.0 / 2 = 2.5

    取余:%  10 % 6 = 4

    自增/减:++、--

    x++:先x,后+1

    ++x:先+1,后运算,例

    int x = 10, y;
    y = (x++) * 2;        //结果为20    
    y = (++x) * 2;        //结果为22

    3.2位运算

    位反运算符:~  按位取反,0转1,1转0

    位与运算符:&  s & 0x2  结果为0000 0010时倒数第二位是1,结果为0000 0000时倒数第二位是0,用于检测倒数第二位的状态,0x2位掩码

    位或运算符:|  一真即为真

    位异或运算:^  非

    左移运算符:<<  s<<2   左移两位,高2位移除,低2位补0

    右移运算符:>>  低位移除,高位补符号位

    3.3赋值运算

    a = 10;b =10;c = 10;        等价于       a = b = c = 10;
    y = x; x = x + 1;           等价于       y = x++;
    x = x + 1; y = x;           等价于       y = ++x;

    复合赋值运算符:

    +=    -=    *=    /=    %=    |=    ^=    <<=    >>=
    x += 5;        等价于    x = x+5;

    4数据的输入与输出

    C++中为输入/输出流,键盘(cin)、显示器(cout),C++要输入输出需要导入外部程序

    #include <iostream>
    using namespace std;

    cin输入流,标准输入,可同时输入多个数据,用空格或Tab键隔开,cin>>x>>y;

    cout输出流,称为标准输出,

    int x=5;
    cout<<x;               //5
    cout<<x<<x * x;        //525,中间无间隔

     5访问变量内存单元

    直接访问:变量名

    间接访问:引用和指针

    引用:

    引用类型 & 引用变量名 = 被引用变量名;
    int x;  int & xa = x;
    或
    int x;  & xa = x;
    int x,y, & xa = x;
    例  int x = 10,y = 20;  
        int & xa = x;    

     指针:内存地址  取地址运算符:&   取变量内存地址的首地址。

    & 变量名
    int x = 10;
    cout <<&x;        //输出变量x的地址,一个8位的十六进制数,4个字节

     通过地址访问某个变量x,分3步:

    (1)定义一个专门保存地址的变量(假设为P)称指针变量

    (2)取出变量x的地址,赋给p

    (3)通过指针变量p所保存的地址访问变量x的内存单元

    注:指针的指向类型不能改变,整型(int)指针只能指向整型,指针变量也是一个变量,也有其内存单元。

    定义指针变量

    指向类型 *指针变量名;
    int x, y;
    int *p;           //定义指针变量p,未指向任何变量
    p = &x;           //取x的地址赋给指针变量p,则p指向x
    
    int *p = &x;

    指针运算符:*

    * 指针变量名
    *p
    int x;
    int *p = &x;
    *p = 10;
    cout<<*p;        //结果:10
    cout<<p;         //显示p中保存的地址即8位十六进制数

    注:*p 相当于x的另一个名字或标签

    void类型

    int x = 10;
    double y = 10.5;
    void *p;
    cout<<*((int*)p);        //显示:10,需要强制转换为int
    
    p = &y;
    cout<<*((double*)p;      //显示:10.5,转为double

    指向常变量的指针

    const int x = 10const int * p;
    p = &x;
    cout<< *p;        //正确
    *p = 15           //错误         

     定义指针类型的常变量

    int x =10, y = 20;
    int *const p = &x;            //初始化,以后不能修改
  • 相关阅读:
    学习ASP.NET MVC(四)——我的第一个ASP.NET MVC 实体对象
    学习ASP.NET MVC(三)——我的第一个ASP.NET MVC 视图
    学习ASP.NET MVC(二)——我的第一个ASP.NET MVC 控制器
    学习ASP.NET MVC(一)——我的第一个ASP.NET MVC应用程序
    水晶报表实现套打
    DataGridView的Cell事件的先后触发顺序
    对于System.Net.Http的学习(三)——使用 HttpClient 检索与获取过程数据
    对于System.Net.Http的学习(二)——使用 HttpClient 进行连接
    对于System.Net.Http的学习(一)——System.Net.Http 简介
    SQL SERVER 2005/2008 中关于架构的理解(二)
  • 原文地址:https://www.cnblogs.com/yangyangjia/p/12203164.html
Copyright © 2011-2022 走看看