C++數值計算

1.序

(1)程序設計分兩種:ios

1.結構化設計(面向過程)——分解算法爲模塊,將算法的步驟分解爲模塊。算法

2.面向對象程序設計——主要是「類」與「對象」。spa

(2)進制的轉換設計

1.二進制轉十進制指針

整數部分與小數部分分開計算,整數部分「除2取餘」倒排序;小數部分「乘2取整」正排序,出現循環的進行截斷,取循環部分。code

2.二進制轉八進制和十六進制對象

三位二進制轉成一位十進制數爲一位八進制,四位二進制轉一位十六進制。blog

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;            //初始化,之後不能修改
相關文章
相關標籤/搜索