1. 简单使用

while ( 条件 )
{
    语句1;
    语句2;
    ....
}

如果条件成立,就会执行循环体中的语句(“循环体”就是while后面大括号{}中的内容)。然后再次判断条件,重复上述过程,直到条件不成立就结束while循环

while循环的特点:如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行.

可以省略大括号{},但是只会影响到while后面的第一条语句。不建议省略大括号。

while ( 条件 ) 
语句1; 2.代码
 #include <stdio.h>

 /*
if (条件)
{ } while (条件)
{
循环体
} 运行原理
1.如果一开始条件就不成立,永远不会执行循环体
2.如果条件成立,就会执行一次循环体,执行完毕,再次判断条件是否成立...... break
直接结束整个while循环 continue
结束当前的循环体,进入下一次循环体的执行 */ int main()
{
// 1.先确定需要重复执行的操作 // 2.再确定约束条件 // 定义一个变量记录做的次数
int count = ; /*
while (count<50)
{
++count; if (count%10 != 0)
{
printf("做第%d次俯卧撑\n", count);
}
}*/ /*
while (count<50)
{
++count; if (count%10 == 0)
{
// 直接结束这一次循环体,进入下一次循环
continue;
} printf("做第%d次俯卧撑\n", count);
}*/ while (count < )
{
++count; printf("做第%d次俯卧撑\n", count); if (count == )
{
break;
}
} return ;
}

练习

 /*
提示用户输入一个正整数n,计算1+2+3+…+n的和
*/ #include <stdio.h> int main()
{
// 1.提示输入
printf("请输入一个正整数:\n"); // 2.接收输入
// 定义变量保存用户输入的整数
int n;
scanf("%d", &n); if (n<=)
{
printf("非法输入\n");
return ;
} // 3.计算
// (1 + n) * n / 2;
// 定义变量保存和
int sum = ;
int number = ; // 默认被加的数值 while (number < n)
{
number++;
sum += number; // 累加
} printf("%d\n", sum); return ;
}
 /*
题目:计算1~100中所有3的倍数的个数
*/ #include <stdio.h> int main()
{
// 记录3的倍数的个数
int count = ; // 记录当前检查的数值
int number = ; while (number < )
{
number++; // 说明number是3的倍数
if (number% == )
{
count++;
}
} printf("1~100内3的倍数的个数:%d\n", count);
}

3.注意点

 #include <stdio.h>

 int main()
{
/*
while (10)
{
printf("哈哈哈哈\n");
}*/ /*
int a = 10;
// while (a>0); 死循环
while (a>0)
{
a--;
printf("哈哈哈\n");
}*/ // 最简单的死循环
//while(1); return ;
}
 
 

【学习笔记】【C语言】循环结构-while的更多相关文章

  1. Bash脚本编程学习笔记07:循环结构体

    本篇中涉及到算术运算,使用了$[]这种我未在官方手册中见到的用法,但是确实可用的,在此前的博文<Bash脚本编程学习笔记03:算术运算>中我有说明不要使用,不过自己忘记了.大家还是尽量使用 ...

  2. Objective-C 学习笔记(一) 语言程序结构

    Objective-C语言程序结构 “Hello World”简单示例 #import <Foundation/Foundation.h> //预处理命令,它告诉Objective-C语言 ...

  3. PYTHON 100days学习笔记004:循环结构

    目录 Day04 - 循环结构 1. 循环结构的应用场景 2.for-in循环 3. while循环 4. 练习 4.1 输入一个数判断是不是素数. 4.2 输入两个正整数,计算最大公约数和最小公倍数 ...

  4. iOS学习之C语言循环结构

    一.while循环    while (循环条件) {        循环体:    }    // 1.定义循环变量    int time = 1;    // 2.循环条件    while ( ...

  5. Go语言学习笔记六: 循环语句

    Go语言学习笔记六: 循环语句 今天学了一个格式化代码的命令:gofmt -w chapter6.go for循环 for循环有3种形式: for init; condition; increment ...

  6. java之jvm学习笔记十三(jvm基本结构)

    java之jvm学习笔记十三(jvm基本结构) 这一节,主要来学习jvm的基本结构,也就是概述.说是概述,内容很多,而且概念量也很大,不过关于概念方面,你不用担心,我完全有信心,让概念在你的脑子里变成 ...

  7. muduo学习笔记(二)Reactor关键结构

    目录 muduo学习笔记(二)Reactor关键结构 Reactor简述 什么是Reactor Reactor模型的优缺点 poll简述 poll使用样例 muduo Reactor关键结构 Chan ...

  8. [java学习笔记]java语言核心----面向对象之this关键字

    一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理:         代表的是当前对象.         this就是所在函数 ...

  9. [java学习笔记]java语言核心----面向对象之构造函数

    1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用:                给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...

  10. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

随机推荐

  1. 深入理解JavaScript 模块模式

    http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html 模块模式是JavaScript一种常用的编码模式.这是一般的 ...

  2. 安装luinxWEB

    Webmin的安装很简单,下面就详细说一下安装步骤. 1.用ssh客户端软件登陆服务器2.切换目录到root下,命令是:cd /root/3.下载Webmin的安装文件,命令是:wget http:/ ...

  3. 一、List的扩展

    前言 List的三个扩展方法 1.处理符合in()格式的扩展方法 2.处理符合SelectListItem类型的扩展方法(SelectListItem类型是下拉框要用到的类型) 3.Distinct方 ...

  4. oracle之报错:ORA-00054: 资源正忙,要求指定 NOWAIT_数据库的几种锁

    问题如下: SQL> conn scott/tiger@vm_databaseConnected to Oracle Database 11g Enterprise Edition Releas ...

  5. QT 操作oracle数据库遇到的问题

    一.首先参考官方文档: http://qt-project.org/doc/qt-4.8/sql-driver.html#qoci 二.编译驱动: http://www.tuicool.com/art ...

  6. 程序的内存分配 C\C++

    原文:http://blog.csdn.net/oohaha_123/article/details/24460425 程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1.栈区( ...

  7. Golang学习 - bufio 包

    ------------------------------------------------------------ // bufio 包实现了带缓存的 I/O 操作 -------------- ...

  8. Mybatis-Generator 自动生成Dao、Model、Mapping相关文档

    最近在学习mybatis,结果在写Mapping的映射文件时insert语句一直报错,于是想看看标准的映射文件是什么样.百度到Mybatis-Generator 自动生成Dao.Model.Mappi ...

  9. 属性通知之INotifyPropertyChanged

    为什么后台绑定的值改变了前台不发生变化了? 针对这个初学者很容易弄错的问题,这里介绍一下INotifyPropertyChanged的用法 INotifyPropertyChanged:用于绑定属性更 ...

  10. iOS tabbar 控制器基本使用

    RootViewController *rootVC=[[RootViewController alloc] init] SignInViewController *signVC = [[SignIn ...