掌握while循環:C語言編程基礎

目錄

一、while循環簡介

二、if和while的對比

語法結構對比:

實際代碼對比:

三、while語句的執行流程

while循環的執行流程如下:

流程圖表示:

四、while循環實踐

練習:在屏幕上打印1~10的值

五、進階練習

題目:輸入一個正整數,逆序打印這個整數的每一位

解題思路:

參考代碼:

代碼改進建議:


一、while循環簡介

????????C語言提供了3種循環語句,while循環是其中最基礎的一種。while語句的語法結構與if語句非常相似,但功能卻大不相同。


二、if和while的對比

語法結構對比

if(表達式)語句;while(表達式)語句;  // 如果循環體想包含更多語句,可以加上大括號

實際代碼對比

// 代碼1 - if語句
#include <stdio.h>
int main()
{if(1)printf("hehe\n"); // if條件滿足,只打印一次hehereturn 0;
}// 代碼2 - while語句
#include <stdio.h>
int main()
{while(1)printf("hehe\n"); // while條件滿足,會不斷循環打印hehereturn 0;
}

關鍵區別:if語句只會執行一次條件滿足的代碼,而while語句會重復執行,直到條件不再滿足。


三、while語句的執行流程

while循環的執行流程如下:

  1. 首先判斷表達式值:

    • 如果值為0(假),循環立即結束

    • 如果值不為0(真),執行循環體語句

  2. 循環體執行完畢后,再次判斷表達式

  3. 重復上述過程,直到表達式值為0

流程圖表示:


四、while循環實踐

練習:在屏幕上打印1~10的值

#include <stdio.h>
int main()
{int i = 1;          // 初始化計數器while(i <= 10)      // 循環條件{printf("%d ", i); // 打印當前值i = i + 1;      // 更新計數器}return 0;
}

程序分析:

  1. 初始化i為1

  2. 檢查i是否<=10

  3. 如果條件為真,執行循環體(打印i并使i增加1)

  4. 重復步驟2-3,直到i>10時循環結束


五、進階練習

題目:輸入一個正整數,逆序打印這個整數的每一位

示例:

  • 輸入:1234,輸出:4 3 2 1

  • 輸入:521,輸出:1 2 5

解題思路

  1. 獲取最低位:使用n%10運算,如1234%10=4

  2. 去掉最低位:使用n/10運算,如1234/10=123

  3. 循環上述兩步,直到n變為0

參考代碼

#include <stdio.h>
int main()
{int n = 0;printf("請輸入一個正整數:");scanf("%d", &n);while(n != 0){printf("%d ", n % 10); // 打印當前最低位n /= 10;              // 去掉已經處理的最低位}return 0;
}

代碼改進建議

  1. 添加輸入驗證,確保輸入的是正整數

  2. 可以在最后添加換行,使輸出更整潔

  3. 考慮處理n=0的特殊情況

#include <stdio.h>
int main()
{int n = 0;printf("請輸入一個正整數:");scanf("%d", &n);if(n == 0) {printf("0\n");return 0;}if(n < 0) {printf("輸入必須是正整數!\n");return 1;}while(n != 0){printf("%d ", n % 10);n /= 10;}printf("\n"); // 添加換行return 0;
}

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

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

相關文章

XML Schemas 簡介

XML Schemas 簡介 引言 XML(可擴展標記語言)是互聯網上用于數據交換的一種標準標記語言。隨著互聯網技術的飛速發展,XML因其靈活性和可擴展性而被廣泛應用于各種領域。XML Schemas(XML模式)作為一種定義XML文檔結構的機制,為XML文檔提供了嚴格的規范,確保了數據的準確…

Gradle(二)Gradle的優勢、項目結構介紹

目錄一、什么是 Gradle&#xff1f;二、為什么選擇 Gradle&#xff1f;三、Gradle 的項目結構3.1 項目結構3.2 gradle wrapper 包裝器3.3 settings.gradle 設置文件3.4 build.gradle 核心構建文件1&#xff09;原始文件內容2&#xff09;plugins 插件3&#xff09;repositories…

機器學習-決策樹(上)

決策樹構建&#xff1a; 決策樹的結構與python中的二叉樹結構(PY數據結構-樹)相似&#xff0c;不過決策樹中除了葉節點之外的其他節點&#xff0c;都被稱之為“決策節點”&#xff0c;構建決策樹的過程&#xff0c;也就是選取每一個節點采用哪一個特征作為劃分依據的過程。 以…

一周學會Matplotlib3 Python 數據可視化-繪制直方圖(Histogram)

鋒哥原創的Matplotlib3 Python數據可視化視頻教程&#xff1a; 2026版 Matplotlib3 Python 數據可視化 視頻教程(無廢話版) 玩命更新中~_嗶哩嗶哩_bilibili 課程介紹 本課程講解利用python進行數據可視化 科研繪圖-Matplotlib&#xff0c;學習Matplotlib圖形參數基本設置&…

uni-app之刪除沒用的文件,搭建頁面

文章目錄一、初始化項目1.1 初始化index.vue1.2 刪除無用文件1.3 初始化后的目錄結果如下二、文件目錄分析2.1 核心文件2.2 關鍵文件夾?2.3 其他文件2.4 注意事項??三、創建頁面(pages)3.1 創建home頁面3.2 創建其他頁面3.3 查看pages.json3.4 刪除index頁面和pages.json的配…

99、【OS】【Nuttx】【構建】cmake 配置實操:問題解決

【聲明】本博客所有內容均為個人業余時間創作&#xff0c;所述技術案例均來自公開開源項目&#xff08;如Github&#xff0c;Apache基金會&#xff09;&#xff0c;不涉及任何企業機密或未公開技術&#xff0c;如有侵權請聯系刪除 背景 接之前 blog 【OS】【Nuttx】【構建】cm…

2007-2023年各省環境保護支出統計數據

數據介紹 環境保護支出是指政府和企業為改善生態環境質量、防治污染、保護自然資源所投入的資金&#xff0c;涵蓋污染防治、生態修復、環境管理等多方面。污染防治支出、生態保護支出、環境管理事務、資源節約與循環利用等&#xff0c;當前環保支出仍面臨區域不平衡、隱性債務…

PyCharm(2025.1.3.1)綁定 Conda 環境

1. Pycharm 右下角&#xff0c;選擇&#xff08; 如圖所示 &#xff09;2. Path to conda 這里選擇如圖所示的這個文件&#xff08; 在你下載的 Anaconda 文件里 &#xff09;&#xff0c;之后在 Enviroment 中就可以看到你新創建的環境了

Liunx文件系統詳解

目錄 1.磁盤 1.1 概念 1.2 磁盤物理結構 1.3 磁盤的存儲結構 1.4 磁盤的邏輯結構 1.5 CHS && LBA地址 2.基礎文件系統 2.1 塊 ?編輯 2.2 分區 2.3 inode 3.ext2 ?件系統 3.1 宏觀認識 3.2 Block Group 3.3塊組內部構成 3.3.1 超級塊&#xff08;Supe…

Mac如何安裝telnet命令

Mac如何安裝telnet命令_mac telnet-CSDN博客

【SpringBoot】持久層 sql 注入問題

目錄 概述 #{} 與 ${} 概述 前端惡意傳參&#xff0c;改變后端 sql 語句的語法結構&#xff0c;從而使后端給前端返回一些私密的數據。這種安全問題往往是因為沒有嚴格過濾參數&#xff0c;或者后端代碼不嚴謹導致的。 #{} 與 ${} 在 MyBatis 框架中&#xff0c;#{} 與 ${} 都…

怎么寫好漢語言文學專業的論文?

磨刀不誤砍柴功&#xff0c; 前期多看文章和文獻&#xff0c;吸取寫作經驗&#xff0c;寫作過程會更加順利噢&#xff01;看到最后&#xff0c;相信你能得到收獲&#xff01; 寫漢語言專業論文并不難&#xff0c;從選題、資料準備、框架搭建、正文寫作、修改定稿五個核心環節展…

MySQL User表入門教程

一、User表概述 MySQL的user表位于mysql系統數據庫中&#xff0c;是MySQL權限系統的核心&#xff0c;用于存儲用戶賬戶信息、認證方式和全局權限。通過操作此表&#xff0c;可實現用戶創建、權限分配及安全審計。 二、User表核心字段解析字段名作用示例值Host用戶允許連接的主機…

[NPUCTF2020]這是什么覓

題目是一個文件&#xff0c;我們先以記事本打開一下&#xff0c;開頭就是PK&#xff0c;基本可以確定這是一個 ZIP 格式的壓縮包?&#xff0c;不確定可以用winhex打開&#xff1a;?50 4B 03 04開頭則 100% 是 ZIP 文件。改一下后綴之后解壓得到一張圖片上面是日期&#xff0c…

每日任務day0812:小小勇者成長記之擠牛奶

清晨&#xff0c;薄霧還繚繞在草地上&#xff0c;小小勇者背著編織籃子來到農場。奶牛們低頭咀嚼&#xff0c;尾巴輕輕拍打著蒼白的露珠。老人微笑著遞給他一只溫熱的牛奶罐&#xff0c;說&#xff1a;“第一次要慢&#xff0c;別驚擾它們。”勇者學著老人彎下身&#xff0c;溫…

IIS 多用戶環境中判斷服務器是否為開發用電腦,數據狀態比較

如果只需要在 IIS 多用戶環境中判斷服務器是否為開發用電腦&#xff08;一個固定狀態&#xff0c;通常不會動態切換&#xff09;&#xff0c;代碼可以進一步簡化。這種場景下&#xff0c;狀態一般是啟動時確定的&#xff08;如通過配置文件或環境變量&#xff09;&#xff0c;后…

P2865 [USACO06NOV] Roadblocks G

思路&#xff1a;嚴格次短路&#xff0c;在任何情況下如果發現一條從1到i的路&#xff0c;都有以下情況&#xff1a;1.該路徑小于當前1到i的最短路&#xff0c;將最短路替換2.該路徑長度等于當前最短路&#xff0c;舍去3.該路徑大于最短路且小于次短路&#xff0c;將此路徑替換…

基于Hadoop的汽車價格預測分析及評論情感分析可視化系統

文章目錄有需要本項目的代碼或文檔以及全部資源&#xff0c;或者部署調試可以私信博主一、項目背景二、項目目標三、系統架構四、功能模塊五、創新點六、應用價值與前景每文一語有需要本項目的代碼或文檔以及全部資源&#xff0c;或者部署調試可以私信博主 一、項目背景 近年…

gpt-5與gpt-5-fast

簡單來說&#xff1a; GPT-5 → 追求最高質量的推理&#xff0c;輸出會更細致、更準確&#xff0c;尤其適合需要深度思考、長鏈推理、嚴謹分析的任務&#xff08;比如復雜代碼調試、長文檔推理、系統設計&#xff09;。速度相對慢一些。GPT-5-fast → 追求更高的響應速度&#…

Mybatis源碼解讀-SqlSession 會話源碼和Executor SQL操作執行器源碼

相關流程圖整理元數據簡略圖執行流程圖一級緩存、二級緩存設計與查詢流程分析圖一級緩存設計-類圖一級緩存工作流程圖二級緩存設計-類圖二級緩存工作流程圖元數據簡略圖 執行流程圖 一級緩存、二級緩存設計與查詢流程分析圖 一級緩存設計-類圖 一級緩存工作流程圖 二級緩存設計…