c语言iffor循环
1. c语言里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;i<10;i+=2)
printf("%d ",i);
printf("\n");
}
else
printf("那就不打印了\n");
2. c语言中 for和if
你上面的语句中,各条件语句的包含关系没写清楚情况1:for(;;){ if(1) { if(1) { if(1){printf();} } }}IF1成立执行IF2,IF2成立执行IF3,完了循环,如果IF2不成立不执行IF3情况2:for(;;){ if(1) { if(1); if(1){printf();} }}IF1成立执行IF2,IF2成立执行IF3,完了循环,如果IF2不成立,执行IF3后循环情况3:for(;;){ if(1); if(1); if(1){printf();}}不管IF1,IF2成不成立,都会执行IF3
3. c语言 for和if
你上面的语句中,各条件语句的包含关系没写清楚情况1:for(;;){
if(1)
{
if(1)
{
if(1){printf();}
}
}}IF1成立执行IF2,IF2成立执行IF3,完了循环,如果IF2不成立不执行IF3情况2:for(;;){
if(1)
{
if(1);
if(1){printf();}
}}IF1成立执行IF2,IF2成立执行IF3,完了循环,如果IF2不成立,执行IF3后循环情况3:for(;;){
if(1);
if(1);
if(1){printf();}}不管IF1,IF2成不成立,都会执行IF3
4. 怎样理解C语言中的for循环语句和if语句
if
只是做判断,比如
if(a>b)
c=a;
else
c=b;
a>b是断判条件,如果a>b是真,那就会执行c=a;如果a>b是假就会执行c=b;
在C语言中,for语句使用最为灵活,它完全可以取代
while
语句。它的一般形式为:
for(表达式1;表达式2;表达式3)
语句
1)
先求解表达式1。
2)
求解表达式2,若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第3)步;若其值为假(0),则结束循环,转到第5)步。
3)
求解表达式3。
4)
转回上面第2)步继续执行。
5)
循环结束,执行for语句下面的一个语句。
5. c语言中for循环嵌套if的例题
#include<stdio.h>
intmain()
{
inta,b,c,i,n=0;
for(i=0;i<5;i++)
{
scanf("%d%d",&a,&b);
printf("%d+%d=",a,b);
scanf("%d",&c);
if(c==a+b)
{
n++;
printf("Yes ");
}
elseprintf("No ");
}
printf("正确率=%d%% ",n*20);
return0;
}
6. C语言if语句的判断语句里可以怎么加for循环
//方法如下:
int A[5],B[5];
int flag=1,i;
int n=sizeof(A)/sizeof(int);
//...
for(i=0;i<n;i++)
{
if(A[i]>=B[i])
flag=0;
break;
}
//这样使用if
if(flag)
{
//...
}
//当然,也可以定义一个函数,如:
int alessb(int A[],int B[],int n)
{
int i;
for(i=0;i<n;i++)
{
if(A[i]>=B[i])
return 0;
}
return 1;
}
int A[5],B[5];
int n=sizeof(A)/sizeof(int);
//...
//这样使用if
if(alessb(A,B,n))
{
//...
}
7. C语言for循环有if
循环有两种可能
1 i为奇数时, i%2为1,if成立,输出*, 然后执行下一句printf("#")
即 当i为奇数时,会输出*#
2 i为偶数时,i%2为0,判断不成立,执行else,即直接continue下次循环,没有任何输出。
循环执行5次,i值分别为1,2,3,4,5
其中三次奇数,于是输出三个*#
即
*#*#*#
循环结束后,输出$
选A
8. c语言for循环嵌套if语句
两种方法,一种是重新赋值,程序段如下
for(i=0;i<Maxi;i++)
for(j=0;j<Maxj;j++)
if(true)
{
i=-1;
break; //从此处跳出本层循环,由于赋值i=-1,执行完
//break语句之后,执行外层循环i++指令,使得
//i=0;外层循环相当于重新开始,j的值无需处理,
//因每次进入内层循环,j值均会被for语句赋初值0
}第二种方法是无条件转移指令:
sign: for(i=0;i<Maxi;i++)
for(j=0;j<Maxj;j++)
f(true) goto sign; //条件为真跳转至sign语句一般情况下,应当避免使用goto无条件跳转指令,因为很多人认为程序可读性会因为goto的引入而变差,但是在不少情况下goto可以使得程序代码简单,效率提高,个人认为适当使用goto指令并无不可,楼主可自己作出选择。