《零基礎看得懂的C語言入門教程 》——(六)輕輕松松了解C語言的邏輯運算

一、學習目標

  1. 了解邏輯判斷的概念
  2. 了解if語句的使用方法
  3. 了解switch語句的使用方法
  4. 了解邏輯運算符的使用方法

目錄

C語言真的很難嗎?那是你沒看這張圖,化整為零輕松學習C語言。
第一篇:(一)脫離學習誤區
第二篇:(二)C語言沒那么難簡單開發帶你了解流程
第三篇:(三)輕輕松松理解第一個C語言程序
第四篇:(四)語言的基本數據類型及變量
第五篇:(五)C語言的變量、常量及運算
第七篇:(七)C語言的循環分分鐘上手
第八篇:(八)了解基本數組還不是那么簡單
第九篇:(九)C語言二維數組與循環嵌套
第十篇:(十)C語言的指針原來是這樣
第十一篇:(十一)C語言自定義函數真的很簡單
第十二篇:(十二)原來結構體是這么回事
第十三篇:(十三)socket服務端編寫

C語言新手的100個報錯解法

推薦

我正在參與1024活動,歡迎大家點贊、收藏、評論我的干貨文章《一篇文帶你從0到1了解建站及完成CMS系統編寫》
歡迎大家關注公眾號,公眾號每滿1024及1024倍數則會抽獎贈送機械鍵盤一份+IT書籍2份喲~
在這里插入圖片描述

二、了解if語句的使用方法

if語句在C語言中用于流程控制,也就是在程序運行時,根據滿足的條件來選擇運行不同的代碼塊。流程控制就像你計劃明早天氣如果晴朗就去跑步,假設天氣變差,下雨了就不去了。這就是不同的條件進行不同的選擇。

2.1 if語句的使用
if語句在C語言中用于判斷條件是否成立從而運行一部分代碼,我們使用一個簡單的例子介紹if語句的使用方法:

#include<stdio.h>
void main(){int a=1;if(a==1){printf("變量a的值等于1");} 
}

以上代碼創建了一個變量a賦值為1。之后使用了if語句判斷a是否等于1,判斷正確則執行語句printf("變量a的值等于1");,條件判斷不成立則不執行 printf("變量a的值等于1");

從以上示例可以看出if語句判斷一個條件,這個條件編寫于if之后的圓括號內;以上示例的條件為a==1;在C語言中判斷兩個值是否相等使用兩個等于號 ==,在條件的圓括號后使用一對花括號{},在花括號內編寫條件判斷正確后需要執行的代碼。

運行結果如下:
在這里插入圖片描述
我們修改一下a的值改為2,查看是否會執行 printf("變量a的值等于1");。修改后的代碼如下:

#include<stdio.h>
void main(){int a=2;if(a==1){printf("變量a的值等于1");} 
}

運行結果如下:
在這里插入圖片描述
從結果得知并沒有運行代碼 printf("變量a的值等于1");
那如何使if的條件判斷不成立時有一個提示?這時可以使用else語句,else語句在條件不成立時將會執行else語句內的代碼,else語句的內容也是在花括號內編寫,不過這個花括號是在else這個關鍵字(關鍵字指C語言中已有特殊功能的標志,如int、if、float等)后。代碼如下:

#include<stdio.h>
void main(){int a=2;if(a==1){printf("變量a的值等于1");} else{printf("變量a的值不等于1");}
}

以上代碼在if語句的花括號后“無縫連接”了一個else關鍵字。在else關鍵字后有一對花括號,在該花括號內編寫a不等于1時所需要的提示語句即可。

運行結果如下:
在這里插入圖片描述
如果我想a的值等于1時輸出“哈哈哈”,a等于2時輸出“嘿嘿嘿”,a等于3時輸出“呀呀呀”,a等于其它值時輸出“我都沒猜對”;以上需求可以使用if…elseif語句實現。代碼如下:

#include<stdio.h>
void main(){int a=2;if(a==1){printf("哈哈哈");} else if(a==2){printf("嘿嘿嘿");} else if(a==3){printf("呀呀呀");}else{printf("我都沒猜對");} 
}

以上代碼在if之后的else關鍵字后添加了if(注意if前面有個空格),隨后一個圓括號,圓括號內編寫其它條件,滿足則會執行當前else if 語句的花括號內的代碼,當所有條件都不對的時候,執行else語句,也是在最末位的語句。

運行結果如下:
在這里插入圖片描述
以上代碼還可以改一下,讓我們在都沒猜對的值的情況下輸出值,代碼如下:

#include<stdio.h>
void main(){int a=22;if(a==1){printf("哈哈哈");} else if(a==2){printf("嘿嘿嘿");} else if(a==3){printf("呀呀呀");}else{printf("我都沒猜對,其實a的值%d",a);} 
}

結果如下:
在這里插入圖片描述
2.2 if語句判斷多個條件
以上學習的if只能判斷一個條件,若我需要判斷多個條件該怎么辦?這時可以使用邏輯運算符。例如當a等于1或2時表示天氣下雨和刮風,我則不去跑步,當a等于3或者4時則表示需要上學和補課,當a等于其它值是則可以去跑步。

首先我們使用簡單的if語句了解一下邏輯運算符。代碼如下:

#include<stdio.h>
void main(){int a=1;if(a==1||a==2){printf("天氣正在下雨或刮風");} 
}

以上代碼著重關注if語句的條件 a==1||a==2,其中使用的“||”為邏輯運算符“或”運算。或運算表示兩個表達式(表達式指是由數字、算符、數字分組符號等可以求得一個值的組合)的值有一個正確,那么或運算符(||)左右兩邊整體的值則為正確。當前或運算符左邊為a1,右邊為a2,只要滿足其中一個則會執行 printf("天氣正在下雨或刮風");

運行結果如下:
在這里插入圖片描述
修改一下代碼完成以上所說的需求“a等于1或2時表示天氣下雨和刮風,我則不去跑步,當a等于3或者4時則表示需要上學和補課,當a等于其它值是則可以去跑步。”,代碼如下:

#include<stdio.h>
void main(){int a=4;if(a==1||a==2){printf("天氣正在下雨或刮風");} else if(a==3||a==4){printf("我要去上學或者補課");}else{printf("我要去跑步");}}

結果如下:
在這里插入圖片描述
2.3 邏輯運算符與&&
以上我們介紹了邏輯運算符或(||),使用或運算符只需要左右兩邊有一個表達式正確則左右兩邊整體的值為正確。在C語言中正確我們可以使用一個標識表示。這個標識為TRUE。

這一小節我們將學習需要表達式兩邊都正確整體的值才為正確的運算符“與”,與運算使用運算符&&。我們修改上一小節的程序,修改后代碼如下:

#include<stdio.h>
void main(){int a=4;if(a==1&&a<5){printf("天氣正在下雨或刮風");} else if(a==3||a==4){printf("我要去上學或者補課");}else{printf("我要去跑步");}
}

以上代碼if后的條件為a==1&&a<5,中間的運算符更改為了&&,&&表示左右兩邊表達式均正確,當前運算才為正確。很明顯a等于,不滿足第一個條件,滿足 a==3||a==4條件,則會執行代碼printf("我要去上學或者補課");。運行結果如下:
在這里插入圖片描述
我們修改a的值為1,則會執行代碼printf("天氣正在下雨或刮風");。(雖然a等于1的時候肯定小于5,這里只是作為演示)代碼如下:

#include<stdio.h>
void main(){int a=1;if(a==1&&a<5){printf("天氣正在下雨或刮風");} else if(a==3||a==4){printf("我要去上學或者補課");}else{printf("我要去跑步");}}

結果如下:
在這里插入圖片描述

二、了解switch語句的使用方法

switch語句與if作用相同,均是用與做流程控制,也和if語句一樣需要使用條件進行控制。
學習了if語句后switch的學習相對比較簡單,先列出一個格式說明:

switch(變量){case://代碼內容 break;//break是跳出作用,不像if只執行一處,如果不加break會執行下一句 case://代碼內容 break;//break是跳出作用,不像if只執行一處,如果不加break會執行下一句 case://代碼內容 break;//break是跳出作用,不像if只執行一處,如果不加break會執行下一句 default://代碼內容    } 

switch是關鍵字,后接一個圓括號,圓括號內傳入一個變量;在switch圓括號后使用一對花括號,花括號內為switch語句的內容。使用case關鍵字后接一個值,假設switch傳入的變量值為1,則跳轉到case 1:后執行冒號后的代碼,在代碼的最后一行使用break關鍵字跳出。(break的作用為跳出)如不加break則會執行按順序往下的case內容。

先看一示例代碼:

#include<stdio.h>void main() {int a=1;switch(a){case 1:printf("選擇的是夫妻肺片");break;case 2:printf("選擇的是腸粉");break;case 3:printf("選擇的是口水蝦");break;case 4:printf("選擇的是瀨尿蝦");break;case 5:printf("選擇的是炸蝗蟲");break;default:printf("沒有這個菜單"); }
}

以上代碼中a的值等于1,switch傳入一個a作為條件,a為1則跳轉到case 1處執行冒號后的代碼printf("選擇的是夫妻肺片");
運行結果如下:
在這里插入圖片描述
我們嘗試在case 1與case 2語句塊中刪除最后一條語句 break; 看看是否會繼續執行下一個case 2:的內容。代碼如下:

#include<stdio.h>void main() {int a=1;switch(a){case 1:printf("選擇的是夫妻肺片");case 2:printf("選擇的是腸粉");case 3:printf("選擇的是口水蝦");break;case 4:printf("選擇的是瀨尿蝦");break;case 5:printf("選擇的是炸蝗蟲");break;default:printf("沒有這個菜單"); }
}

結果如下:
在這里插入圖片描述
從結果得知程序并沒有跳出。由于并沒有換行,我們使用\n符號可以進行換行,使運行結果更加清晰。修改代碼如下:

#include<stdio.h>void main() {int a=1;switch(a){case 1:printf("選擇的是夫妻肺片\n");case 2:printf("選擇的是腸粉\n");case 3:printf("選擇的是口水蝦\n");break;case 4:printf("選擇的是瀨尿蝦\n");break;case 5:printf("選擇的是炸蝗蟲\n");break;default:printf("沒有這個菜單\n"); }
}

以上程序在printf中添加了\n,\n的作用是換行,輸出顯示時并不會輸出\n。
運行結果如下:
在這里插入圖片描述

IT原創動漫、學習資料、原創教程請關注公眾號。
在這里插入圖片描述

五、總結

通過以上描述與講解,我們了解了以下幾點內容:

  1. 了解了if語句if…else語句以及if…elseif…語句的使用方法
  2. 了解switch語句的使用方法
  3. 了解switch語句中break的作用
  4. 了解了邏輯運算符或“||”用于判斷條件成立1邊則為正確
  5. 了解了邏輯運算符或“&&”用于判斷條件均成立則為正確

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

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

相關文章

.NET 6 在 Win7 系統證書鏈錯誤導致 HttpWebRequest 內存泄露

本文記錄我將應用遷移到 dotnet 6 之后&#xff0c;在 Win7 系統上&#xff0c;因為使用 HttpWebRequest 訪問一個本地服務&#xff0c;此本地服務開啟 https 且證書鏈在此 Win7 系統上錯誤&#xff0c;導致應用內存泄露問題。本文記錄此問題的原因以及調查過程核心原因核心原因…

個人成就故事

曾經參加過文藝演出&#xff0c;并且照片上過學校的文化墻。 中專時畫的園林景觀獲過獎。 在麥當勞打工時參加過大型活動&#xff0c;并且擔任小隊副隊長。 在學校堅持鍛煉練出了一些腹肌轉載于:https://www.cnblogs.com/mokutanuki/p/5486567.html

Linux下java -version版本不對

在服務器上更新了新的 jdk&#xff0c;也在 /etc/profile 中設置了新的 JAVA_HOME&#xff0c;并且 source /etc/profile 然后使用java -version 和 javac -version 發現版本還是老版本&#xff0c;死活沒有使用我新指定的。 中間各種排查&#xff0c;這里就不廢話了&#xff0…

JAVA-JSP內置對象

相關資料&#xff1a;《21天學通Java Web開發》 request 請求對象 類型javax.servlet.ServletRequest 作用域Requestresponse 響應對象 類型javax.servlet.SrvletResponse 作用域PagepageContext 頁面上下文對象 類型 javax.servlet.jsp.PageContext 作用域Pagesession 會話對象…

TCP之滑動窗口

一、滑動窗口的基本知識 TCP滑動窗口包含了發送窗口和接收窗口 1)、TCP滑動窗口的最大值 TCP數據包頭部里面有個窗口值,默認窗口是一個16bit位字段,表示窗口的字節容量,所以TCP滑動窗口的最大值是2^16-1=65535個字節,TCP里面也有窗口擴大因子可把原來16bit的窗口,擴大為…

《零基礎看得懂的C語言入門教程 》——(七)C語言的循環分分鐘上手

一、學習目標 了解循環的使用方法 目錄 C語言真的很難嗎&#xff1f;那是你沒看這張圖&#xff0c;化整為零輕松學習C語言。 第一篇&#xff1a;&#xff08;一&#xff09;脫離學習誤區 第二篇&#xff1a;&#xff08;二&#xff09;C語言沒那么難簡單開發帶你了解流程 第…

ArcGIS中數據存放相對路徑和絕對路徑的區別

配套藍光視頻教程:【ArcGIS風暴】數據相對路徑VS絕對路徑 問題舉例: 菜鳥們在使用ArcGIS時經常會碰到將地圖文檔(.mxd)拷貝到別的電腦上或改變一個路徑時,出現數據丟失的現象,具體表現為圖層前面出現一個紅色的感嘆號,如下圖所示。 出現以上問題的根本原因是數據GSS.ti…

TIOBE 5 月編程語言排行榜:C# 最受開發者歡迎,C++ 將沖擊 Top 3

技術迭代的速度越來越快&#xff0c;這一點在每月更新一次的編程語言排行榜榜單中體現得尤為明顯。今天&#xff0c;最新的 TIOBE 5 月編程語言榜單出爐&#xff0c;不妨一起來看一下又有哪些新的趨勢。C# 的使用量增幅最高&#xff0c;C 或將沖擊 Top 3和 4 月相比&#xff0c…

HTTP生命周期

HTTP生命周期   Http 請求   AspNet_ISAIP.DLL (ISAPI擴展&#xff0c;獨立于站點外&#xff0c;用于可擴展的橋梁)&#xff0c;   w3wp.exe (net工作進程) IIS6 以上&#xff0c;6以下為aspnet_wp.exe     判斷并創建AppDomain(包含程序集信息)&#xff0c;請求轉發…

SQL Server2016導出數據表數據

SQL Server2016導出數據表數據我們前面已經介紹了很多關于SQL Server的相關文章&#xff0c;今天我們主要介紹的是&#xff0c;如何導出數據庫下表中數據。我們所有的操作都是通過SSMS進行操作的。我們右擊需要導出數據的數據庫----任務----導出數據根據向導提示&#xff0c;下…

Jfinal 顯示歡迎頁 index.jsp

為什么80%的碼農都做不了架構師&#xff1f;>>> IndexController.index()方法&#xff0c;為什么是index()方法&#xff1f;其實這是一個約定 那么它是如何打開index.jsp文件的呢&#xff1f;我們來查看index()方法的代碼&#xff1a; public class IndexControlle…

Java之通過Collections.synchronizedMap創建線程安全的HashMap

1 問題 我們知道hashMap線程是不安全的&#xff0c;一般而言&#xff0c;我們怎么創建線程安全的HashMap呢&#xff1f; 2 解決辦法 我們可以使用Collections.synchronizedMap來創建HashMap,如下 static Map<String, String> results Collections.synchronizedMap(ne…

【經典珍藏版】手把手全程教你制作漂亮的720全景地圖(附PtGui軟件下載地址)

如今,在網絡異常發達的信息與智能測繪時代,我們可以在手機、筆記本電腦等多種設備上隨時隨地看到很漂亮的全景照片,仰以觀于天文,俯以察于地理,可以全景圖片視頻拍攝,可以任意放大縮小、漫游、重力感應、VR眼睛虛擬體驗等等,其樂無窮。作為一個GISer,采集地理信息,探索…

一篇文帶你從0到1了解建站及完成CMS系統編寫

學習目標 了解搭建一般網站的簡便方式了解最原始一般站點搭建了解內容管理站點搭建了解權限設計及完成了解使用設計模式減少代碼冗余了解前端拖拽頁面生成及生成了解自定義數據的創建了解動態生成的前端頁如何綁定自定義數據 開發環境 Windows7 *64 SP1php5.6apache/nginxth…

判斷輸入的整數是否為素數_C語言 | 判斷是否素數

“要成為絕世高手&#xff0c;并非一朝一夕&#xff0c;除非是天生武學奇才&#xff0c;但是這種人…萬中無一”——包租婆這道理放在C語言學習上也一并受用。在編程方面有著天賦異稟的人畢竟是少數&#xff0c;我們大多數人想要從C語言小白進階到高手&#xff0c;需要經歷的是…

Button的設置及各種屬性

&#xff08;1&#xff09;UIButton類繼承自UIControl&#xff0c;而UIControl繼承自UIView&#xff0c;因為UIView就是個矩形區域&#xff0c;所以UIButton實例化的對象其實都是一個矩形&#xff0c;雖然有各種圓角、增加聯系人、信息按鈕等等&#xff0c;給它們加個背景它們就…

『技術群里聊些啥』Task 不是你想 Cancel,想 Cancel 就能 Cancel

前言在群里看到有人問如何取消這個 Task 的執行&#xff1a;實際上這并不會取消S1eepMode1方法的執行&#xff1a;這是為什么呢&#xff1f;原因首先&#xff0c;讓我們看看s_cts.Cancel()都做了啥&#xff1a;public void Cancel() > Cancel(false);public void Cancel(boo…

SQL Server數據庫鎖的類型、用法及注意事項詳解

一、為什么要引入鎖 多個用戶同時對數據庫的并發操作時會帶來以下數據不一致的問題: 丟失更新:A,B兩個用戶讀同一數據并進行修改,其中一個用戶的修改結果破壞了另一個修改的結果,比如訂票系統 臟讀:A用戶修改了數據,隨后B用戶又讀出該數據,但A用戶因為某些原因取消了對數…

Java之HashMap、Hashtable、LinkedHashMap、TreeMap、ConcurrentHashMap簡單的區別

一、 HashMap 1&#xff09;底層實現 數組鏈表紅黑樹&#xff08;在JDK1.8中如果鏈表長度大于8的時候才轉換為紅黑樹) 2&#xff09;是否線程安全不支持線程的同步&#xff0c;線程不安全&#xff0c;如需同步&#xff0c;可用Collections的synchronizedMap方法或者使用Concu…

《零基礎看得懂的C語言入門教程 》——(八)了解基本數組還不是那么簡單

一、學習目標 了解數組的使用方法 目錄 C語言真的很難嗎&#xff1f;那是你沒看這張圖&#xff0c;化整為零輕松學習C語言。 第一篇&#xff1a;&#xff08;一&#xff09;脫離學習誤區 第二篇&#xff1a;&#xff08;二&#xff09;C語言沒那么難簡單開發帶你了解流程 第…