C 對C的改進 1

2021-09-23 21:10:54 字數 4517 閱讀 7663

c提供的初始化方法

int x = 1024;

c++提供兩種初始化方法:

複製初始化(copy-initialization)

如:int x = 1024;

直接初始化(direct-initialization):

如:int x(1024);

注意:①初始化不是簡單地賦值,初始化指宣告變數或物件並且賦初值;賦值指用新值覆蓋變數或物件當前值。

②直接初始化語法更靈活且效率更高

③初始化內建型別變數兩種初始化幾乎沒有差別對於類型別的初始化,有時只能採用直接初始化(以後討論)

④兩種初始化的方法可以混用(見下例)

合使用初始化的例子:

#include using

namespace std;

int main()

c語言的輸入輸出:

c++語言的輸入輸出:

c++語言的輸入輸出:先睹為快

#include using

namespace std;

int main()

c++的輸入輸出:cin,cout的用法

基本用法:

cout《表示式1《表示式2《表示式n;

cin>>變數1>>變數2>>變數n;

例如:

cout<

x + y =

"<< x + y << "."

<< endl;

cin >> x >> y;

[注意]

①不能用乙個《輸出多個資料項

cout*

錯誤*/

cout*

正確*/

②cin/cout可以分成多行來寫

cin>>a>>b

>>c;

cout

#include using

namespace std;

int main()

cin的用法舉例:

int main()

cout與輸出控制字元:

#include #include using

namespace std;

int main()

輸出控制符:

注意:若用控制符,程式需包含標頭檔案#include

有關型別的區別:bool型別

邏輯型別真假

c沒提供

非0c++

bool

true

false

注意:1)bool型別的取值只有兩種true,false

2)輸出時預設輸出0或者1

3)用boolalpha可以改變預設的輸出方式,noboolalpha可以恢復預設的輸出方式

#include using

namespace std;

int main()

有關型別的區別:string類

#include #include 

using

namespace std;

int main()

string物件的定義和初始化:

初始化string物件的方式

string s1;

預設建構函式,s1為空串

string s2(s1);

將s2初始化為s1的乙個副本

string s3("value");

用字串字面值初始化s3

string s4(n,'c')

將s4初始化為字元'c'的n個副本

#include #include 

using

namespace std;

string s0;

int main( )

string物件的讀寫:用cin、cout讀寫string物件

注意:

cin忽略開頭所有空格、tab、回車符

不接收含空格的字串

string的i/o:

#include #include 

using

namespace std;

int main()

string讀入未知數目的物件:

#include #include 

using

namespace std;

int main()

string物件的讀寫:用getline讀取整行文字(含空格)。

#include #include 

using

namespace std;

int main()

注意:

getline的第乙個引數通常為cin, 第二個引數為string物件

從錄入資料的下一行讀取,可讀取  任何字元

getline()以回車作為結束符 (不接受換行符)

getline()不忽略前導回車,若第一 個就是換行符,則置為空串

string物件的操作,設有:string s, s1;

string的操作

s.empty()

若s為空串,則返回true,否則返回false

s.size()

返回s中字元的個數

s[n]

返回s中位置為n的字元,位置從0開始

s1+s2

將兩個串連線成新串,返回新生成的串

s1 = s2

把s1得內容替換為s2的副本

v1 == v2

判定時候相等,相等返回true,否則返回false

保持這些操作慣有的含義,如:s != s2;

注意:

1、size()的返回型別並非int而是string::size_type型別的值,建議不要把size()的返回值賦值給int變數

string s2 = "

hello

";string::size_type count = s2.size();

2、兩個string物件+時,+操作符左右運算元必須至少有乙個是string

#include #include 

using

namespace std;

int main()

3、string物件下標操作時,任何無符號整型值均可用作下標,但下標的實際型別為string::size_type

4、string下標操作可用作左值

int main()

有關型別的區別:列舉c++對列舉的改進:

①在c++中定義列舉變數可以不用enum

enum  weekday

;weekday w; //

省略了enum

②無名列舉:不給出列舉型別名和變數,將列舉元素當符號常量用

enum

;int x = min, arr[max];

... ...

有關型別的區別:unionc++對聯合的擴充套件:

①無名聯合:沒有聯合體型別名和變數名的聯合體

#include using

namespace std;

int main()

; c = 'a';

cout << c << endl;

return

0;}

②定義聯合變數無需給出union

#include using

namespace std;

union test

;int main()

; cout << m.c << endl;

return

0;}

有關型別的區別:structc++對結構體的擴充套件

①定義結構體變數可以不用struct

struct  point

;point p;

②成員可以包含函式定義

struct  point

};

C 對C的改進 2

原型宣告的概念 函式要先定義再使用,如果先使用後定義則必須使用原型宣告 include using namespace std int main float add float x,float y 注意 宣告語句必須加分號!位置任意,只是作用域不同 宣告的原因就是告訴編譯環境函式引數的個數,型別和順...

C 第二天 C 對C的改進及擴充套件

1.c 語言風格 1 頭部寫法 include using namespace std 2 輸入和輸出 cin c a f cout 注 必須用 include 及using namespace std 或用 include 作檔案包含,才能使用cin和cout 4 常量定義 用const定義符號常...

關於C 學習初步總結(1)C 對C的擴充套件1

我又開始了!不做筆記一直聽真的好難受,聽說大佬都喜歡做總結所以我就向大佬學習一下8 1.常用運算子 2.常用控制符 設定十進位制輸入 cout please input b in hexadecimal cin hex b 設定十六進製制輸入 cout please input c in octal...