(一)if 和 switch 的分支结构
一.if语句
1.真假问题:如果表达式为真,则语句执行,否则不执行。
如:
int i=100;
if(i=100)
printf("i是100\n");
如果输入的i不等于100,则不会输出“i是100”.
2.“else” 配合if使用
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age>=20)
{
printf("可以结婚\n");
printf("可以谈女朋友\n");
}
else
{
printf("不可以结婚\n");
printf("不可以谈女朋友\n");
}
return 0;
else 的存在使得分支得以进行。
if else 的嵌套结构如下:
else 紧跟if,多层嵌套,使代码简化,条理清晰。
(注意:else只能和最近的if搭配,若if或else中有多条语句,一定要用大括号扩起来)
二.switch语句
1.基本格式:
switch(expression){
case value 1: statement
case value 2: statement
default: statement
}
(注意;switch后面的expression必须是整型表达式,case后面的expression必须是整型常量表达式,case后面的数字必须要有空格)
2.break在switch中的应用
switch(expression){
case value 1: statement
case value 2: statement
break;
default: statement
}
遇到break,程序直接跳出大括号,继续往下。
没有break,程序继续往下运行。
3.default的引入
当输入的结果不满足任何一条case语句时,会走default语句,例如上图,输出第三行的statement.
(注意:switch语句中case和default没有顺序要求)
(二)for,while,do while的循环结构
一.while语句
1.while相比if多了什么
while可以实现代码循环,而if不可以。
2.while语句怎么执行
如图:while语句先判断表达式,若值为0,则直接跳出循环,结束;若值不为0,则开始循环语句,语句执行完后再判断。
3.while执行场景及结果
执行结果是5050。
二.for语句
1.for语句和while
for语句和while语句的实质相同,用法也大致相同。
2.for语句用法
for(表达式1(循环变量初始化);表达式2(循环条件结束判断);表达式3(循环变量的调整))
流程:表达式1-表达式2-循环语句-表达式3-表达式2-循环语句-表达式3(表达式2 循环语句 表达式3循环)
3.for循环和while循环的比较
#include<stdio.h>
int main()
{
int n=1;(初始化)
while(n<=7)(判断)
{
printf("%d",n);
n++;(调整)
}
return 0;
}
相比之下,for循环的三个部分很集中,便于管理及维护,适用于代码较多的情况。
三.do while语句
1.do while 语句的用法
(先执行,后判断)#include<stdio.h>
int main()
{
int n = 0;
do {
n++;
printf("%d\n", n);
} while (n <= 9);
return 0;
}
相比一般的while循环,do while循环先进入循环体,再判断表达式,如果表达式为真,则执行下一次循环,否则不循环。
2.do while 的运行实例
此处按顺序打印了1~10的数字。
(三)操作符
一.关系操作符
常用的有6个如下:
>:大于操作符
<:小于操作符
>=:大于等于操作符
<=:小于等于操作符
==:相等操作符
!=:不相等操作符
这里的关系表达式通常返回0(表示假),1(表示真)。
二.逻辑操作符
!:逻辑取反运算符(类似数学的补集)
&&:与运算符(并且之意,同真即真,有假全假)
||:或运算符(两边只要有一边出现了真就真)
(四)循环的嵌套:最常用的例子是打印100~200的素数如下
1.素数它除了1和它本身,没有其他的数可以整除它;
2.可以选择循环1到它本身的数逐个去试,借用双循环语句;
3.创建flag,使其作为判断输入数n是否为素数,若不是flag=0,若是flag==1;
4.打印结果。
(五)go to 语句
go to 语句可以作为一个在复杂代码里的传送门,快速跳出。
for(......)
for(......)
if(......)
goto this
(.......)
(......)
this(跳出)
假如用break(一次只能跳出一个循环)在代码复杂时会非常的不方便,用goto会非常的方便。