1,標頭檔案
c++為了相容c,支援所有c標頭檔案,但為了符合c++標準,所有的c標頭檔案都有乙個c++版本,主要的改變是【去掉 .h ,並在名字的前面加c】。如圖:
c語言c++
stdio.h
iostream(c++標準輸入輸出流標頭檔案)
math.h
cmath
string.h
cstring
stdlib.h
cstdlib……
2,命名空間
為了解決命名問題(如同名),引入了命名空間,它可作為附加資訊來區分不同庫中,相同名稱的函式
、類、變數等,本質上,命名空間就是定義了乙個範圍;
作用域限定符: '::'
;【若加在變數前面,則該變數輸出的值是全域性變數的值,不加則輸出區域性變數的值】
定義方式:
namespace name//name為自定義命名空間名
使用方式:
name:
:code;
//code可以是變數或函式
using name:
:code;
//只使用name下面的code
using namespace name;
//使用name裡面的所有內容
3,輸入輸出
c語言的輸入輸出主要用的是scanf和printf函式,而c++是使用類物件cin、cout進行輸入輸出;
例子:
#include
using namespace std;
intmain()
4,基礎資料型別
c++和c的基礎資料型別幾乎一樣;
char
short
intlong
(long
long
)float
double
unsigned
signed..
.
注意事項:
1
,c語言中雖然有bool布林型別,但需要包含標頭檔案
,而c++不用,可直接使用;
布林型別物件可以被賦予文字值true或false,所對應的關係就是真與假的概念,即(0,
1);2
,可以使用boolalpha列印出bool型別的true和false;
例子:bool compare
(int a,
int b)
cout << boolalpha <<
compare(4
,5)/輸出true
5,強弱型別
c語言:強型別,弱檢查;
例子:
void
* p=
null
;int
* pl=p;
int* pn=
null
;void
* pp=pn;
//無報錯,無警告
c++:強型別,強檢查;
例子:
void
* p=
null
;int
* pl=p;
//錯誤: "初始化",無法從"void*"轉換到"int*";
//使用強制轉換可以解決
int* pn=
null
;void
* pp=pn;
//正確: 任意型別的指標都可以自動轉為萬能指標;
6,null與nullptr
null是給指標賦值的,表示指標指向的是空,nullptr在c++中替代了null;
在c語言中,null會被定義成(void*)null,但是c++不允許直接將void *隱式轉換到其他型別,null只好被定義為0;
7,const
1,c語言中的const並不是真正的常量,只是表示const修飾的變數為唯讀;
例子:
const
int age=19;
//age=99;//error 左值指定 const物件;
int* pn=
(int*)
&age;
*pn=99;
printf
("%d %d "
,age,
*pn)
;//輸出:99 99
//可知常量pn的值已經通過指標被間接改變;
2,c++中的const:
const
int age=18;
//age=99;//error "age"不能給常量賦值
int* pt=
(int*)
&age;
*pt=99;
printf
("%d %d "
,age,
*pn)
;//輸出:18 99
3,const引數不匹配的情況
例子:
void
show
(char
* name)
show
("king");
//error "const char*"型別的實參與 "char*"型別的形參不相容
//需要給函式形參加上const
char
* name=
"king"
;//error
const
char
* name=
"king"
;//true
C語言第一課
一 c基礎 進製的轉換 進製,進製機制 常見的有二進位制 八進位制 十進位制 十六進製制 例 二進位制 0101010 八進位制 0235 十進位制 9 十六進製制 0x8a 注 十六進製制後面的10 16由a,b,c,d,e,f代替 進製的區分 八進位制前面會加 0 十六進製制後面會加 0x 進製...
C語言第一課
開始的第乙個程式是乙個最簡單的程式,也就是最經典的hello world程式,它的功能為列印出hello world。程式的內容非常簡單,也是c語言編寫程式的基本結構框架。機構的電腦是基於虛擬機器的,其程式設計是gcc的。1.建立hello.c檔案 vim hello.c2.編寫hello worl...
c語言第一課
c語言第一課 型別 不僅定義了資料元素的內容,還定義了這類資料上可以進行的運算。編譯 執行程式 程式原始檔命名約定 cc cxx cpp cp及.c 從命令列執行編譯器 cc test1.cc 其中cc是編譯器程式的名字。編譯器生成乙個可執行檔案。windows系統將會生成可執行檔案 prog1.e...