c语⾔程序⽤if循环,if语句的⽤法循环语句
求助
1.if语句的⼀般格式
if(表达式)
{语句组1;}
[else
{语句组2;} ]
(1)if语句中的“表达式”必须⽤“(”和“)”括起来。
(2)else⼦句(可选)是if语句的⼀部分,必须与if配对使⽤,不能单独使⽤。
(3)当if和else下⾯的语句组,仅由⼀条语句构成时,也可不使⽤复合语句形式(即去掉花括号)。
2.if语句的执⾏过程
(1)缺省else⼦句时
当“表达式”的值不等于0(即判定为“逻辑真”)时,则执⾏语句组1,否则直接转向执⾏下⼀条。
(2)指定else⼦句时
当“表达式”的值不等于0(即判定为“逻辑真”)时,则执⾏语句组1,然后转向下⼀条语句;否则,执⾏语句组2。如图4-1(b)所⽰。c语言return的用法和搭配
3.if语句的嵌套与嵌套匹配原则
if语句允许嵌套。所谓if语句的嵌套是指,在“语句组1”或(和)“语句组2”中,⼜包含有if语句的情况。
if语句嵌套时,else⼦句与if的匹配原则:与在它上⾯、距它最近、且尚未匹配的if配对。
为明确匹配关系,避免匹配错误,强烈建议:将内嵌的if语句,⼀律⽤花括号括起来。
if语句⾥⾯可以嵌套for循环吗
C语⾔⾥if语句⾥是可以嵌套for循环的(if语句⾥可以放C语⾔⾥的任意的执⾏语句)。
举例说:
char yn;
int i;
printf("需要打印1到10之间的所有奇数吗(Y/N)?\n");
scanf("%c",&yn);
if(yn=='Y'||yn=='y')
{
for(i=1;iprintf("%d ",i);
printf("\n");
}
else
printf("那就不打印了\n");
c语⾔程序:使⽤⼀个if选择语句和⼀个for循环语句写⼀个程序
#include
int isprime(int);
void even(int);
main()
{ int a;
scanf("%d",&a);
if(a%2==0)even(a);
else printf("!",a);
}
void even(int x)
{int i;
for(i=2;i<=x/2;i++)
if(isprime(i))
if(isprime(x-i))
{printf("%d=%d+%d\n",x,i,x-i);return;}
}
int isprime(int b)
{ int i;
for(i=2;i<=b/2;i++)
if(b%i==0)return 0;
return 1;
}
c语⾔if语句⽤法
for(i=1;i<10;i++)
if(i>max) max=i;
else if(i
//到这for语句结束,第⼆个if是else ⾥⾯的,它也只能做⽤到第⼀个分号,下⼀个分号就不在循环⾥,printf("%d",i);
这样改:
for(i=1;i<10;i++)
{if(i>max) max=i;
else if(i
printf("%d",i);
}这样就好了,,,printf就在for循环体⾥⾯了,。就是加⼀个⼤括号
c语⾔for循环嵌套if语句
两种⽅法,⼀种是重新赋值,程序段如下
for(i=0;i
for(j=0;j
if(true)
{
i=-1;
break; //从此处跳出本层循环,由于赋值i=-1,执⾏完
//break语句之后,执⾏外层循环i++指令,使得
/
/i=0;外层循环相当于重新开始,j的值⽆需处理,
//因每次进⼊内层循环,j值均会被for语句赋初值0
}
第⼆种⽅法是⽆条件转移指令:
sign: for(i=0;i
for(j=0;j
f(true) goto sign; //条件为真跳转⾄sign语句
⼀般情况下,应当避免使⽤goto⽆条件跳转指令,因为很多⼈认为程序可读性会因为goto的引⼊⽽变差,但是在不少情况下goto可以使得程序代码简单,效率提⾼,个⼈认为适当使⽤goto指令并⽆不可,楼主可⾃⼰作出选择。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。