C语⾔是结构化的程序设计语⾔,这里的结构指的是顺序结构,循环结构,选择结构
1.if语句
if的语法如下:
if (表达式)
语句1
else
语句2
如果表达式为真,那么语句运行,否则,执行else后面的语句
例如:
如果想要判断一个数是正数还是负数,我们可以通过if实现,代码如下
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
if (n > 0)
printf("%d是正数",n);
else
printf("%d是负数",n);
return 0;
}
需要注意,if和else都只控制一条语句,当if后面跟两条语句时,无论if的条件是否为真,第二条语句都会执行
例如:
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
if (n > 0)
printf("%d是正数",n);
printf("好好学习");
return 0;
}
无论输入的n是正数还是负数,都会打印好好学习
除此之外,当我们输入0时,不会返回任何结果,此时我们需要用嵌套if解决
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
if (n > 0)
printf("%d是正数", n);
else if (n == 0)
printf("%d", n);
else
printf("%d是负数",n);
return 0;
}
2.三目操作符
1 exp1 ? exp2 : exp3
语法是当exp1为真时,执行exp2,当exp1为假时,执行exp3
例如:
#include <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;
}
这段代码可以很快比较出a,b的大小,有了三目操作符我们可以实现更多的东西,这里不再赘述
3.switch语句
switch语句也是一种分支语句,语法如下:
switch (expression) {
case value1: statement
case value2: statement
default: statement
}
在使用switch语句的时候,如果switch后的表达式的值无法匹配无法匹配case后的语句的时候,我们可以在switch语句后面加入default语句
int main()
{
int n = 0;
scanf("%d", &n);
switch (n) {
case1:
case2:
case3:
case4:
case5:
printf("hardworking");
break;
case6:
case7:
printf("take a rest");
break;
}
}
注意:
在case1后面的语句写完后,必须加break:
switch 后的 expression 必须是整型表达式
case 后的值,必须是整形常量表达式
4.while语句
while语句是先判断后执行,先判断表达式的值是否为真,如果为真,则直接执行语句,如果为假,则不执行语句;
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
printf("%d ", i);
i = i+1;
}
return 0;
}
5.for循环
语法如下:
for(表达式1; 表达式2; 表达式3)
语句;如果循环体想要包含更多的语句,可以使用大括号
表达式1用于变量的初始化,表达式2用于循环结束条件的判断,表达式3用于变量的调整
for循环语句的逻辑是:
先执行表达式1初始化变量,然后执行表达式2,如果此时表达式2为0,则循环结束,如果不为0,则执行语句,然后执行表达式3
括号里面的三个表达式中,表达式1只会执行1次。
6.do while循环
do while语句中,先执行语句,然后进行判断,如果while为0,则跳出循环,如果while不为0,则执行到while里面的语句为0为止
语法如下
do:
语句;
while();