【C++ Primer Plus學習記錄】if語句

目錄

一、if語句

二、if else語句

三、格式化if else語句

四、if else if else結構


一、if語句

if語句讓程序能夠決定是否應執行特定的語句。

if有兩種格式:if和if else。

if語句的語法與while相似:

if(test-condition)statement;

如果test-condition(測試條件)為true,則程序將執行statement(語句),后者既可以是一條語句,也可以是語句塊。如果測試條件為false,則程序將跳過語句。和循環測試條件一樣,if測試條件也將被強制轉換為bool值,因此0將被轉換為false,非零為true。整個if語句被視為一條語句。

例如,假設讀者希望程序計算輸入中的空格數和字符總數,則可以在while循環中使用cin.get(char)來讀取字符,然后使用if語句識別空格字符并計算其總數。程序清單6.1完成了這項工作,它使用句點(.)來確定句子的結尾。

//if
#if 1
#include<iostream>
using namespace std;int main()
{char ch;int spaces = 0;int total = 0;cin.get(ch);//成員函數cin.get(char)讀取輸入中的下一個字符(即使它是空格),并將其賦給變量chwhile (ch != '.'){if (ch == ' ')spaces++;total++;cin.get(ch);}cout << spaces << " spaces, " << total << " characters total in sentence\n";//字符總數中包括按回車鍵生成的換行符system("pause");return 0;
}
#endif

二、if else語句

if語句讓程序決定是否執行特定的語句或語句塊,而if else語句則讓程序決定執行兩條語句或語句塊中的哪一條,這種語句對于選擇其中一種操作很有用。

if else語句的通用格式如下

if(test-condition)statement1
elsestatement2

如果測試條件為true或非零,則程序將執行statement1,跳過statement2;如果測試條件為false或0,則程序將跳過statement1,執行statement2。

從語法上看,整個if else結構被視為一條語句。

例如,假設要通過對字母進行加密編碼來修改輸入的文本(換行符不變)。這樣,每個輸入行都被轉換為一行輸出,且長度不變。這意味著程序對換行符采用一種操作,而對其他字符采用另一種操作。正如程序清單6.2所表明的,該程序還演示了限定符std::,這是編譯指令using的替代品之一。

//if else
#if 1
#include<iostream>int main()
{char ch;std::cout << "Type, and I shall repeat.\n";std::cin.get(ch);//成員函數cin.get(char)讀取輸入中的下一個字符(即使它是空格),并將其賦給變量chwhile (ch != '.'){if (ch == '\n')std::cout << ch;elsestd::cout << ++ch;//ASCII碼std::cin.get(ch);}std::cout << "\nPlease excuse the slight confusion.\n";system("pause");return 0;
}
#endif

運行情況:

?

三、格式化if else語句

if else中的兩種操作都必須是一條語句。如果需要多條語句,則需要用大括號將它們括起來,組成一個塊語句。

四、if else if else結構

程序清單6.3使用這種格式創建了一個小型測驗程序。

#if 1
#include<iostream>
using namespace std;
const int Fave = 27;int main()
{int n;cout << "Enter a number in the range 1-100 to find";cout << "my favorite number: ";do{cin >> n;if (n < Fave)cout << "Too low -- guess again: ";else if (n > Fave)cout << "Too high -- guess again: ";elsecout << Fave << " is right!\n";} while (n != Fave);system("pause");return 0;
}
#endif

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/210405.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/210405.shtml
英文地址,請注明出處:http://en.pswp.cn/news/210405.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android 從assets讀取文件裝載成Bitmap,Kotlin

Android 從assets讀取文件裝載成Bitmap&#xff0c;Kotlin /*** fileName assets里面圖片文件名*/fun readBitmapFromAssets(ctx: Context, fileName: String): Bitmap? {val assetManager: AssetManager ctx.assetsvar bitmap: Bitmap? nulltry {val inputStream assetMa…

Java預科知識

以下內容是根據狂神的Java說、chatgpt和csdn相關博客&#xff0c;結合自己的理解完成的。 Java了解 基于Java 開發了巨多的平臺&#xff0c;系統&#xff0c;工具 構建工具&#xff1a; Ant, Maven, Jekins應用服務器&#xff1a;Tomcat, Jetty, Jboss, Websphere, weblogic…

程序員入門:打造抖音同城外賣小程序的技術解析

在當今數字化時代&#xff0c;外賣平臺已經成為人們生活中不可或缺的一部分&#xff0c;而抖音作為一款社交媒體平臺&#xff0c;也開始涉足同城外賣服務。本文將為初學者提供一份關于如何打造抖音同城外賣平臺的技術解析&#xff0c;探討其中的關鍵技術和步驟。 一、項目規劃…

【C++】輸入輸出流 ⑤ ( cin 輸入流對象 | cin.ignore() 函數 | cin.peek() 函數 | cin.putback() 函數 )

文章目錄 一、cin.ignore() 函數1、cin.ignore() 函數簡介2、cin.ignore() 函數原型3、代碼示例 - cin.ignore() 函數 二、cin.peek() 函數1、cin.peek() 函數簡介2、代碼示例 - cin.peek() 三、cin.putback() 函數1、cin.putback() 函數簡介2、代碼示例 - cin.putback() 一、c…

if語句和switch語句來確定金額之下的優惠折扣

一、優惠規則 輸入相應的金額&#xff0c;可以獲得規則之下&#xff0c;金額相應的享受的折扣&#xff0c;需要先定義金額&#xff0c;然后就是使用if語句進行判斷&#xff0c;使用switch語句選擇判斷規則之下對應的優惠折扣。 二、相關代碼 public class DiscountPrice {p…

<DB2>《DB2使用期間一些注意事項》

1 建存儲過程時 Create 后不能使用 TAB 鍵 create procedure create 后只能用空格&#xff0c;而不可用 tab 健&#xff0c;否則編譯會通不過。 2 查看語句執行計劃 dynexpln -d testdb -f test.sql -o test.out -g -z ; sql 語句放在 test.sql 中&#xff0c;結果輸出到 te…

git 拉取項目指定目錄或者指定文件

因為要做數據庫自動更新&#xff0c;需要拉取Gitlab項目中/bm-server-biz/docs目錄下的表更新sql文件&#xff0c;其他的都不需要&#xff0c;這時候可以利用git的“sparse checkout”方法&#xff08;設置稀疏檢出&#xff09;來實現。 1、在項目目錄下git 初始化 [rootxcc-…

開源軟件:JumpServer、DataEase、MeterSphere

FIT2CLOUD 認識開源軟件之前&#xff0c;先了解一下開發團隊FIT2CLOUD。FIT2CLOUD&#xff08;飛致云&#xff09;是一家中國領先的開源軟件公司&#xff0c;成立于2014年。公司專注于提供工業操作系統技術平臺與解決方案&#xff0c;是中國工業互聯網行業的領軍企業&#xff…

矩陣處理—Zigzag矩陣打印

與其明天開始&#xff0c;不如現在行動&#xff01; 文章目錄 Zigzag矩陣打印1.1 題目描述1.2 解決思路1.3 代碼實現 &#x1f48e;總結 Zigzag矩陣打印 1.1 題目描述 有一個n行m列的矩陣&#xff0c;要求按照Z字形打印出數據&#xff0c;如圖&#xff1a; 1.2 解決思路 用一…

Weblogic T3協議反序列化漏洞

文章目錄 1. Weblogic T3協議反序列化漏洞1.1 漏洞描述1.2 基本原理1.3 漏洞復現1.4 修復建議 1. Weblogic T3協議反序列化漏洞 1.1 漏洞描述 說明內容漏洞編號CVE-2018-2628漏洞名稱Weblogic T3協議反序列化漏洞漏洞評級高危影響范圍Weblogic 10.3.6.0Weblogic 12.1.3.0Webl…

基于JavaWeb+SSM+Vue居住證申報系統小程序的設計和實現

基于JavaWebSSMVue居住證申報系統小程序的設計和實現 源碼獲取入口KaiTi 報告Lun文目錄前言主要技術系統設計功能截圖訂閱經典源碼專欄Java項目精品實戰案例《500套》 源碼獲取 源碼獲取入口 KaiTi 報告 1.1題目背景 隨著時代的發展&#xff0c;人口流動越來越頻繁&#xff0…

生活、工作常用API免費接口

身份證識別OCR&#xff1a;傳入身份證照片&#xff0c;識別照片文字信息并返回&#xff0c;包括姓名、身份證號碼、性別、民族、出生年月日、地址、簽發機關及有效期。二維碼識別OCR&#xff1a;對圖片中的二維碼、條形碼進行檢測和識別&#xff0c;返回存儲的文字內容。銀行卡…

pycharm安裝

1.先去官網下載pycharm 2.下載python3.8 3.修改pip鏡像 4.如果有環境變量沒加的加一下

Gazebo基本使用

參考文章 熟悉Gazebo界面 : ROS自學筆記八&#xff1a;Gazebo 搭建環境&#xff1a;Gazebo仿真環境搭建 搭建環境&#xff0b;加載機器人&#xff1a;gazebo仿真環境搭建配置小車運動仿真

全國農服進萬家系列活動——中國農業生產托管萬里行在河北玉田舉行

12月8日&#xff0c;“全國農服進萬家系列活動-中國農業生產托管萬里行”在河北省玉田縣圓滿舉行。來自全國各地農業農村領域的嘉賓齊聚一堂&#xff0c;交流農業社會化服務典型經驗&#xff0c;共話農業社會化服務高質量發展大事。 原農業部總農藝師、中國合作經濟學會會長孫中…

【戀上數據結構】前綴樹 Tire 學習筆記

Tire 需求分析 如何判斷一堆不重復的字符串是否以某個前綴開頭&#xff1f; 用 Set\Map 存儲字符串&#xff08;不重復&#xff09;遍歷所有字符串進行判斷缺點&#xff1a;時間復雜度 O(n) 有沒有更優的數據結構實現前綴搜索&#xff1f; Tire&#xff08;和 Tree 同音&a…

Rust測試字符串的移動,Move

代碼創建了一個結構體&#xff0c;結構體有test1 字符串&#xff0c;還有指向字符串的指針。一共創建了兩個。 然后我們使用swap 函數 交換兩個結構體內存的內容。 最后如上圖。相同的地址&#xff0c;變成了另外結構體的內容。注意看指針部分&#xff0c;還是指向原來的地址…

input、el-input輸入框輸入規則

一、input 只能輸入框只能輸入正整數&#xff0c;輸入同時禁止了以0開始的數字輸入&#xff0c;防止被轉化為其他進制的數值。 <!-- 不能輸入零時--> <input typetext οninput"valuevalue.replace(/^(0)|[^\d]/g,)"><!-- 能輸入零時--> <inp…

luceda ipkiss教程 43:畫漸變圓弧型波導

案例分享&#xff1a; from si_fab import all as pdk import ipkiss3.all as i3 from ipcore.properties.restrictions import RestrictTuple from ipkiss.geometry.shapes.modifiers import __ShapePathBase__ import numpy as np from math import atan2class ShapePathTa…

[java]學生管理系統

一、學生類 首先創建一個學生類&#xff0c;定義學號姓名年齡居住地 public class Student {private String id;private String name;private String age;private String address;//構造函數public Student(String id, String name, String age, String address) {this.id i…