C++學習筆記——第二天變數和資料型別
目標:
1.掌握C++中的常量,變數及其定義
2.掌握C++中資料型別及其轉換
3.熟練掌握在C++程式中如何宣告及使用常量,變數和資料型別
本節之後選擇用visual studio進行程式設計
教程參考:https://blog.csdn.net/luoweifu/article/details/48692267
常量
資料可分為常量和變數。在程式設計時,常量和變數必須遵循“先宣告,後使用”的原則。
宣告常量
常量可分為符號常量和直接常量。
直接常量:通常說的常數。如:123,3.14
符號常量:const float pi=3.1415926
根據常量的定義方法,可分為:const常量和巨集常量
const常量:
const <型別名><常量名>=<表示式>
必須以const開頭,型別名可省略,常量名為識別符號,表示式應與常量型別一致
例如:
Const float pi = 3.1415926
巨集常量#define定義:
#define <巨集名><常量>
巨集名可以是簡單的字元名,也可以是帶引數的函式名。
常量可以是數值,字串和函式等。
例如:
#define pi 3.1415926
常量的應用
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
const double pi=3.1415926; //定義圓周率pi
const double radius=8.5; //定義半徑常量radius
cout<<"area of circle of radius"<<radius<<"is"<<pi*radius*radius<<"\n";//輸出結果
getchar();
return 0;
}
變數
宣告變數
變數語句:
[<儲存類>] <型別名或型別定義><變數名錶>
儲存類4種:
auto:一次性儲存,其儲存空間可以被若干變數多次覆蓋使用(預設為auto)
register:存放在通用暫存器中
extern:在所有函式和程式段中都可引用
static:在記憶體中是以固定位置存放的,在整個程式執行期間都有效
型別名和型別定義是指變數所屬的資料型別。不可預設
變數名錶是指宣告變數的變數名稱。格式
1.<變數名>
2.<變數名>=<表示式>
3.<變數名1>=[<表示式1>],<變數名2>=[<表示式2>]表示式是指變數的初始化值。
如
int a ;
char b=’A’
floatc =2.5,d,e=56.1;
變數的命名規則
遵循識別符號命名規則。(C++語言是大小寫敏感的語言)
例如:
Char *szName; //以0為結束符的符串,儲存的是名字變數
BOOL bCanExit; //布林型別變數、
DWORD dwMaxCount;//32位雙字變數
變數的作用範圍
全域性變數和區域性變數。
// 2-2.cpp : 定義控制檯應用程式的入口點。
//
#include "stdafx.h"
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int a=0;
int b=0;//定義全域性變數a,b
a++;
b++;
cout<<"a="<<a<<","<<"b="<<b<<endl;
{
float a=0.5;//定義區域性變數a
a++;
b++;
cout<<"a="<<a<<","<<"b="<<b<<endl;
}
a++;
b++;
cout<<"a="<<a<<","<<"b="<<b<<endl;
getchar();
return 0;
}
變數的應用
// 2-3.cpp : 定義控制檯應用程式的入口點。
//
#include "stdafx.h"
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
const double pi=3.1415926;
double radius;
double area;
cout<<"please input radius"<<endl;
cin>>radius; //輸入半徑
area=pi*radius*radius;
cout<<"area of circle of radius"<<radius<<"is"<<area<<"\n";
getchar();
getchar();
return 0;
}
基本資料型別
C++資料型別包括基本資料型別和構造資料型別;基本型別分為四種:
整型:說明符為int;
字元型:說明符為char;
浮點型:說明符為float和double;
布林型:說明符為bool;
加上修飾符改變原來的含義:
signed:表示有符號
unsigned:表示無符號
long:表示長型
short:表示短型
整型
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int i;
i=123;
cout<<i<<endl;
getchar();
return 0;
字元型
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char ch1;
ch1='a';
cout<<"ch1="<<ch1<<endl;
int ch2;
ch2='a';
cout<<"ch2="<<ch2<<endl;
getchar();
return 0;
}
浮點型
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
double a;
a=a=3.13564824;;
cout<<a<<endl;
getchar();
return 0;
結果進行了取捨
布林型
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
double flag;
flag=true;
cout<<flag<<endl;
getchar();
return 0;
}
注意輸出的是1,而不是true
型別轉換
型別轉換是用來把有一個型別轉換成另一個型別。C++中支援隱式轉換和顯示轉換。
隱式轉換
隱式轉換是系統預設的,不需要加以宣告就可以進行的轉換。
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char ch;
ch='a';
int i = ch;//宣告整型變數並賦初值,隱式轉換
cout<<ch<<endl;
cout<<i<<endl;
getchar();
return 0;
}
顯式轉換
顯示轉換是使用者手動指出需要轉換的型別。
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char ch;
ch='a';
int i;
i=(int)ch;//顯式轉換
cout<<ch<<endl;
cout<<i<<endl;
getchar();
return 0;
}
程式設計中遇到的問題
1.error C2065: “cout”: 未宣告的識別符號 處理方法
解決:新增一行程式碼:
using namespace std;
2.解除vs中執行結果框閃退的方法
解決:在return 0;前加入一句getchar();
3.出現問題:LINK : fatal error LNK1123: 轉換到 COFF 期間失敗: 檔案無效或損壞
解決:
專案->專案屬性->嵌入清單改為“否”
參考:《21天學通C++》作者:劉蕾