C语言的结构化有选择结构、条件判断和循环结构
一、选择结构
C语言中的选择结构有以下几种:
1. if语句:用于根据条件执行不同的代码块。
if语句: if语句根据给定的条件判断是否执行某个代码块。语法格式如下:
if (条件)
{
// 执行的代码块
}
也可以在if语句后面加上else来执行条件不满足时的代码块,语法格式如下:
if (条件)
{
// 执行条件满足时的代码块
}
else
{
// 执行条件不满足时的代码块
}
2.switch语句: switch语句通过匹配给定的表达式的值来执行相应的代码块。用于根据变量的不同值执行不同的代码块。
switch中的表达式为进入这个语句的条件语法格式如下:
switch (表达式)
{
case 值1:
// 执行与值1匹配的代码块
break;
case 值2:
// 执行与值2匹配的代码块
break;
case 值3:
// 执行与值3匹配的代码块
break;
...
default:
// 执行当没有匹配的值时的代码块
break;
}
选择结构还可以互相嵌套,即在一个选择结构中嵌套另一个选择结构来实现更复杂的逻辑判断。例如:
if (条件1)
{
// 执行条件1满足时的代码块
if (条件2)
{
// 执行条件1和条件2都满足时的代码块
}
else
{
// 执行条件1满足但条件2不满足时的代码块
}
}
else
{
// 执行条件1不满足时的代码块
}
condition这个表达式表示进行判断如果真进入,如果假将进入else中
if (condition) {
// code to be executed if condition is true
} else {
// code to be executed if condition is false
}
如果表达式中的结果和value1相同将执行对应的代码
value2同理
如果都不符合将进行default中的代码
每一个case都要带一个break表示结束语句
switch (expression) {
case value1:
// code to be executed if expression equals value1
break;
case value2:
// code to be executed if expression equals value2
break;
default:
// code to be executed if expression does not match any case
break;
}
3. ? : 运算符(条件运算符):用于根据条件选择不同的值。
condition这个表达式如果是真就执行value1,如果是假就执行value2.
result = (condition) ? value1 : value2;
选择结构允许根据不同的条件选择不同的执行路径,使程序能够根据需要做出不同的行为。
二、条件判断
C语言中的条件判断可以使用if语句进行实现。if语句的基本语法如下:
if (条件) {
// 条件满足时执行的代码
}
if语句的执行流程是,首先判断括号中的条件是否满足,如果条件为真,则执行花括号中的代码块。如果条件为假,则跳过代码块继续执行下面的语句。
除了基本的if语句,C语言还提供了其他的条件判断语句,如if-else语句、else-if语句和switch语句。下面分别介绍每种语句的用法。
1. if-else语句:用于在条件满足时执行一段代码块,否则执行另一段代码块。
if (条件) {
// 条件满足时执行的代码
} else {
// 条件不满足时执行的代码
}
2. else-if语句:用于在多个条件中选择执行其中一个代码块。
if (条件) {
// 条件满足时执行的代码
} else {
// 条件不满足时执行的代码
}
3. switch语句:用于根据表达式的值选择执行不同的代码块。
switch (表达式) {
case 值1:
// 表达式的值等于值1时执行的代码
break;
case 值2:
// 表达式的值等于值2时执行的代码
break;
default:
// 表达式的值既不等于值1也不等于值2时执行的代码
break;
}
在if语句、if-else语句和else-if语句中,条件可以是比较表达式、逻辑表达式或者函数返回值。条件为真时执行的代码可以是单条语句或者多条语句的代码块,通过花括号括起来。
三、循环语句
C语言中的循环语句有三种,分别是for循环、while循环和do-while循环。
-
for循环: for循环是一种经常用于循环执行已知次数的情况下的循环结构。它的语法如下:
for (初始化表达式; 条件表达式; 更新表达式) { // 循环体 }
其中,初始化表达式用于初始化循环变量;条件表达式用于判断循环是否继续执行;更新表达式用于更新循环变量的值。
-
while循环: while循环是一种在循环开始之前检查条件的循环结构。它的语法如下:
while (条件表达式) { // 循环体 }
while循环会在每次循环执行之前先检查条件表达式是否为真,只有条件为真时,才会执行循环体。
-
do-while循环: do-while循环是一种在循环结束之后检查条件的循环结构。它的语法如下:
do { // 循环体 } while (条件表达式);
do-while循环会先执行循环体,然后再检查条件表达式是否为真,只有条件为真时,才会继续执行循环体。
这三种循环结构可以根据具体的需求选择使用,用于实现不同的循环逻辑。
循环嵌套
循环嵌套是指在一个循环语句内部再嵌套另一个循环语句。在C语言中,可以使用多种循环语句进行嵌套,包括for循环、while循环和do-while循环。
以下是一个示例,展示了使用for循环和while循环嵌套的情况:
#include <stdio.h>
int main() {
int i, j;
// 外层循环使用for循环
for(i = 1; i <= 5; i++) {
// 内层循环使用while循环
j = 1;
while(j <= i) {
printf("* ");
j++;
}
printf("\n");
}
return 0;
}
这段代码会输出以下结果:
*
* *
* * *
* * * *
* * * * *
内层循环会根据外层循环的当前值执行相应次数的循环。这种循环嵌套可以用于处理各种问题,比如二维数组的遍历、多维矩阵的运算等。需要注意的是,在进行循环嵌套时要确保逻辑正确,避免陷入死循环或者产生意想不到的结果。