1.if语句
if (表达式)
语句
表达式成立(为真),则语句执行,表达式不成立(为假),则语句不执行。在C语言中,0为假,非0表示真,也就是表达式的结果如果是0,则语句不执行,表达式的结果如果是 不是0,则语句执行。
下面看一个例子:
#include <stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
if(num > 1)
printf("%d比数字1大\n", num);
return 0;
}
if else语句
if (表达式)
语句a
else
语句b
注意: 默认在 if 和 else 语句中默认都只控制⼀条语句。
假如上面的if else 语句中出现语句c,那么语句c是不受if else 语句控制的。不管if语句的条件的真 假,都会被执行。
如果我们想要控制两条及以上的语句该怎么办呢?
那就要使用else 后也可以跟上大括号。
if (表达式)
{
语句a
语句c
}
else
语句b
就像这样我们就可以控制语句a和语句c了
2. 关系操作符
在c语言中用于比较的表达式,称为关系表达式。
>大于运算符
<小于运算符
>=大于等于运算符
<=小于等于运算符
==相等运算符
!=不相等运算符
以上的表达式通常返回0或1,表示真假。
注意:==相等运算符与赋值运算符=是两个不一样的运算符,不要混淆。
3. 条件操作符
条件操作符也称为三目操作符: 如果exp1为真,exp2计算,计算的结果是整个表达式的结果;如果exp1为假,exp3计算,计算的结果是整个表达式的结果.
exp1?exp2:exp3
# inclued <stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d",&a,&b);
int m = a>b? a : b;
printf("%d\n",m)
return 0;
}
4. 逻辑操作符:&&,||,!
!:逻辑取反运算符(改变单个表达式的真假)
&&:与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)
‖:或运算符,就是或者的意思(两侧至少有一个为真,则为真,否则为假)
5. switch语句
switch语句是一种if else的特殊结构,用于判断条件有多个结果的情况。
swith(expression){
case value1:statement
case value2:statement
case value3:statement
default:statement
}
在以上代码中,根据表达式expression不同值,执行相应的case分支。如果找不到对应值,就执行default分支
注意:switch后的expression必须是整型表达式
case后的值,必须是整型常量表达式
6. while循环
while语句和if语句非常相似,下面对if和while进行对比,
if (表达式)
语句;
while (表达式)
语句;
while语句是可以实现循环效果的。
#include <stdio.h>
int main()
{
while(1)
printf("hehe\n");//while 后面的条件满足,死循环打印hehe
return 0;
}
7. for循环
for循环是三种循环中使用最多的,
for(表达式1;表达式2;表达式3)
1 用于循环变量的初始化
2 用于循环结束条件的判断
3 用于循环变量的调整
for (表达式1;表达式2;表达式3)
语句;
在整个循环过程中,表达式1只被执行一次,剩下的就是表达式2,循环语句,表达式3在循环。
8. do-while循环
do
语句;
while(表达式);
do while 循环则是先进入循环体,执行循环语句,然后再执行while后的表达式,表达式为真,就会进行下一次,表达式为假,则不再继续循环。
9. 循环的嵌套
前⾯学习了三种循环 while , do while ,for ,这三种循环往往会嵌套在⼀起才能更好的解决 问题,就是我们所说的:循环嵌套。
题目:找出100~200之间的素数
10. goto语句
C语⾔提供了⼀种非常特别的语法,就是 内跳转到设置好的标号处。goto语句和跳转符号,语句可以实现在同⼀个函数内跳转到设置好的标号处。
#include <stdio.h>
int main()
{
printf("hehe\n");
goto next:
printf("haha\n");
next:
printf("hi\n")
return 0;
}
注意:如果goto语句使用不当,会导致在函数内部随意乱跳,打乱程序的执行流程。建议大家尽量不要去使用。但是在多层循环的代码中,goto语句能够快速跳出循环。