概述
C语言程序的三种基本结构:顺序结构、选择结构(if语句)、循环结构(for、while、do-while)。
顺序结构
从第一条语句执行到最后一条语句,按顺序的执行。
示例:
#include <stdio.h>
#include <math.h>
int main(int argc,char* argv){
double x,y,sum;
scanf("%lf%lf",&x,&y);
sum = x*y;
printf("%.2lfn",sum);
return 0;
}
选择结构(switch、if语句)
选择结构分为 if语句 switch(开关)语句。
C 语言中 if 语句的语法:
(1)if 语句
一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。
if(boolean_expression){
/* 如果布尔表达式为真将执行的语句 */
}
(2) if…else 语句
一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为 false 时执行。
if(boolean_expression){
/* 如果布尔表达式为真将执行的语句 */
}else{
/* 如果布尔表达式为假将执行的语句 */
}
(3)嵌套 if 语句
可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。
if( boolean_expression 1){
/* 当布尔表达式 1 为真时执行 */
if(boolean_expression 2){
/* 当布尔表达式 2 为真时执行 */
}
}
(4)if…else if…else 语句
一个 if 语句后可跟一个可选的 else if…else 语句,这可用于测试多种条件。
当使用 if…else if…else 语句时,以下几点需要注意:
- 一个 if 后可跟零个或一个 else,else 必须在所有 else if 之后。
- 一个 if 后可跟零个或多个 else if,else if 必须在 else 之前。
- 一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试。
if(boolean_expression 1){
/* 当布尔表达式 1 为真时执行 */
}else if( boolean_expression 2){
/* 当布尔表达式 2 为真时执行 */
}else {
/* 当上面条件都不为真时执行 */
}
switch 语句
一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。
switch(expression){
case constant-expression :
statement(s);
break; /* 可选的 */
case constant-expression :
statement(s);
break; /* 可选的 */
/* 您可以有任意数量的 case 语句 */
default : /* 可选的 */
statement(s);
}
switch 语句必须遵循下面的规则:
- switch 语句中的 expression 是一个常量表达式,必须是一个整型或枚举类型。
- 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。
- case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。
- 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。
- 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。
- 不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。
- 一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。
嵌套 switch 语句
switch(ch1) {
case 'A':
printf("这个 A 是外部 switch 的一部分" );
switch(ch2) {
case 'A':
printf("这个 A 是内部 switch 的一部分" );
break;
case 'B': /* 内部 B case 代码 */
}
break;
case 'B': /* 外部 B case 代码 */
}
示例:
#include <stdio.h>
#include <math.h>
int main(int argc,char* argv){
int a = 10;
// if
if(a > 0){
printf("a is bigger than 10");
}
// if -- else
if( a == 11){
printf("a is bigger than 10");
}else{
printf("a is smaller than 10");
}
// if -- else if--else
if(a > 1){
printf("a is bigger than 0");
}else if(a > 2){
printf("a is bigger than 2");
}else{
printf("a is smaller");
}
switch(a){
case 1:
printf("1");
break;
case 2:
printf("2");
break;
default:
printf("10");
}
return 0;
}
循环结构(for、while、do-while)
有两种结构:(1)当型;(2)直到型。循环是可以嵌套的。
- 当型
1.while 循环
只要给定的条件为真,C 语言中的 while 循环语句会重复执行一个目标语句。
while(condition)
{
statement(s);
}
2.for 循环
for 循环允许您编写一个执行指定次数的循环控制结构。
for ( init; condition; increment ){
statement(s);
}
- 直到型
do…while 循环
在 C 语言中,do…while 循环是在循环的尾部检查它的条件。do…while 循环与 while 循环类似,但是 do…while 循环会确保至少执行一次循环。
do{
statement(s);
}while( condition );
示例:
#include <stdio.h>
#include <math.h>
int main(int argc,char* argv){
int a = 10;
/* while 循环执行 */
while( a < 20 ){
printf("a 的值: %dn", a);
a++;
}
/* for 循环执行 */
for( int a = 10; a < 20; a = a + 1 ){
printf("a 的值: %dn", a);
}
/* do 循环执行 */
do{
printf("a 的值: %dn", a);
a = a + 1;
}while( a < 20 );
return 0;
}
谢谢阅读
最后
以上就是曾经大树为你收集整理的C语言之三种基本结构的全部内容,希望文章能够帮你解决C语言之三种基本结构所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复