目录
一、选择结构
1.if语句
2.if....else语句
3.else if语句
4.三目运算符
5.switch语句
二、循环结构
1.while语句
2.do...while语句
3.for语句
三、跳转语句
1.break语句
2.continue语句
一、选择结构
1.if语句
简单来时就是:当什么什么的时候。
比如实现一个大小比较功能,当a大于b时输出a
#include <stdio.h>int main()
{int a = 1;int b = 2;if (a > b){printf("%d\n", a);}return 0;
}
2.if....else语句
简单来说就是:当什么什么的时候我们就这样做,否则我们就那样做
比如大小比较时总是输出大的
#include <stdio.h>
int main()
{int a = 1;int b = 2;if (a > b){printf("%d\n", a);}else{printf("%d\n", b);}return 0;
}
3.else if语句
当什么什么的时候我们就这样做,或者当什么什么的时候我们那样做,在或者.........否则我们不做了!!!
比如比较a,b,c大小
#include <stdio.h>int main()
{int a,b,c;if (a>b and a>c){printf(a);}else if(b>a and b>c){printf(b);}else{printf(c)};return 0;
}
4.三目运算符
语法为:条件+?+条件为真时的输出+:+条件为假时的输出
#include <stdio.h>int main()
{int a = 10;int b = 20;int c;if (a > b){c = a;}else{c = b;}printf("c1 = %d\n", c);a = 1;b = 2;c = ( a > b ? a : b );printf("c2 = %d\n", c);return 0;
}
5.switch语句
switch(表达式){
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;
…
case 常量表达式n: 语句n;
default: 语句n+1;
}
意思是先计算表达式的值,再逐个和case 后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行default后的语句;若等于某一个常量表达式,则从这个表达式后的语句开始执行,并执行后面所有case后的语句。与if语句的不同:If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他if语句; 而switch语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有case语句。在每一case语句之后增加break 语句, 使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。
例如:
#include <stdio.h>int main()
{char c;c = getchar();switch (c) //参数只能是整型变量{case '1':printf("OK\n");break;//switch遇到break就中断了case '2':printf("not OK\n");break;default://如果上面的条件都不满足,那么执行defaultprintf("are u ok?\n");}return 0;
}
二、循环结构
1.while语句
关键字:while
while语句创建了一个循环,重复执行直到测试表达式为假或0。
while语句是一种入口条件循环,也就是说,在执行多次循环之前已决定是否执行循环。因此,循环有可能不被执行。
循环体可以是简单语句,也可以是复合语句。
形式:
while (表达式)
{
循环语句;
}
#include <stdio.h>int main()
{int a = 20;while (a > 10){scanf("%d", &a);printf("a = %d\n", a);}return 0;
}
2.do...while语句
do
{
语句序列
}while(循环控制表达式);
先执行语句,在判断条件
#include <stdio.h>int main()
{int a = 1;do{a++;printf("a = %d\n", a);} while (a < 10);return 0;
}
3.for语句
for (表达式1; 表达式2; 表达式3)
{
语句;
}
表达式1、表达式2和表达式3之间是用分号;
隔开的,千万不要写成逗号
循环过程:
求解表达式1。
求解表达式2。若其值为真,则执行 for 语句中指定的内嵌语句,然后执行第3步;若表达式2值为假,则结束循环,转到第5步。
求解表达式3。
转回上面第2步继续执行。
循环结束,执行 for 语句下面的语句。
#include <stdio.h>int main()
{int i;int sum = 0;for (i = 0; i <= 100; i++){sum += i;}printf("sum = %d\n", sum);return 0;
}
三、跳转语句
1.break语句
在switch条件语句和循环语句中都可以使用break语句:
1.当他出现在switch条件语句中时,作用是终止某个case并跳出switch结构
2.当它出现在循环语句中时,作用是跳出当前内循环语句,执行后面的代码
3.当他出现在嵌套循环语句中时,跳出最近的内循环语句,执行后面的代码
#include <stdio.h>int main()
{int i = 0;while (1){i++;printf("i = %d\n", i);if (i == 10){break; //跳出while循环}}int flag = 0;int m = 0;int n = 0;for (m = 0; m < 10; m++){for (n = 0; n < 10; n++){if (n == 5){flag = 1;break; //跳出for (n = 0; n < 10; n++)}}if (flag == 1){break; //跳出for (m = 0; m < 10; m++)}}return 0;
}
2.continue语句
在循环语句中,如果希望立即终止本次循环,并且执行下一次循环,此时就需要continue语句
#include <stdio.h>int main()
{int i = 0;while (1){i++;printf("i = %d\n", i);if (i == 10){break; //跳出while循环}}int flag = 0;int m = 0;int n = 0;for (m = 0; m < 10; m++){for (n = 0; n < 10; n++){if (n == 5){flag = 1;break; //跳出for (n = 0; n < 10; n++)}}if (flag == 1){break; //跳出for (m = 0; m < 10; m++)}}return 0;
}