c提供的初始化方法
int x = 1024;
c++提供兩種初始化方法:
複製初始化(copy-initialization)
如:int x = 1024;
直接初始化(direct-initialization):
如:int x(1024);
注意:①初始化不是簡單地賦值,初始化指宣告變數或物件並且賦初值;賦值指用新值覆蓋變數或物件當前值。
②直接初始化語法更靈活且效率更高
③初始化內建型別變數兩種初始化幾乎沒有差別對於類型別的初始化,有時只能採用直接初始化(以後討論)
④兩種初始化的方法可以混用(見下例)
合使用初始化的例子:
#include usingc語言的輸入輸出:namespace std;
int main()
c++語言的輸入輸出:
c++語言的輸入輸出:先睹為快
#include usingc++的輸入輸出:cin,cout的用法namespace std;
int main()
基本用法:
cout《表示式1《表示式2《表示式n;
cin>>變數1>>變數2>>變數n;
例如:
cout<[注意]x + y =
"<< x + y << "."
<< endl;
cin >> x >> y;
①不能用乙個《輸出多個資料項
cout*②cin/cout可以分成多行來寫錯誤*/
cout*
正確*/
cin>>a>>bnamespace std;>>c;
cout
#include using
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有關型別的區別:string類namespace std;
int main()
#include #includestring物件的定義和初始化:using
namespace std;
int main()
初始化string物件的方式
string s1;
預設建構函式,s1為空串
string s2(s1);
將s2初始化為s1的乙個副本
string s3("value");
用字串字面值初始化s3
string s4(n,'c')
將s4初始化為字元'c'的n個副本
#include #includestring物件的讀寫:用cin、cout讀寫string物件using
namespace std;
string s0;
int main( )
注意:
cin忽略開頭所有空格、tab、回車符
不接收含空格的字串
string的i/o:
#include #includestring讀入未知數目的物件:using
namespace std;
int main()
#include #includestring物件的讀寫:用getline讀取整行文字(含空格)。using
namespace std;
int main()
#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 = "2、兩個string物件+時,+操作符左右運算元必須至少有乙個是stringhello
";string::size_type count = s2.size();
#include #include3、string物件下標操作時,任何無符號整型值均可用作下標,但下標的實際型別為string::size_typeusing
namespace std;
int main()
4、string下標操作可用作左值
int main()有關型別的區別:列舉c++對列舉的改進:
①在c++中定義列舉變數可以不用enum
enum weekday②無名列舉:不給出列舉型別名和變數,將列舉元素當符號常量用;weekday w; //
省略了enum
enum有關型別的區別:unionc++對聯合的擴充套件:;int x = min, arr[max];
... ...
①無名聯合:沒有聯合體型別名和變數名的聯合體
#include using②定義聯合變數無需給出unionnamespace std;
int main()
; c = 'a';
cout << c << endl;
return
0;}
#include using有關型別的區別:structc++對結構體的擴充套件namespace std;
union test
;int main()
; cout << m.c << endl;
return
0;}
①定義結構體變數可以不用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...