子曰:“温故而知新。”这一篇博客,是打算将学习到的内容整理一下,既能深刻自己的印象,也可以在未来需要复习的时候再方便自己复习;这次整理一下有关于选择,分支与循环的基本概念。
一、选择结构
(一)运算符
1、关系运算符
“关系运算”是给两个给定的值进行比较,判断两个给定的值是否符合条件。
关系运算符可分为六种,详情如表所示:
运算符 | < | <= | > | >= | == | != |
说明 | 小于 | 小于或等于 | 大于 | 大于或等于 | 相等 | 不相等 |
前四种运算符的优先级相同,后两种运算符优先级相同;前四种的优先级高于后两种。
其中值得注意的是,等于运算符==与赋值运算符=非常容易用混。
2、逻辑运算符
逻辑运算符表示判断表达式的真假(0/1),C语言提供了3种逻辑运算符:
运算符 | ! | && | || |
说明 | 逻辑非 | 逻辑与 | 逻辑或 |
(1)!A
如果A为真,则!A为假,反之亦然;
(2)A&&B
如果A和B都为真,则A&&B也为真,只要有一个是假,则A&&B也为假;
(3)A||B
如果A和B中有任意一个为真,则A||B就为真。
(二)if语句
1.第一种形式的if语句
if(表达式)
语句;
如果表达式为真,则执行语句,否则不执行语句。
例:输入变量a的值,若a>100输出a>100,否则什么也不做
#include<stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
if (a > 100)
{
printf("%d>100", a);
}
return 0;
}
执行效果图如下:
2.第二种形式的if语句
if(表达式) 语句1;
else 语句2;
如果表达式执行结果为真,执行语句1,执行结果为假,执行语句2。
例:输入变量a的值,若a>100输出a>100,否则输出a<=100;
#include <stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
if (a > 100)
{
printf("%d>100", a);
}
else
{
printf("%d<=100", a);
}
return 0;
}
执行效果图如下:
3.第三种形式的if语句
if(表达式1) 语句1;
else if(表达式2) 语句2;
......
else if(表达式n-1) 语句n-1;
else 语句n;
如果表达式1执行结果为真,执行语句1,如果表达式1执行结果为假,判断表达式2,若表达式2为真,则执行语句2,如果为假,则判断表达式3,以此类推。
例:输入变量a的值,若a>100输出a>100,若a=100,输出a=100,否则输出a<100;
#include<stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
if (a > 100)
{
printf("%d > 100", a);
}
else if(a == 100)
{
printf("%d = 100", a);
}
else
{
printf("%d < 100", a);
}
return 0;
}
执行效果图如下:
二、分支结构
switch语句
switch是C语言中最常用的分支结构语句,使用方法如下:
switch(expression) //其中expression表示整形表达式
{
case value1: //value1表示整形常量表达式
statement; //需要执行的语句
break; //break表示退出switch语句
case value2:
statement;
break;
default: //default表示value1和value2以外的情况
statement;
break;
}
//以猜数字代码为例
scanf("%d", &input); //输入数字input
switch(input)
{
case 0:
printf("退出猜数字\n"); //键盘输入0,退出程序
break; //如果不使用break,则执行完语句不会退出switch语句继续执行下一句
case 1:
game(); //键盘输入1,执行game()函数
break;
default: //键盘输入0和1以外的数会执行以下语句
printf("输入错误,请重新输入\n");
break;
}
三、循环结构
while循环
先执行判断括号内表达式,如果结果为真则执行语句1;否则执行语句2.
while(表达式) //当表达式内容为真时,执行语句
{
语句1;
.......
}
语句2;
do...while循环
do...while语句结构如下:
do
{
循环语句;
}
while(表达式);
先执行do后面的循环语句,然后再判断表达式是否成立,如果结果为真则继续执行循环语句;否则结束循环.
//实例代码:打印1到10
int main()
{
int i = 1;
do
{
printf("i = %d\n", i);
i++;
}
while (i <= 10);
return 0;
}
for循环
for语句是C语言中最常用的循环语句,for语句结构如下:
for(表达式1; 表达式2; 表达式3)
{
循环语句;
}
表达式1表示为变量赋初值;
表达式2表示判断循环条件;
表达式3表示对变量的操作(自增或自减等);
示例代码如下:
//示例代码:打印1到10
#include<stdio.h>
int main()
{
for(int i = 0; i < 10; i++)
{
printf("%d",i);
}
return 0;
}