-
while后面的分号可以省略吗_C语言里为什么while后面有的有分号?有的没有?有例子...
2020-12-20 21:38:04printf("该方程有两个解, x1 = %lf, x2 = %lf\n", x1, x2); } else if (delta == 0) { x1 = x2 = (-b) / (2*a); printf("该方程有唯一解, x1 = x2 = %lf\n", x1, x2); } else { printf("该方程无解\n"); } printf(...一;求解一元二次方程#include#includeintmain(void){doublea,b,c;doubledelta;doublex1,x2;charch;do{printf("请输入一元二次方程的三个系数\n");printf("a=");scan...
一;求解一元二次方程
# include
# include
int main(void)
{
double a, b, c;
double delta;
double x1, x2;
char ch;
do
{
printf("请输入一元二次方程的三个系数\n");
printf("a = ");
scanf("%lf", &a);
printf("b = ");
scanf("%lf", &b);
printf("c = ");
scanf("%lf", &c);
delta = b*b - 4*a*c;
if (delta > 0)
{
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);
printf("该方程有两个解, x1 = %lf, x2 = %lf\n", x1, x2);
}
else if (delta == 0)
{
x1 = x2 = (-b) / (2*a);
printf("该方程有唯一解, x1 = x2 = %lf\n", x1, x2);
}
else
{
printf("该方程无解\n");
}
printf("继续求解请输入 Y, 结束程序请输入 N\n");
scanf(" %c", &ch);
} while (ch == 'Y' || ch == 'y');
return 0;
}
二;将一个数字倒过来
# include
int main(void)
{
int val;
int m;
int sum = 0;
printf("请输入一个数字\n");
scanf("%d", &val);
m = val;
while (m)
{
sum = sum * 10 + m%10;
m = m/10;
}
printf("sum = %d\n", sum);
return 0;
}
展开
-
结果为什么不一样呢,求大神解析一下,差别在于while后面有没有一个分号
2021-02-26 11:36:29<p><img alt="" height="330" src=... -
C语言基础知识:While 后面可以没有花括号{}?可以同时有{}和;?
2019-02-06 23:30:29可以没有{},此时于while()后第一个分号 “;” 前面的语句就是循环体。 可以同时有{}和分号“;” , 也就是说,当有花括号 {} 结尾可不需要分号, 当然你加了不也会出错,但不要while(); 【总结】在C语言中,用;...先说结论:正确且习惯用while(){}
可以没有{},此时于while()后第一个分号 “;” 前面的语句就是循环体。
可以同时有{}和分号“;” , 也就是说,当有花括号 {} 结尾可不需要分号, 当然你加了不也会出错,但不要while();
【总结】在C语言中,用;和{}的作用都是一个:用于语句分隔,告诉编译器当语句遇到;或者{}中的 “}”时,说明执行该语句结束。所以说有点二选一的感觉,但让如果两个都同时用也不会出错(注不要while(); 不要for(); ,这些C语言编译器是允许的,但是实际上这样做没意义,这样做相当于循环体为空了,什么也没干)
while(){} //有 {} 结尾可不需要分号, 当然你加了不也会出错,但不要while();。 但是要注意,如果是do while结构,在while()后面必须有; do{}while(); //要分号结束
【注意】:在C语言中 ; 分号 是可以看成表示执行语句结束
分析:第一个例子循环体在while的前面,先执行的是循环体,再判断条件。而条件是不能用花括号{}括起来的的,在C语言中每段程序之间都要用分号隔开的,所以就要分号; 第二个列子是先判断条件,再执行循环体,而循环体是用花括号{}包起来的,而在C语言中花括号和分号不能同时在一起,所以就没有分号;就相当于if(){}语句一样。
1、当while在复合语句中没有使用花括号{}时
while() 语句a; 语句b; 语句c; 当while在复合语句中没有使用花括号时 循环体只有语句a, 相当于while()后第一个分号前面的语句就是循环体。 举例子: int main() { int i=0; int n = 3;//表示从键盘输入的整数 while(i<=n)//n是几下面的循环体就执行几次 printf("%d",i); //打印出来的结果是:全是0 i=i+1; //结论:printf("%d",i)为循环体,无法执行到i=i+1,由于i=0不变,这是一个死循环 }
2、在上述例子基础上,在while(i<=n)后面加分号;
int main() { int i=0; int n = 3;//表示从键盘输入的整数 while(i<=n); //编译可以通过,但是执行时不打印任何信息 printf("%d",i); i=i+1; } //上面分析得到,while()后第一个分号前面的语句就是循环体。本例中,while()后第一个分号前面的语句是空语句,相当于什么也没有执行,所以执行时没打印出信息
3、正确写法while(){}
//while后有{}号 int main() { int i=0; int n = 3;//表示从键盘输入的整数 while(i<=n)//n是几下面的循环体就执行几次 { printf("%d\n",i); //打印出来的结果是:0123 i=i+1; }; //有 {} 结尾可不需要分号, 当然你加了不也会出错 }
-
考试酷解析——B4_While Loops
2020-05-05 21:12:27 -
2020-05-09
2020-05-09 13:20:33do-while语句的while(表达式)后面有分号 而while语句while(表达式)的后面没有分号do-while语句的while(表达式)后面有分号
而while语句while(表达式)的后面没有分号 -
第三章:控制语句
2019-09-12 21:18:38switch 语句后面小括号中表达式的值必须是整型或字符型 case后面要么是整形要么是字符型 while语句只有当判断条件不满足了才不执行 ...注意:do while 后面有分号,而直接的while后面没有 for循... -
循环(一)流程控制if-elif-else、while、for,pass、assert语句,range()/zip()/enumerate()函数
2020-11-10 16:24:10python语句后面没有分号 一、 if - elif - else语句 Python 是一门非常独特的编程语言,通过缩进来识别代码块,具有相同缩进量的若干行代码属于同一个代码块, 因此不要胡乱缩进,代码块一定要有缩进,没有缩进的不是... -
C语言程序设计第六次作业——循环结构(2)
2019-10-04 00:33:05(一)改错题 序列求和:输入一个正实数eps,计算序列部分和 1 - 1/4 + 1/7 - 1/... eps)的后面没有加分号 改正方法:在while( item < eps)的后面加分号 错误信息: 错误原因:第八行输入格式有问题 改正方法:... -
C语言学习新手必看
2007-02-28 17:29:29一、分号,大括号 分号。分号是表达式结束的标志,一般表达式后面都要有。 写“;...b) /*if语句,没有分号*/ {...} while(i+=10,i!=100); /*while语句循环体为空,依靠逗号语句实现循环*/ ... -
004 shell脚本编程2 shell中的ifelse shell中的循环 casein continue break shell中的方法 shell中的文件...
2019-05-20 16:28:19截图上也说了 要写成一行 要用分号来分隔的 写if 结束必须有fi反制 ...没有else if 只有 elif 后面必须跟then else 后面不能跟then 循环 while for util for例子 seq 1 20 虚拟化... -
c语言学习新手必看
2006-07-31 18:51:00本人也是刚学C不久算是老菜鸟。把我遇到的问题写出来,希望对初学者有点帮助。 一、分号,大括号 分号。 分号是表达式结束的标志,一般表达式后面都... if(a>b) /*if语句,没有分号*/ {...} while(i+=10,i!=100); /*wh -
jython语言学习笔记
2019-07-06 14:04:131.变量可以随便定义,不限制类型,不限制数值。...在print语句的后面有格式转换时要加上% , for和while之后要加冒号,快捷键被我改成了CTRL+R 和D Method Description of Functionality capitalize()... -
总结ACM 中的基本输入输出
2013-03-26 20:09:00通常基本输入输出;...= EOF)【注意后面没有分号,否则不执行下面语句】 { ....... } 【scanf函数返回值就是读出的变量个数,如:scanf(“%d %d”,&a,&b) 如果有两个整数输入,返回值... -
解析(value=pair;)+的策略
2008-03-18 00:06:00第一,一般来说最后的那个分号是没有的第二,一般来说分割符也是不固定的,今天是=和;明天有可能就变成了=和:第三,代码要简洁下面说说我做这件事情的过程1.最早的时候时直接将分隔符嵌在代码里,并且采用了一个... -
小bug,大故障
2020-12-21 18:59:12众里寻他千百度,蓦然回首他在灯火阑珊处! 即使有10多年的老手,有时候BUG也就悄悄地来了。挥一挥衣袖,就是不悄悄地走。...while(条件)后面多出了个分号。导致一个循环体代码在“{”前就已经结束。 -
Kotlin 学习整理
2019-02-21 17:55:08参数(变量)的类型写在它的名称后面。 数组就是类。 可以省略每行代码结尾的分号。 语句和表达式:在Kotlin中,if是表达式,而不是语句。语句和表达式的区别在于,表达式有值,并且能作为另一个表达式的一部分... -
c-minus词法分析器
2020-04-28 10:40:39表达式语句有一个可选的且后面跟着分号的表达式。这样的表达式通常求出它们一方的结果。因此,这个语句用于赋值和函数调用。 15. selection_stmt -> if ( expression ) statement | if ( expression ) statement ... -
PL0编译器调用procedure无限循环
2016-12-11 10:54:40如题,自己参照网上的例子做了一个C语言的PL0编译器,能跑通,但是遇到调用procedure的时候,就会一直循环无限调用,查错查了好久,还是没有找到,希望有大神能为我解答一下!谢谢~ 代码如下,有点长。。 #include... -
十天学会ASP.net--我认为ASP.NET比ASP难很多,希望大家做好准备
2008-12-05 08:41:03text="请填写" 就是当没有填写内容时候显示的错误消息;别忘记最后的runat="server"。现在这个检验控件是放在了textbox的后面,那么错误消息也在textbox后面显示,也可以放在其他地方。 再看一下比较表单控件的数据... -
精通Socket的朋友请进~~~紧急求援啊!
2009-08-25 23:03:56我现在问题是:最后一次读取服务器的传输的数据流时,他总是有最后一个字节读不到,所有在Client端就会死在getInputStreamByte方法中的[code="java"]while (available == 0) { // 等到有数据可读 ... -
(谭浩强)c语言学习书
2008-12-16 10:28:45但是,在《K&R》中并没有定义一个完整的标准C 语言,后来由美国国家标准协会(American National Standards Institute)在此基础上制定了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。 1.2 当代最优秀的... -
整理后java开发全套达内学习笔记(含练习)
2011-06-06 14:29:30while (关键字) 循环语句。 当...的时候 [hwail] ORACLE_SID=oral10g\ --变局部变量 export ORACLE_SID --变全局变量 unset ORACLE_SID --卸载环境变量 ORACLE_HOME=... --安装路径;直接用一句语句也可以,... -
C++复习资料之系列
2008-12-30 21:35:45(a) 必须在程序的开头 (b) 必须在程序的后面 ( c ) 可以在程序的任何地方 (d) 必须在其它函数中间 2.用C++语言编制的源程序要变为目标程序必须要经过( d )。 (a) 解释 (b) 汇编 (c) 编辑 (d) 编译 3.C++程序... -
如何编写批处理文件批处理文件批处理文件
2010-04-14 10:36:10简明批处理教程22009年10月20日 星期二 下午 05:35 最近对于批处理技术的探讨比较热,也有不少好的批处理程序发布,但是如果没有一定的相关知识恐怕不容易看懂和理解这些批处理文件,也就更谈不上自己动手编写了,古... -
VC++科学计算器的设计V1_4Beta.rar
2010-03-23 04:54:59(注:利用MATLAB的计算引擎技术与DDE数据交换技术也可以间接实现表达式动态解释执行的目的,但是其执行效率很低,并且需要用户计算机上安装有匹配版本的庞大的MATLAB,因此实际实现起来极不方便,因此无视掉。... -
C语言深度揭秘
2012-04-12 13:21:161.6.5,if语句后面的分号..................................... 23 1.6.6,使用if语句的其他注意事项.................... 24 1.7,switch、case组合................................................. 24 1.7.1,... -
一个java正则表达式工具类源代码.zip(内含Regexp.java文件)
2009-10-25 12:01:419. 不包括特殊字符的匹配 (字符串中不包括符号 数学次方号^ 单引号' 双引号" 分号; 逗号, 帽号: 数学减号- 右尖括号> 左尖括号反斜杠\ 即空格,制表符,回车符等 10 匹配非负整数(正整数 + 0) 11 匹配不包括零的... -
C语言深度解剖(c语言进阶的好教程)
2011-12-04 08:01:071.6.5,if 语句后面的分号............................................................................................... 23 1.6.6,使用 if 语句的其他注意事项...............................................
-
Liunx安装Nginx
-
mysql8.0.23:Access denied for user ‘root‘@‘localhost‘
-
实现 MySQL 读写分离的利器 mysql-proxy
-
第四章 C语言 PTA数组——作业-答案.html
-
QT学习第一次作业
-
QHVlcPlayer.rar
-
基于Flink+Hudi构建企业亿级云上实时数据湖教程(PC、移动、小
-
Docker从入门到精通
-
MySQL 主从复制 Replication 详解(Linux 和 W
-
质量保证书-源码
-
OpenCV Python 图像矩阵的均值和标准差
-
变量的意义:存储数据在内存中,用来在后边进行调用
-
MaxScale 实现 MySQL 读写分离与负载均衡
-
【RabbitMQ】消息可靠性投递(四)Queue-->Consumer
-
华为1+X——网络系统建设与运维(中级)
-
社交运营数据挖掘.ppt
-
整合后的文件就叫可执行程序,windows后缀为.exe,Linux后缀为.out
-
2021 年该学的 CSS 框架 Tailwind CSS 实战视频
-
eventloop的概念其实很简单
-
工程制图 AutoCAD 2012 从二维到三维