C语言的三大基本结构:顺序、选择、循环
作者:互联网
C语言的三大基本结构:顺序、选择、循环
1、顺序结构:
从上到下,先执行A操作,再执行B操作;
2、选择结构:
条件为真时,执行A操作,条件为假时,执行B操作;
(1)if(){ } (2)if(){ }else{ } (3)if(){ }else if(){ } (4)switch语句
3、循环结构:
(1)for语句 (2)while语句 (3)do while语句
1、顺序结构
平常写的C代码从上往下,顺序执行,就属于顺序结构;
2、选择结构
(1)if语句:if的括号内会先计算判断表达式或值的真假,然后再按照结果的真假,执行对应语句;
形式1:
if(表达式/值(值可以是变量,也可以是常量))
{
语句;
}
形式2:
if(表达式/值(值可以是变量,也可以是常量))
{
语句1;
}else{
语句2;
}
形式3:
if(表达式/值(值可以是变量,也可以是常量))
{
语句1;
}else if(表达式/值(值可以是变量,也可以是常量)){
语句2;
}else if(表达式/值(值可以是变量,也可以是常量)){
语句3;
}
...........
else if(表达式/值(值可以是变量,也可以是常量)){
语句n;
}else{
语句;
}
(2)switch语句:
switch(表达式){
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
...........
case 常量表达式n:
语句n;
break;
default:
语句n+1;
break;
}
当switch后的表达式的值,满足任何一个case后的常量表达式的值,则执行case后面的语句,直到遇到break就会跳出switch语句。
如果所有的都不满足,就会执行default包含的语句。
注:1、switch后面的表达式一般都是整型变量或者表达式。
2、 case以及default之间的顺序是无所谓的。
3、case里面的语句是可以共用的:
比如:
case4:
case5:
printf("----------");
break;
这里的case4,case5就共同使用了 printf("----------"); 这条语句。
3、循环语句
(1)for语句:
一般形式:
for(表达式1;表达式2;表达式3){
语句;
}
执行过程:a、先求解表达式1的值
b、再求解表达式2的值,( 若表达式2为真(非0),则执行for语句中的语句,再计算表达式3的语句;反复循环步骤b,直到表达式2的值为假 )
( 若表达式2的值为假,则for循环直接结束 )
注:
1、表达式1可以省略,但是其后的分号不可省略(当表达式1省略时,应在for之前给循环变量赋初值)
2、表达式2可以省略,但是其后的分号不可省略(此时就必须用break语句终止循环)
3、表达式3也可以省略
(2)while循环语句:
一般形式1:
while(表达式){
语句;
}
执行过程:先判断表达式的值,如果表达式的值为真,就执行语句;为假,循环体内的语句一次也不执行。
一般形式2:
do{
语句;
}while(表达式) ;
执行过程:先执行一次循环体,然后再判断表达式内的值,如果表达式的值为真,就继续执行循环体语句;为假,循环结束。
控制语句其他部分:
1、goto 跳转语句(无条件跳转)
goto语句,其一般格式如下:
goto 语句标号;
其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。
语句标号起标识语句的作用,与goto 语句配合使用。
C语言不限制程序中使用标号的次数,但各标号不得重名。goto语句的语义是改变程序流向, 转去执行语句标号所标识的语句。
案例:统计从键盘输入一行字符的个数:
点击查看代码
#include <stdio.h>
int n=0;
int main(void) {
printf("input a string: ");
loop: if (getchar()!='\n') {
n++;
goto loop;
}
printf("output: %d\n",n);
}
//输入:abcdefghijklmnopqrstuvwxyz
//然后回车Enter
//输出:26
(2):goto是跳转语句,效率低。
(3):一般使用goto语句,做统一出错处理。其他情况一般不使用goto。
2、continue
它会执行下一次循环语句,本次continue语句后面的语句就不会执行了。
点击查看代码
int i, sum=0;
for(i=0;i<=100;)
{
if(i%2!=0)
{
i++;
continue; //执行下次循环,sum+=i++; 就不会去执行了。
i++;
}
sum+=i++;
}
return 0;
3、return
功能:用来结束一个函数。
return后面的数字代表函数执行的结果,如果整数可以自己设置含义。
点击查看代码
int get_leap_year()
{
if((year%4 == 0 && year%100 !=0)||year%400 == 0){
return 1; //代表闰年
}
return 0;//代表平年(如果返回的是负数,表示程序执行出错了。)
}
标签:语句,顺序,goto,C语言,break,三大,执行,表达式,常量 来源: https://www.cnblogs.com/lhj123/p/16400766.html