在C语言中,共有三大常用的程序结构:

顺序结构:代码从前往后执行,没有任何“拐弯抹角”;

选择结构:也叫分支结构,重点要掌握 if else、switch 以及条件运算符;

循环结构:重复执行同一段代码。

前面讲解了顺序结构和选择结构,本节开始讲解循环结构。所谓循环(Loop),就是重复地执行同一段代码,例如要计算 1+2+3+……+99+100 的值,就要重复进行99次加法运算。

while循环

while循环的一般形式为:

while(表达式){

语句块

}

其中表达式称为循环条件,语句块称为循环体。

while语句的意思是:先计算表达式的值,当值为真(非0)时, 执行循环体语句;执行完循环体语句,再次计算表达式的值,如果为真,继续执行循环体……这个过程会一直重复,直到表达式的值为假(0),就退出循环,执行后面的语句。其执行过程如下图所示:

用while语句计算1加到100的值:

#include

int main(void){

int i=1,sum=0;

while(i<=100){

sum+=i;

i++;

}

printf("%d\n",sum);

return 0;

}

运行结果:

5050

代码分析:

1) 程序运行到while语句时,因为 i=1,i<=100 的值为真,所以执行循环体;执行结束后 i 的值变为 2,sum 的值变为 1。

2) 接下来会继续判断 i<=100是否成立,因为此时 i=2,i<=100 成立,所以继续执行循环体;执行结束后 i 的值变为 3,sum 的值变为3。

3) 重复执行步骤 2)。

4) 当循环进行到第100次,i 的值变为 101,sum 的值变为5050;因为此时 i<=100 不再成立,所以就退出循环,不再执行循环体,转而执行while循环后面的代码。

再看一个例子,统计从键盘输入的一行字符的个数:

#include

int main(){

int n=0;

printf("Input a string:");

while(getchar()!='\n') n++;

printf("Number of characters: %d\n",n);

return 0;

}

运行结果:

Input a string:c.biancheng.net

Number of characters: 15

本例程序中的循环条件为getchar()!='\n',其意义是,只要从键盘输入的字符不是回车就继续循环。循环体n++;完成对输入字符个数计数。

do-while循环

除了while循环,在C语言中还有一种 do-while 循环。

do-while循环的一般形式为:

do{

语句块

}while(表达式);

do-while循环与while循环的不同在于:它会先执行循环体,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while 循环至少要执行一次循环体。其执行过程可用下图表示:

用do-while计算1加到100的值:

#include

int main(){

int i=1,sum=0;

do{

sum+=i;

i++;

}while(i<=100);

printf("%d\n",sum);

return 0;

}

运行结果:

5050

注意while(i<=100);最后的分号;,这个必须要有。

while循环和do-while各有特点,大家可以适当选择,实际编程中使用while循环较多。

以上就是对 C语言while 语句用法的详细介绍,有需要的同学可以参考下。

总结

以上是编程之家为你收集整理的C语言 while语句的用法详解全部内容,希望文章能够帮你解决C语言 while语句的用法详解所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

c语言while将字符循环,C语言 while语句的用法详解相关推荐

  1. C语言getline函数CSDN,c++中的两种getline用法详解

    getline是C++标准库函数:但不是C标准库函数,而是POSIX(IEEE Std 1003.1-2008版本及以上)所定义的标准库函数(在POSIX IEEE Std 1003.1-2008标准 ...

  2. c语言switch case缩进,C语言中的switchnbsp;casenbsp;语句的用法详解

    本文就几个实例来说明Switch case 语句的用法. 说是C语言中的Switch case,其实和html+javascript中的Switch case语法是基本一样的哦. 问题: 有这么一个C ...

  3. C语言switch语句的用法详解

    转载: http://c.biancheng.net/cpp/html/39.html C语言提供了一种用于多分支选择的switch语句, 其一般形式为: switch(表达式){      case ...

  4. c语言字符串switch用法,C语言switch 语句的用法详解

    搜索热词 C语言虽然没有限制 if else 能够处理的分支数量,但当分支过多时,用 if else 处理会不太方便,而且容易出现 if else 配对出错的情况.例如,输入一个整数,输出该整数对应的 ...

  5. c语言逻辑与的作用,C++ 、||、!逻辑运算符用法详解

    逻辑运算符可以将两个或多个关系表达式连接成一个或使表达式的逻辑反转.本节将介绍如何使用逻辑运算符将两个或多个关系表达式组合成一个.表 1 列出了 C++ 的逻辑运算符. 表 1 逻辑运算符 运算符 含 ...

  6. php循环经典用法,PHP switch嵌套、往复循环、单选等的“高级”用法详解

    php switch用法很多,除了我们常见的switch break的搭配外, 还有其他用法,也许会满足你的特殊需求! switch语句和具有同样表达式的一系列的 IF 语句相似.很多场合下需要把同一 ...

  7. c语言fputc输入字符串,C语言fgetc和fputc函数用法详解(以字符形式读写文件)

    C语言fgetc和fputc函数用法详解(以字符形式读写文件),文件,字符,指针,函数,字节 C语言fgetc和fputc函数用法详解(以字符形式读写文件) 易采站长站,站长之家为您整理了C语言fge ...

  8. sizeof 在C语言的作用,C语言中的sizeof的用法详解

    C语言中的sizeof的用法详解 一.sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等.它并不是函数.sizeof操作符以字节形式给出了其操作数的存储大小.操 ...

  9. 计算机科学类专升本复习之“C语言fgetc和fputc函数用法”详解(初稿)

    C语言fgetc和fputc函数用法详解(以字符形式读写文件) 在C语言中,"读写"文件比较灵活,既可以每次"读写一个字符",也可以"读写一个字符串& ...

最新文章

  1. [唐诗]古风(其二十四)-李白
  2. Java数组的基本知识点
  3. php mysql实现每日签到积分_php+mysql+jquery实现日历签到功能
  4. cassandra数据备份_Cassandra中的数据建模
  5. 大型网站电商网站架构案例和技术架构的示例
  6. 【安全】一名安全数据科学家的日常生活
  7. 开课吧9.9学python课_python 自动化运维 零基础入门 课程
  8. 视频会议十大开源项目排行
  9. Word插入脚注只占左下角一栏的方法
  10. 树和二叉树的应用 -- ---哈夫曼(Huffman)树和哈夫曼编码
  11. python you-get库
  12. esp32cam与android app的同步udp通信
  13. 2021-09-22 WPF上位机 23-动态图形
  14. samba服务器无法共享文件夹,samba服务器设置共享文件夹权限
  15. GitHub 设置和取消代理,加速 git clone
  16. On the Factory Floor: ML Engineering for Industrial-Scale Ads Recommendation Models笔记
  17. Under the hood: MySQL Pool Scanner (MPS)
  18. 红米 12C earth Fastboot 线刷包 root TWRP 刷入magisk recovery卡刷
  19. 安卓创建系统闹铃以及系统日历提醒
  20. java商城毕业设计 JavaWeb家具家居购物商城毕业设计(7)商品简介、详情(包含产品轮播)

热门文章

  1. 【已打包】iOS13自带壁纸
  2. VIM学习笔记 缩进 (Indent)
  3. 扫地机器人杂牌的怎么样_最便宜的扫地机器人怎么样?对比评测一下就清清楚楚!...
  4. DevExpress 控件翻译成简体中文(图)
  5. 一个基于.Net+Vue开发的开源权限工作流系统
  6. JAVA 11 正式上线 免费使用!
  7. SparSql 中DataFrame出现_corrupt_record问题解决(DataFrame多行读取JSON数据问题解决)
  8. 5760php,学习PHP就来六星教育,助你进阶中高级、架构师
  9. 2022-2028年全球与中国球化剂市场研究及前瞻分析报告
  10. 夜莺n9ev5配置pushgateway