<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
C/C++支援最基本的三種程式執行結構:順序結構、選擇結構、迴圈結構。
順序結構就是順著寫程式碼,不想多說。
作用:執行滿足條件的語句
if語句的三種形式:
單行格式if語句
語法:
if(條件){條件滿足執行的語句}
#include<iostream> using namespace std; int main() { //使用者輸入分數,如果分數大於600,視為考上一本大學,在螢幕上輸出 //1.使用者輸入分數 int score = 0; cout << "請輸入一個分數:" << endl; cin >> score; cout << "您輸入的分數為:" << score << endl; //2.判斷 if (score > 600) { cout << "恭喜您考上了一本大學" << endl; } system("pause"); return 0; }
多行格式if語句
語法:
if(條件){條件滿足執行的語句}else{條件不滿足執行的語句}
#include<iostream> using namespace std; int main() { //1.使用者輸入分數 int score = 0; cout << "請輸入一個分數:" << endl; cin >> score; cout << "您輸入的分數為:" << score << endl; //2.判斷 if (score > 600) { cout << "恭喜您考上了一本大學" << endl; } else { cout << "您沒有考上一本大學,請再接再厲" << endl; } system("pause"); return 0; }
多條件的if語句
語法:
if(條件1){條件1滿足執行的語句}else if(條件2){條件2滿足執行的語句}... else{都不滿足執行的語句}
#include<iostream> using namespace std; int main() { //1.使用者輸入分數 int score = 0; cout << "請輸入一個分數:" << endl; cin >> score; cout << "您輸入的分數為:" << score << endl; //2.判斷 if (score > 600) { cout << "恭喜您考上了一本大學" << endl; } else if (score > 500) { cout << "恭喜您考上了二本大學" << endl; } else if (score > 400) { cout << "恭喜您考上了三本大學" << endl; } else { cout << "您沒有考上一本大學,請再接再厲" << endl; } system("pause"); return 0; }
巢狀if語句:在if語句中巢狀使用if語句,達到更精確的條件判斷
#include<iostream> using namespace std; int main() { //1.使用者輸入分數 int score = 0; cout << "請輸入一個分數:" << endl; cin >> score; cout << "您輸入的分數為:" << score << endl; //2.判斷 if (score > 600) { if (score > 1000) { cout << "恭喜您考到了地球之外" << endl; } if (score > 800) { cout << "恭喜您考到了清北" << endl; } else { cout << "恭喜您考上了普通一本大學" << endl; } } else if (score > 500) { cout << "恭喜您考上了二本大學" << endl; } else if (score > 400) { cout << "恭喜您考上了三本大學" << endl; } else { cout << "您沒有考上一本大學,請再接再厲" << endl; } system("pause"); return 0; }
#include<iostream> using namespace std; int main() { int num1 = 0; int num2 = 0; int num3 = 0; //使用者輸入 cout << "請輸入小豬A的體重:" << endl; cin >> num1; cout << "請輸入小豬B的體重:" << endl; cin >> num2; cout << "請輸入小豬C的體重:" << endl; cin >> num3; cout << "小豬A的體重為:" << num1 << endl; cout << "小豬B的體重為:" << num2 << endl; cout << "小豬C的體重為:" << num3 << endl; //判斷 if (num1 > num2) //A>B { if (num1 > num3) //A>C { cout << "n小豬A最重" << endl; } else //C>A { cout << "n小豬C最重" << endl; } } else //B>A { if (num2 > num3) //B>C { cout << "n小豬B最重" << endl; } else //C>B { cout << "n小豬C最重" << endl; } } system("pause"); return 0; }
作用:通過三目運運算元實現簡單的判斷
語法:
表示式1?表示式2:表示式3
解釋:如果表示式1為真:執行表示式2,並返回表示式2的結果。
如果表示式1為假:執行表示式3,並返回表示式3的結果。
在C++中三目運運算元如果後面的表示式是變數,則返回的是變數,並不是變數的值,也就是說可以繼續對變數進行操作。
#include<iostream> using namespace std; int main() { int a = 10; int b = 50; int c = 0; c = (a > b) ? a : b; cout << "c = " << c << endl; //在C++中三目運運算元如果後面的表示式是變數,則返回的是變數,並不是變數的值,也就是說可以繼續對變數進行操作 (a > b ? a : b) = 100; cout << "a = " << a << endl; cout << "b = " << b << endl; system("pause"); return 0; }
作用:執行多條件分支語句
語法:
switch(表示式){case 結果1 : 執行語句;break; case 結果2 : 執行語句;break; ... default : 執行語句;break;}break可以不加,不加break的時候程式會一直向下執行,即如果執行了結果2的執行語句,那麼結果3、結果4...的執行語句都會被執行。switch(表示式) {case 結果1 : 執行語句;break; case 結果2 : 執行語句;break; ... default : 執行語句;break; } break可以不加,不加break的時候程式會一直向下執行,即如果執行了結果2的執行語句,那麼結果3、結果4...的執行語句都會被執行。
優點:結構清晰,執行的效率高;
缺點:case所接的結果必須是整型或者字元型,且不能判斷區間。
#include<iostream> using namespace std; int main() { int score = 0; cout << "請給電影打分:" << endl; cin >> score; /* 5以下:爛片 5 ~ 6:一般 7 ~ 8:較好 9~ 10:經典 */ switch (score) { case 10:cout << "經典" << endl; break; case 9:cout << "經典" << endl; break; case 8:cout << "較好" << endl; break; case 7:cout << "較好" << endl; break; case 6:cout << "一般" << endl; break; case 5:cout << "一般" << endl; break; default:cout << "爛片" << endl; break; } system("pause"); return 0; }
如果不加break的時候,執行效果如下:
語法:
while(迴圈條件){迴圈語句}
解釋:只要迴圈條件的結果為真,就執行迴圈語句。
#include<iostream> using namespace std; int main() { //在螢幕上列印0-9這10個數位 int num = 0; while (num <= 9) { cout << num << endl; num++; } system("pause"); return 0;
while 迴圈案例:
亂數的生成:C++產生亂數
#include<iostream> #include<cstdlib> //可以不輸入此行,iostream間接包含了這裡的庫標頭檔案 #include<ctime> using namespace std; int main() { //srand(0) 不加此行或者使用它時,種子固定,所以產生亂數固定。 //種子控制產生的亂數,所以只需要產生隨機種子就可了。 srand((int)time(0)); //利用當前系統時間產生隨機種子,把0換成NULL也行。 int num = rand() % 100 + 1; //rand:偽亂數,rand()%100生成0-99 //cout << num << endl; int val = 0; while (1) { cin >> val; if (val > num) { cout << "您猜的數大於此數" << endl; } else if (val < num) { cout << "您猜的數小於此數" << endl; } else { cout << "恭喜您猜對了" << endl; break; } } system("pause"); return 0; }
語法:
do{迴圈語句} while(迴圈條件);
與while的區別:do…while會先執行一次迴圈語句,再判斷迴圈條件。
#include<iostream> using namespace std; int main() { //死迴圈,因為先執行了do裡面的內容,所以while始終為真。 int num = 0; do { cout << num << endl; num++; } while (num); system("pause"); return 0; }
do…while 練習案例:
#include<iostream> #include<cmath> using namespace std; int main() { int num = 100; int a = 0, b = 0, c = 0; do { a = num / 100; //百位 b = (num / 10 % 10); //十位 c = num % 10; //個位 if (pow(a, 3) + pow(b, 3) + pow(c, 3) == num) { cout << num << endl; } num++; } while (num < 1000); system("pause"); return 0; }
作用:滿足迴圈條件,執行迴圈語句
語法:
for(起始表示式;條件表示式;末尾迴圈體){迴圈語句;}
#include<iostream> using namespace std; int main() { for (int i = 0; i < 10; i++) { cout << i << endl; } system("pause"); return 0; }
for中的表示式記得加;
for 練習案例
#include<iostream> using namespace std; int main() { //個位有7,%10==7 //十位有7,/10==7 //7的倍數, %7==0 for (int i = 1; i <= 100; i++) { if ((i % 10 == 7) || (i / 10 == 7) || (i % 7 == 0)) { cout << "敲桌子" << endl; } else { cout << i << endl; } } system("pause"); return 0; }
用法:迴圈中再使用迴圈
#include<iostream> using namespace std; int main() { for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { cout << "* " ; } cout << endl; } system("pause"); return 0; }
巢狀迴圈案例
#include<iostream> using namespace std; int main() { for (int i = 1; i < 10; i++) { for (int j = 1; j <=i ; j++) { cout << j << "*" << i << "="<< j * i << "t"; } cout << endl; } system("pause"); return 0; }
作用:跳出選擇結構(實際上只有switch語句用得到)或者回圈結構。
具體而言也就三種:
前兩個很簡單,只看第三個情況,對乘法口訣表的程式碼稍微進行修改即可:
#include<iostream> using namespace std; int main() { for (int i = 1; i < 10; i++) { for (int j = 1; j < 10; j++) { cout << j << "×" << i << "=" << j * i << "t"; if (i == j) { break; } } cout << endl; } system("pause"); return 0; }
作用:跳過本次迴圈中餘下的執行語句,直接執行下一次迴圈。
#include<iostream> using namespace std; int main() { for (int i = 1; i <= 10; i++) { if (i == 3 || i == 7) { continue; } cout << i << endl; } system("pause"); return 0; }
作用:可以無條件跳轉語句
語法:
goto 標記;
解釋;如果標記的名稱存在,執行到goto語句時,會跳轉到標記的位置
#include<iostream> using namespace std; int main() { cout << "1.xxxx" << endl; cout << "2.xxxx" << endl; goto Flag; cout << "3.xxxx" << endl; Flag: cout << "4.xxxx" << endl; cout << "5.xxxx" << endl; system("pause"); return 0; }
一般不建議使用goto,因為標記太多,會導致程式碼及其混亂。
本篇文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多關注it145.com的更多內容!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45