c语言中while的用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中while的用法相关的知识,希望对你有一定的参考价值。
参考技术Awhile语句如下:
while语句的一般形式为: while(表达式)语句其中表达式是循环条件,语句为循环体。
#include<stdio.h>
intmain(void)
inti,sum=0;
i=1;
while(i<=100)
sum=sum+i;
i++;
printf("%d\\n",sum);
return0;
【例6-3】统计从键盘输入一行字符的个数。
#include<stdio.h>
intmain(void)
intn=0;
printf("inputastring:\\n");
while(getchar()!='\\n')n++;
printf("%d",n);
return0;
本例程序中的循环条件为getchar()!='\\n',其意义是,,只要从键盘输入的字符不是回车就继续循环。循环体n++完成对输入字符个数计数。从而程序实现了对输入一行字符的字符个数计数。使用while语句应注意以下两点。1)while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。
#include<stdio.h>
intmain(void)
inta=0,n;
printf("\\ninputn:");
scanf("%d",&n);
while(n--)printf("%d",a++*2);
return0;
本例程序将执行n次循环,每执行一次,n值减1。循环体输出表达式a++*2的值。该表达式等效于(a*2;a++)。2)循环体如包括有一个以上的语句,则必须用括起来,组成复合语句。
while循环的一般形式为:
while(表达式)
语句块
其中表达式称为循环条件,语句块称为循环体。
while语句的意思是:先计算表达式的值,当值为真(非0)时,执行循环体语句;执行完循环体语句,再次计算表达式的值,如果为真,继续执行循环体??这个过程会一直重复,直到表达式的值为假(0),就退出循环,执行后面的语句。其执行过程如下图所示:
用while语句计算1加到100的值:
?
12345678910
#include<stdio.h>intmain(void) inti=1,sum=0; while(i<=100) sum+=i; i++; printf("%d\\n",sum); return0;
运行结果:
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循环后面的代码。
再看一个例子,统计从键盘输入的一行字符的个数:
?
12345678
#include<stdio.h>intmain() intn=0; printf("Inputastring:"); while(getchar()!='\\n')n++; printf("Numberofcharacters:%d\\n",n); return0;
运行结果:
Inputastring:c.biancheng.net
Numberofcharacters:15
本例程序中的循环条件为getchar()!='\\n',其意义是,只要从键盘输入的字符不是回车就继续循环。循环体n++;完成对输入字符个数计数。
do-while循环
除了while循环,在C语言中还有一种do-while循环。
do-while循环的一般形式为:
do
语句块
while(表达式);
do-while循环与while循环的不同在于:它会先执行循环体,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环体。其执行过程可用下图表示:
用do-while计算1加到100的值:
?
12345678910
#include<stdio.h>intmain() inti=1,sum=0; do sum+=i; i++; while(i<=100); printf("%d\\n",sum); return0;
运行结果:
5050
C语言中while的用法
我今天碰到一条C程序 源程序如下:
main()
int i=0,sum=0;
while(1)
sum+=i;
i++;
if(i>100)
break;
printf("sum=%d",sum);
程序能正常运行,但我不知道这里while(1)里的这个“1”是什么意思
C语言中while的用法解析如下:
一、1表示true,在bool类型取值false和true,0为false,非0为true(例如-1和2都是true)。程序中,这里1就表示永真,直到循环体内遇到break。
二、while用法演示解析:
1、含义:While 循环会在指定条件为真时循环执行代码块。
2、语法如下:(如果忘记增加条件中所用变量的值,该循环永远不会结束。该可能导致程序崩溃。)
3、实例:
例中的循环将继续运行,只要变量 i 小于 5:
4、执行结果如下:
扩展资料:
比较 for 和 while循环:
for循环控制变量的初始化和修改都放在语句头部分,书写形式较简洁,且适用于循环次数已知的情况。在循环语句中定义一个局部变量,循环结束后,局部变量就被释放了。
而while循环控制变量的初始化一般放在while语句之前,循环控制变量的修改一般放在循环体中,形式上不如for语句简洁,但它比较适用于循环次数不易预知的情况(用某一条件控制循环)。
两种形式各有优点,但它们是等价的,可以相互转换。
参考资料:百度百科--bool类型
参考资料:百度百科--while
参考技术Awhile表示的是循环,使用的标准格式为:
while(表达式)
循环语句体;
其中表达式是循环进行的条件
在此程序中,while(1)表示的是无限循环。
扩展资料
while是计算机的一种基本循环模式。当满足条件时进入循环,进入循环后,当条件不满足时,执行完循环体内全部语句后再跳出(而不是立即跳出循环)。while语句的一般表达式为:while(表达式)循环体。
参考资料
百度百科-while循环语句
这里的1表示真,是bool类型,非0为真。程序当中while(1)里括号内是判断条件,整型1转为bool型后结果为true,所以判断条件为真,接着做下面的语句。
bool表示布尔型变量,也就是逻辑型变量的定义符,以英国数学家、布尔代数的奠基人乔治·布尔(George Boole)命名。布尔型变量的值只有 真 (true) 和假 (false),0为false,非0为true(例如-1和2都是true)。
布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假。
比如:
#include<iostream>
using namespace std;
int main()
bool b =2; //执行此行后,b=true(整型2转为bool型后结果为true)
if(b)
cout << "ok!" << endl;
b = b-1; //执行此行后,b=false(bool型数据true参与算术运算时会转为int值1,减1后结果为0,赋值给b时会转换为bool值false)
扩展资料:
while循环具体语法形式:
while(循环条件)
//循环操作
while循环结构的顺序:
声明并初始化循环变量判断循环条件是否满足,如果满足,则执行循环操作,如果不满足循环条件,则不执行循环操作执行完循环后,再次判断循环条件,决定继续执行循环操作或者退出循环。
while(<条件>) <语句;>和do <语句;> while(<条件>)二者的区别是do-while最少会被执行一次。
循环中可以使用continue结束当前循环,回到循环开始处开始下一次循环。也可以用break跳出整个循环。
参考资料:while-百度百科
bool-百度百科
1就是真。
while()循环括号里只有2种值,0和非0,0表示假,非0表示真。真就进入循环,假就离开循环。这里1就表示永真,直到循环体内遇到break。
while是计算机的一种基本循环模式。当满足条件时进入循环,进入循环后,当条件不满足时,执行完循环体内全部语句后再跳出(而不是立即跳出循环)。while语句的一般表达式为:while(表达式)循环体。
扩展资料:
C++的特性
2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C语言的新标准,名叫ISO/IEC 9899:2011 - Information technology -- Programming languages -- C,简称C11标准,原名C1X。这是C语言的第三个官方标准,也是C语言的最新标准。
新的标准提高了对C++的兼容性,并增加了一些新的特性。这些新特性包括:
对齐处理(Alignment)的标准化(包括_Alignas标志符,alignof运算符, aligned_alloc函数以及<stdalign.h>头文件。
_Noreturn 函数标记,类似于 gcc 的 __attribute__((noreturn))。
_Generic 关键字。
多线程(Multithreading)支持,包括:
_Thread_local存储类型标识符,<threads.h>头文件,里面包含了线程的创建和管理函数。
_Atomic类型修饰符和<stdatomic.h>头文件。
增强的Unicode的支持。基于C Unicode技术报告ISO/IEC TR 19769:2004,增强了对Unicode的支持。包括为UTF-16/UTF-32编码增加了char16_t和char32_t数据类型,提供了包含unicode字符串转换函数的头文件<uchar.h>.
删除了 gets() 函数,使用一个新的更安全的函数gets_s()替代。
增加了边界检查函数接口,定义了新的安全的函数,例如 fopen_s(),strcat_s() 等等。
增加了更多浮点处理宏。
匿名结构体/联合体支持。这个在gcc早已存在,C11将其引入标准。
静态断言(static assertions),_Static_assert(),在解释 #if 和 #error 之后被处理。
新的 fopen() 模式,(“…x”)。类似 POSIX 中的 O_CREAT|O_EXCL,在文件锁中比较常用。
新增 quick_exit() 函数作为第三种终止程序的方式。当 exit()失败时可以做最少的清理工作。
参考资料来源:百度百科--while
参考资料来源:百度百科--c语言
参考技术Dwhile语句的一般形式为:
while(表达式) 语句
其中表达式是循环条件,语句为循环体。
while语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体语句。其执行过程可用下图表示。
【例6-2】用while语句计算从1加到100的值。用传统流程图和N-S结构流程图表示算法,见图:
拓展资料:
C语言
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
以上是关于c语言中while的用法的主要内容,如果未能解决你的问题,请参考以下文章