文章目录
目标
-
1、C语言中的分支语句:if-else语句、switch语句
-
2、C语言中的循环语句:while循环、do-while循环、for循环
-
3、C语言中转移语句:goto语句、break语句、continue语句
if-else语句
if-else
语句用于执行基于特定条件的代码块。如果条件为真(非零),则执行if
块中的语句,否则执行else
块中的语句。
这是一个if-else
语句的例子,检查一个数字是否是正数:
#include <stdio.h>
int main()
{
int number;
printf("请输入一个数字:");
scanf("%d", &number);
if (number >= 0)
{
printf("你输入的是一个非负数。");
}
else
{
printf("你输入的是一个负数。");
}
return 0;
}
如果输入的数字大于或等于0,程序将打印“你输入的是一个非负数”。否则,它将打印“你输入的是一个负数”。
switch语句
switch
语句用于执行多个基于特定表达式值的代码块。
这是一个switch
语句的例子,实现了一个简单的四则运算计算器:
#include <stdio.h>
int main()
{
char operator;
double num1, num2, result;
printf("请输入运算符(+、-、* 或 /):");
scanf("%c", &operator);
printf("请输入两个数字:");
scanf("%lf %lf", &num1, &num2);
switch (operator)
{
case '+':
result = num1 + num2;
printf("结果是:%.2lf", result);
break;
case '-':
result = num1 - num2;
printf("结果是:%.2lf", result);
break;
case '*':
result = num1 * num2;
printf("结果是:%.2lf", result);
break;
case '/':
if (num2 != 0)
{
result = num1 / num2;
printf("结果是:%.2lf", result);
}
else
{
printf("错误!除数不能为0。");
}
break;
default:
printf("错误!无效的运算符。");
}
return 0;
}
用户输入一个运算符和两个数字,程序将根据运算符执行相应的计算,并打印结果。如果用户输入的是无效的运算符,程序将打印一条错误信息。
while循环
while
循环在给定条件为真(非0)时反复执行指定的代码块。循环体至少执行0次。
下面的例子中,程序打印1到5的数字:
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 5)
{
printf("%d\n", i);
++i;
}
return 0;
}
do-while循环
do-while
循环和while
循环类似,不过它至少执行一次循环体,然后再检查循环条件。
下面的例子中,程序要求用户输入一个大于0的数字,如果用户输入的数字不大于0,程序会再次请求输入:
#include <stdio.h>
int main()
{
int num;
do
{
printf("请输入一个大于0的数字:");
scanf("%d", &num);
} while (num <= 0);
return 0;
}
for循环
for
循环是C语言中最复杂的循环结构。它允许你在循环头部声明并初始化循环变量,设置循环条件,以及更新循环变量的值。
for (初始化表达式; 条件表达式; 更新表达式) {
// 循环体(需要重复执行的语句)
}
下面的例子中,程序打印1到5的数字:
#include <stdio.h>
int main()
{
for (int i = 1; i <= 5; ++i)
{
printf("%d\n", i);
}
return 0;
}
goto 语句:
goto 语句用于实现无条件跳转。在使用时,需要给出一个标签作为跳转的目标。标签由一个标识符和一个冒号构成,可以放在函数中的任意位置,作为 goto 语句的跳转目标。
示例代码:
#include <stdio.h>
int main() {
int a = 10;
LOOP:do {
if (a == 15) {
a = a + 1;
goto LOOP;
}
printf("value of a: %d\n", a);
a++;
} while (a < 20);
return 0;
}
break 语句:
break 语句主要用在循环语句和 switch 语句中,用来跳出循环或者 switch 结构。在循环中,如果 break 语句被执行,将会结束最近的外围循环,并开始执行 break 语句后面的代码。
示例代码:
#include <stdio.h>
int main() {
int a;
for (a = 10; a < 100; a++) {
if (a == 15) {
/* 如果 a 等于 15,终止循环 */
break;
}
printf("value of a: %d\n", a);
}
return 0;
}
continue 语句:
continue 语句用于结束当前循环,并立即开始下一次循环。在 for 循环中,continue 语句导致流程控制直接跳转到更新语句部分;在 while 和 do…while 中,控制流程直接跳转到条件表达式部分。
示例代码:
#include <stdio.h>
int main() {
int a;
for (a = 10; a < 100; a++) {
if (a == 15) {
/* 跳过此次循环 */
continue;
}
printf("value of a: %d\n", a);
}
return 0;
}