㈠ c语言新手关于if的嵌套,感谢。
你这个没有循环,if不是循环语句,是判断语句。程序运行开始a=0,b=0,if(a!=2)成立,运行里面的if(1)成立,b=b+1,结果是b=1,然后else不运行,然后运行a=a+1,结果a=1,然后运行printf,return,这个程序就运行完了,不会循环。因为没有循环语句。
望采纳。。。。。。
㈡ C语言 发个if嵌套循环的例子 解析
if
while
for
do while
都可以嵌套
// lz98.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include "string.h"
#define Q 2
#define W 5
#define RH 2
#define RHCJ 5
void main()
{
char b[15],c[15],d[15],a[Q][W]={'\0'},st1[15],st2[15];
int i,j,m,n,bb,cc,dd,k,x,y,z,cz=0,s1=0,s2=0,e,xh=0,px,h,o=0,cr,s;
printf("输入有几名同学:");
scanf("%d",&m);
printf("输入有几门功课: ");
scanf("%d",&n);
printf("输入第一个学生名字");
scanf("%s",b);
printf("输入第二个学生名字");
scanf("%s",c);
printf("输入第三个学生名字");
scanf("%s",d);
printf("学生姓名: %s(学号1) %s(学号2) %s(学号3) (同学共%d名) (课程%d门)\n",b,c,d,m,n);
bb=strlen(b);
cc=strlen(c);
dd=strlen(d);
printf("\n长度b是%d,长度c是%d,长度d是%d\n",bb,cc,dd);
printf("---------------------------------处理学生数据-----------------------------\n\n\n");
printf("1,输入-1或0是查找学生\n2,输入2录入学生成绩\n3,输入3插入学生成绩\n4,输入4排序查看所有学生名次\n5,输入5删除学生\n");
scanf("%d",&cz);
switch(cz)
{
case 3:
printf("(插入/排序)学生成绩");
scanf("输入要查看的学生学号(升序排序成绩)%d",&cr);
if (cr=1)
for(z=0;z<Q-1;z++)
{
for(e=0;e<W;e++)
printf("学号%d的第%d科成绩是:%d\n",xh,e+1,a[z][e]);
}
scanf("%d",&s);
px=strlen(a[Q]);
while (s > st2[o])
o++;
px=strlen(st2);
for( h = px -1; h >= o ; h-- )
st2[h+1]=st2[h];
st2[o]=s;
break;
case 2:
scanf("%d",&xh);
printf("先输入学生学号");
printf("输入学生成绩");
for(i=0;i<Q-1;i++)
{
for(j=0;j<W;j++)
scanf("%d",&a[i][j]);
}
for(z=0;z<Q-1;z++)
{
for(e=0;e<W;e++)
printf("学号%d的第%d科成绩是:%d\n",xh,e+1,a[z][e]);
}
break;
default:
if (cz<=0)
{
printf("输入要查找的名字");
scanf("%s",&st1);
k = strcmp(b,st1);
x = strcmp(c,st1);
y = strcmp(d,st1);
if ((k+x+y)<0)
printf("未找到%d %d %d",k,x,y);
else if((k+x+y)>0)
{
printf("已找到%d %d %d",k,x,y);
break;
}
}
}
}
㈢ C语言高手解答~for 语句中嵌套if 如何执行
for(.........)
{
if(.......}
.........;
else
.........;
}
for 语句是循环,if是循环里的语句,每执行一次循环,都要有一个if语句的判断,成立则执行if下不得语句,不成立则执行else 下的语句,执行完循环体里的语句后,转而下一次循环,指导循环结束。
㈣ c语言中if语句的嵌套怎么使用
先判断第一层,如果符合,再判断内嵌第二层,以此类推。比如:
if (a>0)
if(a>3) printf("hello");
else if((a>0)&&(a<3)) printf("OK");
即首先判断a是否大于0,只有这个条件成立了,然后再判断下面的if。
㈤ c语言if语句的用法
c语言提供了三种形式的if语句:
1、if(表达式)语句。
例如:if(x>y)printf("%d",x);
此时,如果表达式为真,则执行printf语句。
2、if(表达式)语句1 else 语句2
例如:
if(x>y)printf("%d",x);
elseprintf("%d",y);
此时,如果x>y成立为真,则执行语句printf("%d",x),然后直接跳过else,同时也跳过语句printf("%d",y),去执行之后的语句。
如果x>y不成立为假,则不执行语句printf("%d",x),执行语句printf("%d",x)。
3、if(表达式1)语句1
else if(表达式2)语句2
else if(表达式3)语句3
else if(表达式m)语句m
else 语句 n
此时,哪个表达式为真,则运行哪个if后面的语句。如表达式3成立为真,执行语句3。
在每个语句中,可以有多个语句,但需要加上大括号
例:if(x>y){printf("%d",x);break;}
(5)c语言if嵌套循环的用法扩展阅读:
if语句使用的注意事项:
1.if(条件表达式)其后没有分号。
一般来说,有"{}"有没有";",有";"就没有"{}"
2.if语句所控制的语句如果是一条语句,我们可以不写大括号;
如果控制的是两条以上的语句,必须加大括号。
if语句的控制体没有加大括号是其后跟的一条语句。
建议:永远加上大括号。避免不必要的错误。
参考资料:网络-if语句
㈥ C语言 if嵌套if
printf("请输入a的值");
scanf("%d",&a);
if(a<10)//a=0的时候,明显符合a<10条件,但是不符合里面嵌套的a>1条件,不做任何操作。
{
if(a>1) t=1;
}
elset=2;
printf("请输入a的值");
scanf("%d",&a);
if(a<10)//a=100,第一步验证就不符合条件,又没有else语句对应,也是什么都不做
{
if(a>1) t=1;
elset=2;
}
我还是加上第二题的实战图吧:
我初始化t为99999了,防止输出未初始化的变量。可以看到99999并没有改变。也就是说a=100的时候,没有影响到t。不要看死书了,按自己的逻辑理解吧。
总之看if的嵌套,else总是与最近的if成对。然后自己加大括号对好格式,用手写在纸上画明了一点。希望能帮到你!
㈦ 在C语言中,if语句后面的else语句中能不能嵌套for循环语句,
在C语言中,if...else分支语句与for循环语句和其他循环及分支都是可以嵌套使用的,也就是说在if语句后面和else语句后面都是可以使用for循环语句的,例如:
给定一个整数n,判断这个整数n是不是小于2,如果小于2则提示给定数值不在有效范围内,否则计算从1到n的累加和。
int sum=0;
if(n<2){
printf("给定数值不在有效范围内");
}else{
for(int i=1;i<=n;i++){sum = sum +i;}
printf("%d",sum);
}
㈧ c语言中 if语句中可以嵌入循环吗
可以的啊
。都是可以随便嵌入的。
这个是goto
loop
语句的问题。跟循环是没有问题的。
循环是可以任意嵌入if语句的。
㈨ C语言——两个嵌套的IF语句BREAK循环
跳出内层循环,你如果想跳出外层循环,通常还要加一个变量,判断一下。
int flag=1;
for(表达式1;表达式2&&flag;表达式3) /*加一个变量*/
for(表达式4;表达式5;表达式6)
{语句一;IF(表达式7) {flag=0; break;}} /*break之前,将flag置0*/
语句二;
㈩ C语言高手解答~for 语句中嵌套if 如何执行
for(.........)
{
if(.......}
.........;
else
.........;
}
for
语句是循环,if是循环里的语句,每执行一次循环,都要有一个if语句的判断,成立则执行if下不得语句,不成立则执行else
下的语句,执行完循环体里的语句后,转而下一次循环,指导循环结束。