這學期學習專業課c++,此篇博客主要總結一下這周學習的內容,
一、C++中對于如何輸出保留小數點的數字,
以老師發的實驗題為例,求兩點之間的坐標,一開始我是以printf來進行輸出的,如下:
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int x1,x2,y1,y2;
double s;
cin>>x1>>y1;
cin>>x2>>y2;
s=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
printf("%.2f",s);
return 0;
}
但后面老師講了fixed和setprecisionC++格式控制的函式使用,如下:
#include<iostream>
#include<math.h>
#include<iomanip>
using namespace std;
int main()
{
int x1,x2,y1,y2;
double s;
cin>>x1>>y1;
cin>>x2>>y2;
s=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
cout<<fixed<<setprecision(2)<<s<<endl;
return 0;
}
二、設定域寬的運算子setw()
setw()同樣需要在頭檔案iomanip中定義
setw(n)n為幾即為占幾個域寬
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
cout<<123<<endl;
cout<<setw(6)<<456<<endl;//456占了六個域寬
return 0;
}
三、const修飾符
在C語言中,用#define來定義常量,在C++中可以用const修飾符來定義常量,
const也可以與指標一起使用,分為指向常量的指標、常指標和指向常量的常指標,
①指向常量的指標:一個指向常量的指標變數,
宣告一個名為pc的指標變數,它指向一個字符型常量,初始化pc為指向字串"abcd",
const char* pc="abcd"; //宣告指向常量的指標
因為使用了const修飾符,所以不能改變指標所指的物件
pc[3]='x'; //錯誤?
但因為pc使一個指向常量的普通指標變數,不是常指標,因此pc所指的地址可以改變,
pc="efgh" // 此陳述句正確?
②常指標:把指標變數所指的地址,而不是它指向的物件宣告為常量,
宣告一個名為pc的指標變數,該指標是指向字符型資料的常指標,用字串"abcd"的地址初始化該常指標,
char* const pc="abcd"; //常指標
創建一個常指標,不能改變指標所指的地址,但所指地址中的資料可以改變,
pc[3]="x"; //?,可以改變指標所指地址中的資料
pc="efgh"; //?,不可以改變常指標所指的地址
③指向常量的常指標:這個指標變數所指的地址不能改變,他所指的地址中的資料也不能改變,
const char* const pc="abcd" //指向常量的常指標
pc[3]="x"; //?,不可以改變指標所指地址中的資料
pc="efgh"; //?,不可以改變常指標所指的地址
(如果用const定義的是一個整型常量,關鍵字int可以省略)
開學第一周時間太多+懶,書就看了一點,也就總結了這么多,下周再見吧
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/267373.html
標籤:其他
