C++學習4

姓名:張立斐 ? 學號:19020700001? ?學院:電子工程學院?

轉自:https://blog.csdn.net/lvliang2017232003/article/details/85645040

【嵌牛導讀】C++學習

【嵌牛鼻子】C++

【嵌牛提問】如何學習C++?

【嵌牛正文】

1验靡、strcmp( ):比較兩個字符串,相同返回0;第一個字符串按字母順序排在第二個字母之后將返回負值;

2.類型別名:

#define BYTE char? //使用預處理器样悟,用char替代所有的BYTE咏瑟,BYTE是char的別名

typedef char byte? //使用關鍵字typedef ,byte是char的別名。typedef不會創(chuàng)建新類型

3. C++11中基于范圍的for循環(huán)归榕,對數(shù)組(或vector,array)的每個元素執(zhí)行相同的操作:

double prices[5]= {4.99,5.6,2.13,2.69,7.34};

for (double x : prices)? {cout<<x<<std::end;}

for (double &y : prices)? { y=y*0.8;? } // 要修改數(shù)組元素時,循環(huán)變量要取地址吱涉,改為&y

4刹泄、cin() 忽略空格和換行符外里,cin.get()中包含空格、制表符特石、換行符盅蝗。

? cin.get(name,size).get();

5、檢測文件尾(EOF) :檢測到EOF姆蘸,cin.eof() 或cin.fail() 將返回bool值true,否則返回bool值 false;

6.字符輸入做法:

char ch; cin.get(ch);? while (cin.fail()==false) { ....? cin.get(ch); }? //或者while (墩莫!cin.fail()) 或while (cin)

char ch;? while (cin.get(ch))? { ... }

int ch; ch=cin.get();? while ( ch!=EOF )? { ...? ch=cin.get(); }

int ch;? while((ch = cin.get() ) != EOF) {? ? }

更常用,拼接字符串:cin.get(ch1).get(ch2);

7.邏輯運算符||? 邏輯運算符&&

逞敷!的優(yōu)先級大于邏輯運算符和關系運算符(> < =), &&優(yōu)先級大于|| 狂秦,關系運算符優(yōu)先級大于 &&,||

8.定義二維字符串數(shù)組方式:

(1)char指針數(shù)組: char * cities[3]={"Beijing", "TianJin", "ShangHai"};

(2)char數(shù)組的數(shù)組 char? cities[3][10]={"Beijing", "TianJin", "ShangHai"};

(3)string對象數(shù)組 string? cities[3]={"Beijing", "TianJin", "ShangHai"};

希望字符串可以修改的情況下推捐,string類可以自動調節(jié)大小更方便裂问。

9.switch語句,while語句中,將int值與枚舉量標簽進行比較時玖姑,枚舉量將提升為int愕秫。

switch語句中每一個case的標簽必須是int或char,還必須是常量

10.continue :跳出循環(huán)剩余部分,執(zhí)行新的一輪循環(huán)

? ? break :跳出循環(huán)剩余部分焰络,不在執(zhí)行循環(huán)語句

switch一般與break組合使用

int chice[3]={0,1,2};

switch (choice){case 0: ... break;? case 1: ... break; case 2: ... break;? }

11.int n[6];? for(i=0;i<6;i++){

cout<<"round "<<i+1<<" : ";

while(!(cin>>n[i])){? //當輸入不是字符時戴甩,執(zhí)行下面循環(huán)

cin.clear(); // 如果輸入的是字符,不是數(shù)字時闪彼,應利用cin.clear() 重置cin以接受新的輸入甜孤。

while (cin.get() != '\n')? continue;? //while中用cin.get() 讀取行尾之前的輸入,從而刪除這行錯誤輸入

cout<<"Pleae enter a number:? ";

}? }

12.寫入文本文件文件輸出:必須包含頭文件 #include<fstream>畏腕,需要聲明一個或多個ofstream對象缴川,將ofstream對象與文件關聯(lián)用open()方法。使用完文件用close()關閉描馅“芽洌可以使用ofstream對象和運算符<<來輸出各種類型的數(shù)據(jù)。(和cout類似)


#include "stdafx.h"

#include<iostream>

#include<fstream>

int _tmain()

{

using namespace std;

char automobile[50];

int year;

double a_price,d_price;

ofstream outfile; //創(chuàng)建一個輸出的ofstream對象铭污,可以像使用cout一樣使用outfile

outfile.open("carinfo.txt"); //關聯(lián)的文件,創(chuàng)建一個名為carinfo.txt的文件

cout << "Enter the make and model of automobile: ";

cin.getline(automobile, 50);

cout << "Enter the model year: ";

cin >> year;

cout << "Enter the original asking price: ";

cin >> a_price;

d_price = 0.913*a_price;

cout << fixed;

cout.precision(2);? //設置顯示精確度為2位并返回上一次的設置恋日。

cout.setf(ios_base::showpoint); //顯示浮點數(shù)小數(shù)點后的0;

cout << "Make and Model: " << automobile << endl;

cout << "Year: " << year << endl;

cout << "Was asking $" << a_price << endl;

cout << "Now asking $" << d_price << endl;

outfile << fixed;? //可以像使用cout一樣使用outfile

outfile.precision(4);? 設置輸出精確度為4位并返回上一次的設置嘹狞。

outfile.setf(ios_base::showpoint);?

outfile << "Make and Model: " << automobile << endl;

outfile << "Year: " << year << endl;

outfile << "Was asking $" << a_price << endl;

outfile << "Now asking $" << d_price << endl;

outfile.close();? //關閉文件

return 0;

}

13.讀取文本文件:必須包含頭文件 #include<fstream>岂膳,需要聲明一個或多個ifstream對象,將ifstream對象與文件關聯(lián)用open()方法磅网。使用完文件用close()關閉谈截。可以使用ifstream對象和運算符>>來讀取各種類型的數(shù)據(jù)。

可以使用ifstream對象和get()方法來讀取一個字符簸喂。使用ifstream對象和getline()方法來讀取一行字符毙死。

使用ifstream對象和eof() 、fail()等方法來判斷輸入是否成功

ifstream對象本身作為測試條件時娘赴,如果最后一個讀取操作成功规哲,它將會被轉化為bool值true.(和cin類似)

檢查文件是否被成功打開用方法is_open();

#include "stdafx.h"

#include<iostream>

#include<fstream>

#include<cstdlib> //支持exit()

const int SIZE = 60;

int _tmain()

{

using namespace std;

char filename[SIZE];

ifstream infile;

cout << "Enter name of data file: ";

cin.getline(filename, SIZE);? //輸入要讀取的文件名

infile.open(filename);

if (!infile.is_open()) //檢查文件是否被成功打開

{

cout << "Could not open the file" << endl;

cout << "Program terminating.\n";

exit(EXIT_FAILURE);

}

double value;

double sum = 0.0;

int count = 0;

infile >> value; //在循環(huán)外讀取第一個值

while (infile.good()) //讀取輸入操作成功且未到達EOF

{

++count;

sum += value;

infile >> value;? //讀取下一個值

}

if (infile.eof()) //判讀是否達到EOF

cout << "End of file read.\n";

else if (infile.fail()) //可以檢測EOF或類型不匹配

cout << "Input terminated by data mismatch.\n";

else

cout << "Input terminated by unkonwn reason.\n";

if (count == 0)

cout << "No data processed.\n";

else

{

cout << "Item read: " << count << endl;

cout << "Sum: " << sum << endl;

cout << "Average: " << sum / count << endl;

}

infile.close();

return 0;

}

infile >> value; //在循環(huán)外需進行一次讀取

? ? while (infile.good()) //

? ? {? .......

? ? ? ? ? infile >> value;? //讀取下一個值

? ? }

以上這一部分等效于

while (infile>>value)? //讀取并測試是否成功

{ ...... }

————————————————

版權聲明:本文為CSDN博主「lvliang2229」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權協(xié)議诽表,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/lvliang2017232003/article/details/85645040

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末隅肥,一起剝皮案震驚了整個濱河市竿奏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌腥放,老刑警劉巖泛啸,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異秃症,居然都是意外死亡候址,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門种柑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岗仑,“玉大人,你說我怎么就攤上這事聚请≤瘢” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵驶赏,是天一觀的道長炸卑。 經常有香客問我,道長煤傍,這世上最難降的妖魔是什么盖文? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮蚯姆,結果婚禮上五续,老公的妹妹穿的比我還像新娘。我一直安慰自己蒋失,他們只是感情好返帕,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著篙挽,像睡著了一般荆萤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天链韭,我揣著相機與錄音偏竟,去河邊找鬼。 笑死敞峭,一個胖子當著我的面吹牛踊谋,可吹牛的內容都是我干的。 我是一名探鬼主播旋讹,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼殖蚕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了沉迹?” 一聲冷哼從身側響起睦疫,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鞭呕,沒想到半個月后蛤育,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡葫松,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年瓦糕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腋么。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡咕娄,死狀恐怖,靈堂內的尸體忽然破棺而出党晋,到底是詐尸還是另有隱情谭胚,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布未玻,位于F島的核電站灾而,受9級特大地震影響,放射性物質發(fā)生泄漏扳剿。R本人自食惡果不足惜旁趟,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望庇绽。 院中可真熱鬧锡搜,春花似錦、人聲如沸瞧掺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辟狈。三九已至肠缔,卻和暖如春夏跷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背明未。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工槽华, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人趟妥。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓猫态,卻偏偏與公主長得像,于是被迫代替她去往敵國和親披摄。 傳聞我的和親對象是個殘疾皇子亲雪,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內容

  • 原文出自【比特網】,轉載請保留原文鏈接:http://soft.chinabyte.com/database/46...
    petit_prince閱讀 7,660評論 0 2
  • #include #include<fstream> using namespace std; int main(...
    nit小星星閱讀 749評論 0 0
  • 技術交流QQ群:1027579432行疏,歡迎你的加入匆光! 1.Cpp中的文件和流 到目前為止,已經使用了iostrea...
    CurryCoder閱讀 523評論 0 1
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月酿联,有人笑有人哭,有人歡樂有人憂愁夺巩,有人驚喜有人失落贞让,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,535評論 28 53
  • 人工智能是什么?什么是人工智能柳譬?人工智能是未來發(fā)展的必然趨勢嗎?以后人工智能技術真的能達到電影里機器人的智能水平嗎...
    ZLLZ閱讀 3,776評論 0 5