关系表达式与逻辑运算符
算数运算符优先级高于关系运算符、关系运算符的优先级高于逻辑与和逻辑或运算符,相同优先级的运算符从左到右进行结合。
int main() {
int sum=5>3&&8<4-!0;
printf("sum=%d\n",sum);
return 0;
}
输出结果为0;
运算从左到右
5>3逻辑值为1----》!0逻辑值为1-----》4-1值为3-----》8-3逻辑值为0----》1&&0逻辑值为0;
if-else语句
int i;
while(scanf("%d",&i))
{
if(i>0)
{
printf("i is bigger than 0\n");
}
else
{
printf("i is smaller than 0\n");
}
}
循环语句
while循环
其一般形式为“while(表达式) 语句;” ,当表达式的值非0,执行while语句中的内嵌语句,其特点是:先判断表达式,后执行语句。while后面不能加分号,否则会死循环
例如:1—100整数相加求和
int i=1;
int sum=0;
while(i<=100)
{
sum+=i;
i++;
}
printf("%d\n",sum);
for循环
for循环使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它可以完全代替while循环语句。一般形式为:
for(表达式1;表达式2;表达式3) 语句;
具体流程:
先求解表达式1;
求解表达式2,若其值为真,则先执行for语句中指定的内嵌语句,后执行第iii步,若其值为假,则结束循环,执行v。
求解表达式3
转回第二步继续执行
循环结束,执行for语句之后的语句。
int main() {
int sum=0;
for(int i=1;i<=100;i++)
{
sum+=i;
}
printf("%d\n",sum);
return 0;
}
continue语句
1-100之间偶数和
continue跳过本次循环
int sum=0;
for(int i=1;i<=100;i++)
{
if(i%2==0){
continue;//continue下面的语句直接跳过,执行表达式3
}
sum+=i;
}
printf("%d\n",sum);
return 0;
break语句
break结束整个循环,执行下面语句
int sum=0;
int i;
for( i=1;i<=100;i++)
{
if(sum>2000){
break;//当sum大于2000时,结束循环
}
sum+=i;
}
printf("%d,i=%d\n",sum,i);