⑴ c语言的分支语句有哪几种C语言分支结构的基本形式是什么,区别是什么
C语言中的分支结构有三种:
1、单分支结构
单分支结构的基本形式是:
if( <条件表达式> )
{
(语句块)
}
2、双分支结构
双分支结构的基本形式是:
if( <条件表达式> )
{
语句块1;
}
else
{
语句块2;
}
3、多分支结构
多分支结构又分为:“分支结构的嵌套”与“switch语句”
(1)分支结构的嵌套的基本形式是:
if( <条件表达式> )
{
if( <条件表达式> )
{
语句块1
}
else
{
语句块2
}
}
else
{
if( <条件表达式> )
{
语句块3
}
else
{
语句块4
}
}
(2)switch语句
(2)switch语句的基本形式是:
switch(表达式)
{
case 常量1:语句1;break;
case 常量2:语句2;break;
case 常量3:语句3;break;
……
case 常量n:语句n;break;
default : 语句n+1;
}
这三种分支结构的区别在于:
1、单分支结构在满足条件时执行,不满足条件不执行;
2、在双分支结构中,如果条件表达式成立,则执行语句块1,否则,执行语句块2,所以双分支结构至少执行一次;
3、多分支结构的分支结构的嵌套中,分支结构的嵌套包含了单分支结构与双分支结构的特性,可以用单分支结构嵌套双分支结构,也可用双分支结构嵌套单分支结构,通俗的来讲就是分支结构中放入一个分支结构,当条件成立则执行分支结构中嵌套的分支结构;
4、switch语句可以理解成其他的分支结构的总和,switch集成了上述所有分支结构的特性,在有多种情况的时候才使用switch,当switch(条件)满足case 后面的常量,则执行对应的语句,若满足的条件未能匹配到对应的常量,则执行default后的语句,有default的switch语句是至少执行一次的,当然default也可省略不写,这样switch语句也可以一次都不执行。
⑵ C语言循环结构
不是C语言只有三种结构,是所有的语言都只存在这三种结构!
顺序结构:代码按照编码顺序执行。
选择结构,双称分支结构,细分有单分支,双分支与多分支。单分支只有if结构,还用来做判断。双分支一般指的是if...else结构。多分支一般指的是switch结构,当然多重的if...else也可以实现,同时还是类惟逻辑尺等等编程思想。
循环结构:就是特定条件下要重复执行的语句。一般有步长型for,当型while,直到型do...while(部分语言中是until),以及枚举型foreach(部分语言中是for...in几种。还有几中特殊的直撞调用或间接调用两种形式实现的循环,在部分语言中将其单发为递归结构,但大多数时间由于是函数或方法的调用实现的,不归语言结构范畴,所以虽有递归结构,多数语言中还只认为存在三种基础结构,而递归属于调用层面的结构。所以在死循环时,除了检查我们的循环结构之外,还要特别注意是不是存在的递归调用上的缺少递归条件。
⑶ C语言中的的if语句共有多少种格式
3种形式
1、 第一种形式为基本形式:if
if(表达式) 语句
其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。
2、第二种形式为: if-else
if(表达式) 语句1;else 语句2;
其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。
3、第三种形式为if-else-if形式
前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,
一般形式为: if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3;…
else if(表达式m) 语句m; else 语句n;
其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if
句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。
(3)c语言if的双分支扩展阅读
在使用if语句中还应注意以下问题:
在三种形式的if语句中,在if关键字之后均为表达式。
该表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。例如: if(a=5) 语句; if(b) 语句;
都是允许的。只要表达式的值为非0,即为“真”。如在: if(a=5)…;中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。
参考资料
网络-if语句
⑷ 条件为真时,执行语句a用什么分支
用if分支。if双分支语句,执行过程中条件表达式为真,执行语句A,为假则执行else后面的语句B。在C语言中单分支选择结构是用IF语句来实现的,在这里表达式P就表示这个条件,如果表达式p的值为真就执行A,否则就不执行语句b。
⑸ C语言 双分支if语句求值
情况1:
你的程序写的有问题!
那个判断条件不应该是a=b,这是个赋值语句,为真!
应该是判断语句a==b!
那么程序走到这个判断条件上时,a=2,b=3,所以a!=b,它走的是另外的一个路径,即else语句!
c先自加一次,即为5!
b=b+(++c)=3+5=8!
a没变化!没有改变a值变化的语句!
所以答案为2 8 5!
情况2:
你写的程序没问题
那么那个if语句判断的结果为真,因为它的判断语句是个赋值语句!所以它接下来走的路径是c+=b++,即c=c+b++,所以c=4+3=7!b在做完加法后自加一次,变成4,即输出的值为4!
答案为3 4 7!
⑹ c语言if语句双重条件
if((KEY_1 != RESET) && (KEY_2 == RESET)) { // 满足租条件
}
C语言中if语句用法:
1、一般格式为:if (表达式) 语句 1 [ else 语句2 ]。
值得注意的是,else子句是可选的。当括号中的表达式的值为真值时,程序执行语句1,否则将执行语句2。
2、多个if嵌套使用。
(1)最近原则。当出现多个if语句嵌套在一起的时候,else子句与最临近的if语句匹配,就像题主给出的这道题目,else子句与第二个if语句匹配。
(2)强制匹配情况。如果将本题目稍作调整,在第二个if语句前面加上一个花括号“{”,同时在第一个printf语句后加一个花括号“}”,那么else语句就与第一个if匹配。
{
(6)c语言if的双分支扩展阅读:
if语句使用的注意事项:
1、if(条件表达式)其后没有分号。
一般来说,有"{}"有没有";",有";"就没有"{}"
2、if语句所控制的语句如果是一条语句,我们可以不写大括号;
如果控制的是两条以上的语句,必须加大括号。
if语句的控制体没有加大括号是其后跟的一条语句。
建议:永远加上大括号。避免不必要的错误。
⑺ 求c语言中,用if...else双分支语句和if...elsi if..else语句设计“3个数排序”程序谢谢!
#include<stdio.h>
void main() /*3个数按由大到小排序*/
{
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)
if(a>c)
if(b>c)
printf("%d,%d,%d",a,b,c);
else
printf("%d,%d,%d",a,c,b);
else
printf("%d,%d,%d",c,a,b);
else
if(b>c)
if(a>c)
printf("%d,%d,%d",b,a,c);
else
printf("%d,%d,%d",b,c,a);
else
printf("%d,%d,%d",c,b,a);
}
⑻ C语言if多分支结构
你犯了一个非常常见的问题.
if(op='+')
if(op='-')
你的两个if里面的判断相等的符号用错了,应该用相等符号==,而不是赋值符号=
建议你以后这么写代码
if('+'==op)
if('-'==op)
你这样写的话,就算是你把==错误的写成了=号,那么编译器会提示你.这样就能很快发现错误了,你可以试一试.
⑼ 双分支if语句涉及两个关键字是什么
if 和else 。
⑽ c语言中if的多分支条件语句中,分支最多有几个呀
if是条件选择句,可嵌套使用,个数无限制,注意条件句成立只运行if后一条语句,另外分支句是switch,其case可以有无数条,但注意每条语句后又没加break语句的必要性。